Un texte de Anne Tasso écrit en 1998 en préambule d'un livre
sur le logiciel "Flash 5"
et son langage de programmation l'ActionScript, qui présente simplement la
notion d'algorithme sous l'angle de la cuisson d'un oeuf à la coque.
Je n'ai que très légèrement raccourci et modifié ce texte qui possède selon moi,
un fort potentiel pédagogique plus que jamais d'actualité.
source : Apprendre à programmer en ActionScript Par Anne Tassot
Editeur : Eyrolles 1998
nb: Ce texte d'introduction est parfait pour expliquer aux élèves la notion d'algorithme.
Je m'en sers lors de mes cours d'initiation à la programmation visuelle,
au jeux vidéo et à la robotique.
Ce n'est pas la machine-ordinateur en tant que telle qui possède toutes ces facultés, mais les applications ou encore les logiciels installés sur la machine.
Seul le programme fait de l'ordinateur un objet "intelligent", traitant l'information de façon à en extraire des valeurs pertinentes selon un objectif final.
"En l'occurence dans mes ateliers en élémentaire, créer un jeu vidéo, programmer un robot".
Un ordinateur sait calculer, compter, trier ou rechercher l'information, dans la mesure où un programmeur lui a donné les ordres à exécuter
et la marche à suivre pour arriver au résultat.
Déterminer l'algorithme, c'est trouver un cheminement de tâches à fournir à l'ordinateur pour qu'il les exécute.
Voyons comment s'y prendre pour le construire.
Créer une application, c'est décomposer cette dernière en plusieurs sous-applications qui, à leur tour,
se décomposent en micro-applications, jusqu'à descendre au niveau le plus élémentaire.
Cette démarche est appelée "analyse descendante".
Elle est le principe de base de toute construction algorithmique.
Chaque mot à son importance, et " à la coque" est aussi important que "oeuf".
Le terme à la coque implique que l'on doit pouvoir mesurer le temps avec présicion.
Notons que les ingrédients et les ustensiles nécessaires ne sont pas cités dans l'énoncé.
Nous sommes ainsi en mesure d'établir une liste de toutes les actions à mener pour résoudre le problème,
et de construire la marche à suivre permettant de cuire notre oeuf.
Chaque action est un fragment du problème donné et ne peut plus être découpée. Chaque action est élémentaire par rapport à l'environnement que nous nous sommes donné. En définissant l'ensemble des actions possibles, nous créons un langage minimal qui nous permet de cuire l'oeuf. Ce langage est composé de verbes(Prendre,Poser,Verser,Faire,Attendre...) et d'objets(Oeuf, Eau, Casserole,Coquetier...)
nb: Ce langage composé de verbes et d'objets me fait penser à la notion d'embrayeur utilisé par les linguistes,
que certains courants artistiques comme "support-surface" se sont approprié.
Les embrayeurs sont selon moi, ce qui engage le travail, ce qui met en mouvement, en action, les individus et les machines.
avancer-éviter-suivre-observer
Pour cet exemple, nous avons, en précisant les hypothèses, volontairement choisi un environnement restreint.
Nous aurions pu décrire des tâches comme "prendre un contrat EDF" ou
"élever une poule pondeuse",
mais elle ne sont pas utiles à notre objectif pédagogique.
© Anne Tassot 1998
Apprendre à programmer en ActionScript - Edition Eyrolles
ci-dessous swf-screenshot-Arnaud-Pérennès
2011 Animation interactive flash
"screenshot-vidéo"Musique : © Arnaud Pérennès 2011