|
Algorithmique |
| |||||
Exemple de construction de figure avec Logo On peut utiliser le logiciel MiniLogo librement téléchargeable sur ce site à l'adresse : http://www.matabu.fr/MiniLogo/MiniLogo.htm. Il présente de nombreux avantages dont des exemples accessibles par le menu Fichier, ainsi qu'une aide complète sur le logiciel et la syntaxe utilisée. On trouvera également dans la rubrique du logiciel (adresse ci-dessus) des exercices d'entraînement avec solution et des activités. MiniLogo permet de créer des procédures, d'appeler d'autres procédures dans une procédure et utiliser la récursivité (appel dans une procédure de la procédure elle-même) et de faire des calculs sur les arguments des instructions et les paramètres des procédures. Première partie On veut obtenir la figure suivante (flocon), en sachant que la figure est centrée sur l'origine du repère (ci-dessous affiché), que tous les côtés ont la même longueur et tous les angles aigus mesurent 60° : Méthode : Commencer par écrire l'algorithme traçant la partie supérieure : L'algorithme minimal est le suivant : Lever le crayon Placer la tortue au début du tracé Baisser le crayon Tracer la figure Toutefois, placer la tortue au début du tracé, nécessite un calcul . Le parcours de la tortue sera le segment [OP] puis le segment [PB] Si a est la longueur d'un côté d'un triangle équilatéral : On prend a = 30 On a donc : Placer la tortue au début du tracé devient : LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30/2)^2) TD 90 BC Remarques : on peut aussi taper AV 45 et AV Racine(675) ou même AV 26. Mais pour la suite il vaut mieux garder tous les calculs en fonction de la longueur d'un côté. Et le programme LOGO est (pour la partie supérieure) : LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30:2)^2) TD 90 BC AV 30 TG 60 AV 30 TD 120 AV 30 TG 60 AV 30 CT On demande alors aux élèves d'ajouter une instruction (TD 120) au tracé de la figure pour tourner la tortue dans la direction du côté suivant soit : AV 30 TG 60 AV 30 TD 120 AV 30 TG 60 AV 30 TD 120 Les élèves doivent ensuite repérer une répétition d'une suite de commandes dans le tracé de la figure et utiliser la structure : REPETE n ............................... FIN REPETE Ce qui donne (toujours pour la partie supérieure) : LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30/2)^2) TD 90 BC REPETE 2 AV 30 TG 60 AV 30 TD 120 FIN REPETE CT L'instruction REPETE étant vue, ils peuvent maintenant imaginer comment finir la figure en imbriquant deux structures REPETE. Une solution : LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30/2)^2) TD 90 BC REPETE 3 REPETE 2 AV 30 TG 60 AV 30 TD 120 FIN REPETE FIN REPETE CT Taper ce programme dans la partie Editeur puis cliquer sur le bouton Ajouter, le code bascule dans la partie Programme. Pour exécuter le programme cliquer sur le bouton Exécuter. Deuxième partie Il faut maintenant ajouter des instructions pour ramener la tortue au point de départ (c'est à dire au centre du flocon qui ne sera pas toujours l'origine du repère) et dans sa position initiale: LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30/2)^2) TD 90 BC REPETE 3 REPETE 2 AV 30 TG 60 AV 30 TD 120 FIN REPETE FIN REPETE LC TD 90 AV Racine(30^2-(30/2)^2) TG 90 AV 30+30/2 TG 90 CT Le but est maintenant de faire de ce tracé une procédure réutilisable en paramétrant la longueur du côté. Copier le code précédant (CTRL + C) puis cliquer sur le bouton Procédures puis sur Nouvelle procédure et coller le code (CTRL + V). Pour le nom de la procédure, taper : FLOCONCENTRE. Si on veut passer la valeur du côté dans la procédure, il faut le préciser en indiquant le nom de la variable représentant la longueur du côté. Choisissons la variable long. Une variable dans LOGO doit être précédée de deux points (:long). Le nom de la procédure doit immédiatement être suivi des variables utilisées dans la procédure précédées d'un espace, ce qui donne donc ici : FLOCONCENTRE :long Il faut ensuite remplacer dans la code, chaque occurence de la longueur du côté (30) par :long. La fenêtre de la procédure est donc : Pour essayer cette procédure, il suffit de taper dans la partie Editeur, le code suivant : FloconCentre :30 CT Cliquer ensuite sur le bouton Ajouter puis sur le bouton Exécuter : le flocon de côté 30 se dessine à l'écran. Ecrire maintenant le programme pour obtenir à l'écran la figure suivante : |