Atelier décloisonnés Sciences : Programmation Informatique

Mercredi 17 mars 2010 avec Alicia, Clara, Fleur, Coline, Romane, Dylan, William,

tortue

« 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 :

tortue1

Les enfants lancent ensuite le programme, en cliquant sur le triangle « Exécuter ». La tortue apparaît, avance de 200 pas et tourne à droite.

tortue2

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

tortue3

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 :

tortue4

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 :

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