bonjour tout le monde!
je dois faire une procédure récursive et je ne comprends pas pourquoi mes affectations ne marchent pas pour a, b et c? ( l'énoncé c'est sachant que U0=0, U1=1 et U3=3 de plus, Un+3=Un +2*Un+1+ 3*Un+2)
voila ma procédure:
> restart:u0:=0:u1:=1:u2:=3:
> Suite2:=proc(n)
> local a,b,c:
> option remember:
> if n=0 then a:=u0+2*u1+3*u2:RETURN(a);
> elif n=1 then b:=u1+2*u2+3*a:RETURN(b);
> elif n=2 then c:=u2+2*a+3*b:RETURN(c);
> else RETURN(suite2(n-3)+2*Suite2(n-2)+3*Suite2(n-1)); fi:
> end proc;
Il y a un problème avec la procédure! si quelqu'un peut m'aider ça serait cool !
merci d'avance!
je vois :
- un problème d'initialisation de n
- un problème d'incrémantation de b
- un test d'arrêt qui n'existe pas.
init U0; U1; U2
init n
if n = 0 return U0
else if n = 1 return U1
else if n = 2 return U2
else if
defun proc(n)
n = 3 return U2
defun proc(n)
if n = 0 return U0
else if n = 1 return U1
else if n = 2 return U2
else if
je n'avais pas fini.
mauvaise manip pour éditer mon post.
je continue, et je poste quelque chose de propre.
...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :