dessin logo linkedinflickrdessin logo bandcamp dessin logo soundcloud dessin logo vimeo dessin logo twitter  dessin logo cv dessin bio links youtube

"Algorithme de l'oeuf à la coque"

 

A la source d'un programme

 

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.





swf

 

Vous savez écrire, dessiner, imprimer, traiter une image... avec un ordinateur.


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.



Un ordinateur sans programme
n'a aucune utilité.


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".



Ainsi créer un programme, une application, c'est apporter de l'esprit à l'ordinateur.


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.



Cette marche à suivre s'appelle
un algorithme.


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.



Ne faire qu'une seule chose à la fois.


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.



Comment cuire un oeuf à la coque.


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é.



Supposons que, pour cuire notre oeuf,

nous soyons en possession
des ustensiles et ingrédients suivants.

     

  1. casserole.

  2. plaque électrique.

  3. eau.

  4. oeuf

  5. coquetier

  6. minuteur

  7. électricité

  8. table

  9. cuillère
  10.  



En listant
des ingrédients et des ustensiles,
nous définissons un environnement,
une base de travail.


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.



Liste des opérations.

  1. Verser l'eau dans la casserole, faire bouillir l'eau.

  2. Prendre la casserole, l'oeuf, de l'eau, le minuteur, le coquetier, la cuillère.

  3. Allumer ou éteindre la plaque électrique.

  4. Attendre que le minuteur sonne.

  5. Mettre le minuteur sur 3 minutes.

  6. Poser la casserole sur la plaque, le coquetier, le minuteur sur la table, l'oeuf dans la casserole, l'oeuf dans le coquetier.


Cette énumération
est une description
de toutes les actions nécessaires
à la cuisson d'un 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.


 

"Les embrayeurs"

avancer-éviter-suivre-observer


avancer-éviter-suivre-observer



La taille du langage,
c'est à dire
le nombres de mots qu'il renferme,
est déterminée par l'environnement.


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

fla







 

 

©  Mouad "Rêve de mer"

 2011 Animation interactive flash

"screenshot-vidéo"

Musique : © Arnaud Pérennès 2011

 

 

 

Les énergèmes - Mattéo

ActionScript-Flash-livres

 

"ActionScript-Flash-Macromédia"

 

 

ActionScript-Flash

 

"Ne pas confondre le JavaScript et L'ActionScript".

 

 

ActionScript-JavaScript-

 

"Le lingo, argot en Anglais et Director."

 

 

Director-Lingo-Flash4

returnhautdepaget