Procédure récursive

Fermé
xman - 7 nov. 2012 à 12:47
 xman - 7 nov. 2012 à 13:24
je n'arrive pas a transformer cette procédure en une procédure récursive , pouvez vous m'aidez s'il vous plait. merci d'avance
procedure affiche;
var
a,b:integer;
begin
for a:=0 to 3 do
for b:=0 to 9 do
writeln(a*10+b);
end;

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
7 nov. 2012 à 13:02
Et qu'est-ce que tu as fait pour l'instant ?
0
j'ai pas pu , je ne comprends pas comment faire le passage récursif
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
7 nov. 2012 à 13:08
Il faut essayer... ça ne va pas se faire tout seul.
Déjà il faut enlever tes deux boucles, sinon c'est itératif.
Ensuite comme il te faudra quand même des valeurs de a et b, tu devras les passer en paramètres.

procedure afficheRecursif(a,b:integer)
begin
    // ...
    writeln(a*10+b);
    // ...
end;
0
if (a>=0) and (a<=3)then
if (b>=0) and(b<=9)then
writeln(a*10+b);
afficherecursif(a+1,b+1);

c'est comme ça ?
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
7 nov. 2012 à 13:20
Ce sera quelque chose dans ce genre là, mais là tu incrémentes a et b en même temps, et ça ne correspond pas à l'imbrication des boucles que tu avais en itératif.
0
svp aidez moi encore une demi heure et je passe mon examen ça sera cette procédure
0