next up previous contents index
suivant: Les polygones réguliers monter: D'autres exemples d'activités précédent: Le plan de la   Table des matières   Index

La croix de pharmacie

Faire le tracé d'une croix ayant la forme d'un plus.
Faire le tracé du contour externe d'une croix de pharmacie (les branches de la croix sont des carrés).
Faire le tracé de 4 croix emboitées à l'image des croix de pharmacie.
-Analyse d'un dessin en le décomposant en éléments pertinents.
-Essayer d'avoir une écriture consise.
-Première approche de la notion de paramètres.
-Première approche de la notion de boucle pour.
plus(a):={
repete(4,avance(a),recule(a),tourne_gauche);
}
croix(a,b):={
repete(4,avance(a),tourne_gauche,avance(b),tourne_gauche,avance(a),tourne_droite);
}
deplace(b):={
saute(b);pas_de_cote(-b);
}
Puis, on veut de plus que la position d'arrivée de la tortue soit la même que celle de départ, on tape :
plus(60);
deplace(10);
croix(60,20);
deplace(10);
croix(60,40);
deplace(10);
croix(60,60);
deplace(-30);
Puis on définit :
croix_pharmacie(a):={
plus(a);
deplace(a/6);
croix(a,a/3);
deplace(a/6);
croix(a,2*a/3);
deplace(a/6);
croix(a,a);
deplace(-a/2);
}
On remarque que plus(a) fait le même dessin que croix(a,0), l'écriture de la procédure plus est donc inutile. On veut de plus que la position d'arrivée de la tortue soit la même que celle de départ et on veut utiliser une boucle pour, on tape :
croix_pharmacie(a):={
pour n de 0 jusque 3 faire croix(a,n*a/3);deplace(a/6);fpour;
deplace(-2*a/3);
}
On peut aussi écrire une procédure récursive, mais on a alors besion de 2 paramètres a,b : cette procédure ne dessine rien si a<b et dessine les croix emboitées avec 10 pas d'écrt jusqu'a ce obtenir la croix(a,a).
On tape :
croix_pharma(a,b):={
si b<=a alors
croix(a,b);
deplace(10);
croix_pharma(a,b+20);
deplace(-10);
fsi
}
puis on tape :
croix_pharma(60,0)


next up previous contents index
suivant: Les polygones réguliers monter: D'autres exemples d'activités précédent: Le plan de la   Table des matières   Index
Documentation de giac écrite par Renée De Graeve