Introduction à l’algorithmique

Ce dont on rêve tous, en parlant d’algorithmique, c’est d’écrire la logique d’un  programme sans  entrer trop vite dans les détails techniques d’un langage de programmation afin de garder une vue globale de l’algorithme. Le langage algorithmique représente un niveau de description intermédiaire entre le langage naturel et le langage de programmation.

L’algorithmique est à la base de l’informatique, c’est l’art de découper un problème complexe en tâches élémentaires, c’est une suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné. Pour bien fonctionner, un algorithme doit donc contenir uniquement des instructions compréhensibles par celui qui devra l’exécuter.

Langage algorithmique

Historiquement, pour décrire un algorithme, on le dessinait à l’aide d’organigrammes présentés sous une forme graphique avec des carrés, des losanges, etc… Aujourd’hui, cette représentation est quasiment abandonnée. C’est pourquoi on utilise généralement un langage naturel purement conventionnel qui n’est reconnu par aucune machine. Au contraire, le langage algorithmique Schema peut être exécuté sur une machine afin de pouvoir le traduire simplement dans un langage de programmation,  permettant ainsi de vérifier son exactitude.

Le processus de modélisation d’un problème par le biais de l’algorithme permet de faciliter la programmation en se rapprochant progressivement de la syntaxe d’un langage de programmation.

Schema, devrait permettre aux débutants d’aborder la programmation par le biais de la construction d’algorithme comme préalable au codage dans un langage de programmation.

Les raisons principales qui motivent la conception d’un langage algorithmique sont:

  • S’abstraire les particularités syntaxiques propres aux langages de programmation.
  • Faciliter l’apprentissage de la programmation grâce à une écriture universelle et simplifiée.
  • Permettre la vérification de la logique d’un algorithme par exécution dans sa version Swift ou Python

Schema a été conçu pour rendre un algorithme:

  • Lisible, pour être compréhensible même par un non-informaticien
  • Simple, pour pouvoir être traduit en n’importe quel langage de programmation
  • Précis: pour ne pas porter à confusion
  • Concis: un algorithme ne devrait pas dépasser une page
  • Structuré: pour identifier les différentes parties

Caractéristiques de Schema

  • Simplification de la syntaxe de la plupart des  pseudo-langage.algorithmique.
  • Suppression des séparateurs qui alourdissent la syntaxe(parenthèse, virgule.. ) non utiles à la syntaxe
  • Réduction du nombre d’instructions.
  • Abandon de certains mots réservés:  Variable, Constante, Programme, Fonction, Procédure …
  • Abstraction des structures de données classiques: File séquentielle, Liste , Arbre…
  • Traduction systématique vers un langage de programmation
  • Généricité des algorithmes.

copyright A rchitectures A pplicatives A vancées A3-Soft

mathAlgo