programme meilleur; type vec: tableau 1..6 de entier; procedure boucle(val n:entier; ref T:vec); debut si n=0 alors pour i allant de 1 a 6 par pas de 1 faire printf(" %i",T[i]) finpour; printf("\n"); sinon pour i allant de 1 a 3 par pas de 1 faire T[n]:=i; boucle(n-1,T) finpour finsi fin finprocedure; procedure afficher(val n:entier); debut si n>9 alors afficher(n/10) finsi; printf("%c",n%10+'0') fin finprocedure; procedure hanoi(val n,aa,b,c:entier); debut si n>1 alors hanoi(n-1,aa,c,b) finsi; printf("deplacer %i a %i\n",aa,b); si n>1 alors hanoi(n-1,c,b,aa) finsi /* corrigé le 11/10/06 ! */ fin finprocedure; fonction puissance(val x:reel; val i: entier): reel; /* i strictement positif */ var p:reel; debut si i=1 alors retourne x sinon p:=puissance(x,i/2); si i%2=0 alors retourne p*p sinon retourne p*p*x finsi finsi fin finfonction; var TAB:vec; debut printf("1.1^100=%f\n",puissance(1.1,100)); hanoi(6,1,2,3); afficher(1234567); printf("\n"); boucle(6,TAB) fin.