Accueil site Tableur Programmation Outils XML Téléchargement Informations



Algorithmique

Initiation

Exemple avec Logo 
 
Introduction
Initiation
  Généralités
  Première activité
  Calcul d'une racine carrée
  Exemple en géométrie
  Exemple avec Logo
Prolongement
  Symétrie centrale
  Parallélogramme
  Procédures avec Logo
  Récursivité avec Logo
Avec Algobox
  Fraction irréductible
  Fonction monotone
  Résolution d'équation 1
  Résolution d'équation 2
Avec Python
  Environnement
  Autres environnements
  L'essentiel
  Premier exemple
  Addition de fractions
  Cryptographie
  Statistiques / Probabilité
Avec Java
  Environnement
  L'essentiel
  Premier exemple
  Avec des classes
 
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 :
'Position initiale
Lever le crayon
Placer la tortue au début du tracé
'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) :
'Position initiale de la tortue
LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30:2)^2) TD 90 BC
'Figure
AV 30 TG 60 AV 30 TD 120 AV 30 TG 60 AV 30
' Fin (on cache la tortue)
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) :
'Position initiale de la tortue
LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30/2)^2) TD 90 BC
'Figure
REPETE 2
AV 30 TG 60 AV 30 TD 120
FIN REPETE
' Fin (on cache la tortue)
CT

L'instruction REPETE étant vue, ils peuvent maintenant imaginer comment finir la figure en imbriquant deux structures REPETE.

Une solution :
'Position initiale de la tortue
LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30/2)^2) TD 90 BC
' Figure
REPETE 3
REPETE 2
AV 30 TG 60
AV 30 TD 120
FIN REPETE
FIN REPETE
' Fin (on cache la tortue)
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:

'Position initiale de la tortue
LC TG 90 AV 30+30/2 TD 90 AV Racine(30^2-(30/2)^2) TD 90 BC
' Figure
REPETE 3
REPETE 2
AV 30 TG 60
AV 30 TD 120
FIN REPETE
FIN REPETE
' Retour à la position de départ
LC TD 90 AV Racine(30^2-(30/2)^2) TG 90 AV 30+30/2 TG 90
' Fin (on cache la tortue)
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 :


© Matabu mars 2020 - Tous droits réservés. Limitation à l'usage non commercial, privé ou scolaire.