suivant: Quelques dessins doublement récursifs
monter: Récursivité ayant plusieurs appels
précédent: Le tapis carré
Table des matières
Index
Ces programmes se trouvent dans examples/recur/peano.cxx.
On trace la diagonale AC d'un carré ABCD.
Puis puis on partage les cotés de ce carrés en trois
partie égales. On obtient ainsi 9 carrés.
On remplace alors la diagonale du carré précédent par les
diagonales des 9 carrés de façon à avoir une ligne continue allant de A à C. On recommence le même processus avec les 9 carrés de façon à avoir une ligne continue allant de A à C, et ainsi de suite.....on s'arrête quand les segments à dessiner deviennent trop petits.
On a choisit comme paramètre les affixes des points A et B et d'utiliser la profondeur comme test d'arrêt.
On tape dans un éditeur de programme (que l'on ouvre avec Alt+p),
puis on valide avec OK :
ou on utilise la commande :
read("peano.cas") car ce progrmme se trouve dans le fichier
peano.cas.
//arc qui remplit le carre de cote x,y
peano(x,y,n):={
local u,v;
DispG();
if (n==0) {segment(x,y+3*v);return 0;}
u:=(y-x)/3;
v:=i*u;
peano(x,x+u,n-1);
peano(x+u+v,x+u,n-1);
peano(x+2*u,y,n-1);
peano(y+v,y+2*v,n-1);
peano(x+2*(u+v),x+u+2*v,n-1);
peano(x+(u+v),x+u+2*v,n-1);
peano(x+2*v,x+2*v+u,n-1);
peano(x+3*v+u,x+u+2*v,n-1);
peano(x+2*(u+v),y+2*v,n-1);
};
On tape par exemple :
peano(-i,3-i,3)
Vous pouvez voir les différentes étapes de la construction en faisant
successivement n = 1, 2, 3, 4 en utilisant le bouton stop si le tracé est
trop long.
suivant: Quelques dessins doublement récursifs
monter: Récursivité ayant plusieurs appels
précédent: Le tapis carré
Table des matières
Index
Documentation de giac écrite par Renée De Graeve