Atelier décloisonnés Sciences : Programmation Informatique
Mercredi 17 mars 2010 avec Alicia, Clara, Fleur, Coline, Romane, Dylan, William,

« Tortue, montre toi ! » En langage informatique « Small Basic Logo » cela s’écrit Turtle.Show()
« Tortue, avance de 200 pas !». Aussi simple : Turtle.Move(200)
« Tortue, tourne à droite ! » : Toujours aussi simple Turtle.TurnRight()
Et si on enchaîne ces trois ordres (on dit « instruction » dans le jargon de l’ordinateur ), on écrit son premier programme, qui commande une tortue obéissante :
Les enfants lancent ensuite le programme, en cliquant sur le triangle « Exécuter ». La tortue apparaît, avance de 200 pas et tourne à droite.
Question : comment lui faire dessiner un carré ?
Les enfants réfléchissent et finissent par trouver la réponse après quelques tatonnements : il suffit de répéter les mêmes ordres quatre fois. Les instructions s’enchaînent et la tortue dessine un carré.
C’est le moment d’aborder les boucles ! Il existe deux instructions qui demandent à l’ordinateur d’exécuter plusieurs fois les instructions qu’elles encadrent. Au passage, la tortue peut tourner de 90° avec l’instruction Turn(angle), ce qui revient au même que TurnRight mais ouvre d’autres horizons… Allons y :
For i=1 to 4 ==> La boucle est exécuté pour i valant 1, 2, 3 puis enfin 4 soit 4 fois
Turtle.Show()
Turtle.Move(200)
Turtle.Turn(90)
Endfor ==> Marque la fin de la boucle
Et pour obtenir un hexagone ? Les enfants cherchent et trouvent. Il faut faire 6 fois la boucle. Mais plus dur, il faut aussi changer l’angle pour que le nombre de tours multiplié par l’angle fasse toujours 360°. Il faut donc dire à la tortue Turtle.Turn(60)
Petit à petit on apprend de nouvelles instructions pour changer la couleur du crayon que tient la tortue, sa vitesse. On joue avec le nombre de tours et la valeur de l’angle, on insère une deuxième boucle et le résultat ne se fait pas attendre :
Turtle.Speed=10
For j=1 To 18
Turtle.PenDown()
GraphicsWindow.PenColor=GraphicsWindow.Getrandomcolor()
For i=1 to 9
Turtle.Move(150)
Turtle.Turn(80)
Endfor
Turtle.Turn(-20)
EndFor
Pour aller plus loin :
Pour continuer à la maison vous pouvez télécharger le logiciel gratuitement :
- Pour PC : Microsoft Small Basic et les nombreuses explications sur Framasoft ou une version libre La Tortue
- Pour Mac : ACSLogo
- Pour Mac, Linux et PC : XLogo
- Ou en ligne : Tortue Logo
La page sur le langage de programmation Logo sur Wikipédia avec d’autres liens de références ou de versions du logiciel.
Compte-rendu et animation de l’atelier : Daniel Jager







