Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

probleme d'affectation!

Posté par
made_in_ireland
09-05-09 à 19:44

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!

Posté par
made_in_ireland
re : probleme d'affectation! 09-05-09 à 19:47

une petite précision la procédure est sur maple!

Posté par
pgeod
re : probleme d'affectation! 09-05-09 à 21:05


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

Posté par
pgeod
re : probleme d'affectation! 09-05-09 à 21:08


je n'avais pas fini.
mauvaise manip pour éditer mon post.
je continue, et je poste quelque chose de propre.

...

Posté par
pgeod
re : probleme d'affectation! 09-05-09 à 21:30


init U0; U1; U2
init n
local a
if n = 0 a = U0
else if n = 1 a = U1
else if n = 2 a = U2
else if
  defun proc(n)
    a = 3U2 + 2U1 + U0
    U0 = U1
    U1 = U2
    U2 = a
    if (n > 3) proc(n - 1)
  end proc
  proc(n)
return a

...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !