suivant: Les polygones réguliers
monter: D'autres exemples d'activités
précédent: Le plan de la
Table des matières
Index
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)
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