Synthèse et quiz
Synthèse: Algorithmes et Programmes
Comme vous venez de le voir, un algorithme est une séquence précise d'instructions qui résoud un problème ou effectue un calcul. Un programme, c'est un algorithme écrit dans un langage de programmation qui peut être exécuté par un ordinateur.
Les scripts que vous avez créés pour résoudre les problèmes de labyrinthes contiennent déjà les principales structures de contrôle que les programmeurs utilisent pour concevoir des algorithmes :
- Séquence : un algorithme est une séquence d'instructions précises,
- Sélection ou branchement conditionnel(if/else ou si/sinon) : un algorithme peut choisir deux chemins différents selon qu'une condition est remplie ou non,
- Répétition ou Itération : un algorithme peut répéter une séquence d'instructions.
Remarque : Les scientifiques ont démontré que ces trois structures de contrôle ('séquence', 'sélection', et 'répétition') suffisaient pour réaliser TOUS les algorithmes imaginables avec les intructions exécutables (ici avancer et tourner) . Autrement dit, tout algorithme peut êre exprimé par une combinaison d'instructions en séquences avec des sélections et/ou des répétitions.
Quiz sur les algos (cliquer sur le lien)
Les algorithmes sont partout
Maintenant que vous connaissez la définition d'un algorithme vous allez voir que les algorithmes sont partout, dans les tâches quotidiennes, par exemple, pour lacer ses chaussures ... Mais Ils sont plus ou moins rapides ... Savez vous le faire en moins de 2 secondes ?Eh bien, c'est possible avec cet algorithme :
Pour aller plus loin
Les informaticiens écrivent des algorithmes pour résoudre des problèmes.
Alan Turing, est un mathématicien anglais qui a formalisé la notion d'algorithme avec la machine de Turing. Il a également réussi à casser le code secret utilisé par les allemands pour communiquer pendant la Seconde guerre mondiale. Pour autant il n'a pas été reconnu à sa valeur, cherchez pourquoi, son histoire est très intéressante.
C'est Böhm et Giacopini qui ont démontré en 1966 que les séquences, sélections et répétitions sont des structures de contrôle suffisantes pour écrire tous les algorithmes imaginables. C'est le théorème de la programmation sctructurée. Ce théorème n'a pas qu'un intérêt mathématique, il a des conséquences directes sur la manière de "bien" programmer
Vocabulaire
Ci-dessous une table des termes techniques présentés dans cette leçon et que nous utiliserons pendant tout le cours. Vous verrez des tables de même type dans les autres leçons. Si vous passez sur un terme avec la souris, sa définition ou sa description apparaitra.
algorithme
structure de contrôle séquence |
sélection (ou branchement conditionnel)
répétition itération |