Labyrinthes, algorithmes et programmes

Commençons à programmer

App Inventor est construit sur une plate-forme de programmation à base de BLOCS appelée Blockly. L'exercice qui suit vient de "Hour of Code" et Code.org. Cette Heure de Code à laquelle vous avez peut-être participé est une introduction à l'informatique, pour démystifier la programmation. Cet exercice vous aidera à percevoir le type de programmation que vous allez pratiquer.
Vous allez commencer à programmer en écrivant des petits programmes ' Blockly ' (que l'on appelle des scripts) pour résoudre des problèmes de labyrinthes. Viendrez-vous à bout les 20 objectifs ?

Cliquez sur le premier labyrinthe pour commencer!

Vous pouvez fermer les vidéos en anglais. Par contre, lisez bien les instructions et les commandes qui sont en français.
(Si c'est en anglais ou si vous préférez une autre langue, vous pourrez la choisir avec le bouton en bas à gauche)

Algorithmes et Programmes

Comme vous venez de le voir dans cet exercice, 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é sur 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 (ici des blocs),
  • Sélection (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 formellement démontré que l'utilisation de ces trois structures de contrôle ('séquence', 'sélection', et 'répétition') suffisait pour réaliser TOUS les algorithmes imaginables. Autrement dit, tout algorithme peut êre exprimé par une combinaison d'instructions qui sont des séquences, des sélections ou des répétitions.

Les algorithmes sont partout

Maintenant que vous connaissez la défintion d'un algorithme et que vous avez une idée de ce que ça veut dire, vous allez vous apercevoir que les algorithmes sont partout ! En grandissant, nous apprenons plein de choses qui sont des algorithmes permettant d'accomplir des tâches quotidiennes. Par exemple, nous savons lacer nos souliers ... Mais les algorithmes sont plus ou moins rapides ... Savez vous lacer une chaussure en moins de 2 secondes ?
Eh bien, c'est possible avec cet algorithme :

Pistes de réflexion

Les informaticiens écrivent des algorithmes pour résoudre des problèmes, et les séquences, sélections et répétitions sont des structures de contrôle suffisantes pour écrire tous les algorithmes imaginables.

Tout ce que l'on peut concevoir peut faire l'objet d'un algorithme ...
A l'inverse, existe t-il des problèmes - pour lesquels une soluion existe - qui ne peuvent pas être résolus par un algorithme ?
Ahaah ... Qu'en pensez vous ?

C'est une des questions que nous traiterons dans ce cours. Dans quelques semaines vous aurez la réponse !

Terminologie

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
algorithme
structure de contrôle
séquence