Programme Scratch : scratch.mit.edu
séparer les rôles de l'ordinateur et de l'utilisateur :
L'ordinateur se comporte comme une personne à laquelle on pose le problème :
"calculer l'hypoténuse d'un triangle rectangle."
ORDINATEUR-PROGRAMME | UTILISATEUR
demander ( longueur du premier côté ? ) et attendre | 3 <-
mettre (variable a) à (réponse) | rien, l'ordinateur travaille
demander ( longueur du second côté ? ) et attendre | 4 <-
mettre (variable b) à (réponse) | rien, l'ordinateur travaille
mettre (variable a2) à ((a) * (a)) | rien, l'ordinateur travaille
mettre (variable b2) à ((b) * (b)) | rien, l'ordinateur travaille
mettre (variable h) à (racine(a2+b2)) | rien, l'ordinateur travaille
dire (rejoindre (rejoindre [l'hypoténuse est ] (h) | lit la réponse 5
Les réponses de l'utilisateur sont rangées dans des cases mémoire étiquetées
La case avec l'étiquette=variable (a) a servi à ranger la réponse 3
La case avec l'étiquette=variable (b) a servi à ranger la réponse 4
Ce qui permet de les retrouver pour les calculs qui suivent.
L'avantage de scratch sur python est qu'il ne peut pas planter par erreur de syntaxe
L'inconvénient, c'est qu'il est extrêmement rigide et compliqué
début du programme par :
la ligne jaune (événements) : quand (drapeau vert) est cliqué
la ligne bleue (capteurs) : demander (premier côté ?) et attendre
menu orange : Créer une variable [a]
la ligne orange (variables) : mettre [a] à (réponse)
déplacer mettre [ ] à ( )
sélectionner la variable a
déplacer (réponse) du menu bleu (capteurs) dans le trou blanc ( )
la ligne bleue (capteurs) : demander (second côté ?) et attendre
menu orange : Créer une variable [b]
la ligne orange (variables) : mettre [b] à (réponse)
menu orange : Créer une variable [a2]
la ligne orange (variables) : mettre [a2] à ((a) * (a))
déplacer mettre [ ] à ( )
sélectionner la variable a2
déplacer l'opérateur ( ) * ( ) du menu vert dans le trou blanc ( )
déplacer variable (a) dans le premier trou blanc ( )
déplacer variable (a) dans le second trou blanc ( )
ATTENTION à ne pas remplacer l'opérateur ( ) * ( ) par a
déposer (a) quand seul le trou est illuminé
menu orange : Créer une variable [b2]
la ligne orange (variables) : mettre [b2] à ((b) * (b))
déplacer opérateurs ( ) * ( ) du menu vert dans le trou blanc ( )
déplacer variable (b) dans le premier trou blanc
déplacer variable (b) dans le second trou blanc
menu orange : Créer une variable [h]
la ligne orange (variables) : mettre [h] à ((a2) + (b2))
déplacer (racine de ( )) du menu Opérateurs vert dans le trou blanc ( )
déplacer l'opérateur ( ) + ( ) dans le trou blanc ( ) de racine
déplacer la variable (a2) dans le premier trou blanc ( )
déplacer la variable (b2) dans le premier trou blanc ( )
la ligne violette (Apparence) : dire (regrouper( L'hypoténuse vaut ) et (h) )
déplacer (regrouper ( ) et ( )) dans le trou blanc ( )
écrire (L'hypoténuse vaut) dans le premier trou blanc ( )
déplacer la variable (h) dans le second trou blanc ( )