 |
Apprendre Maple Site dédié au logiciel de calcul formel Maple
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
arman
Inscrit le: 25 Déc 2006 Messages: 2
|
Posté le: 26 Déc 2006 16:30 Sujet du message: L'algorithme de boustrophédon |
|
|
Bonjour , g un projet a rendre pour le 8 janvier , il consiste a ecrire une procedure sur maple qui construira cette pyramide :
1
-> 0 1
1 1 0<-
- > 0 1 2 2
5 5 4 2 0<-
qui en fait corespond a l'algorithme de boustr
pour l'instant g deja ecrit une procedure mais elle ne marche pas ,
je cherche l'erreur , pouriez vous m'aider merci
Code: | Bous := proc (n::nonnegint)
local k,A;A:=1; # on definier la premier ligne comme etant egal a 1.
for k from 1 to n do
print(A); # cette commande doit etre donner avant la fonction sinon la premier ligne ne sera pas imprimer.
if irem(k,2)=0 then
print(A);
A:=seq(sum(A[j+2-p],j=1..p),p=2..k);
A:=(A,0);
else
print(A);
A:= seq(sum(A[p-j],j=1..p),p=2..k);
A:=(0,A);
end if;
end do;
end proc; |
Dernière édition par arman le 26 Déc 2006 20:47; édité 1 fois |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 26 Déc 2006 17:17 Sujet du message: |
|
|
Voici un code que j'avais déjà dans mes archives. Joyeux Noël.
Code: |
Observer la pyramide suivante d'entiers à l'ordre n=5 (lignes d'indices 0 à 5) :
1
0, 1
1, 1, 0
0, 1, 2, 2
5, 5, 4, 2, 0
0, 5, 10, 14, 16, 16
1° Ecrire une procédure permettant de générer une telle pyramide d'entiers à l'ordre n .
2° On note
a[k]
et
b[k]
les nombres de cette pyramide se trouvant respectivement à
gauche et à droite de la ligne d'indice k .
Vérifier que les développements limités des fonctions sécante et tangente en 0 à
l'ordre n s'écrivent respectivement :
/ n \
|----- |
| \ k |
| ) a[k] x | / (n + 1)\
sec(x) = | / ------------| + O\x /
|----- factorial(k)|
\k = 0 /
/ n \
|----- |
| \ k |
| ) b[k] x | / (n + 1)\
tan(x) = | / ------------| + O\x /
|----- factorial(k)|
\k = 1 /
La fonction sécante est définie par :
1
sec(x) = ------
cos(x)
Corrigé Ex 2:
Question 1:
boustrophedon:=proc(n::nonnegint,r::nonnegint)
option remember;
if n=0 and r=0 then 1 # initialisation
elif type(n,even) then # si n est pair,on démarre à l'extrémité droite
if r=n then 0 else boustrophedon(n,r+1)+boustrophedon(n-1,r) end if
else # si n est impair,on démarre à l'extrémité gauche
if r=0 then 0 else boustrophedon(n,r-1)+boustrophedon(n-1,r-1) end if
end if
end proc;
boustrophedon := proc(n::nonnegint, r::nonnegint) ... end;
for n from 0 to 8 do seq(boustrophedon(n,r),r=0..n) end do;
1
0, 1
1, 1, 0
0, 1, 2, 2
5, 5, 4, 2, 0
0, 5, 10, 14, 16, 16
61, 61, 56, 46, 32, 16, 0
0, 61, 122, 178, 224, 256, 272, 272
1385, 1385, 1324, 1202, 1024, 800, 544, 272, 0
Question 2:
taylor(sec(x),x=0,9);
1 2 5 4 61 6 277 8 / 9\
1 + - x + -- x + --- x + ---- x + O\x /
2 24 720 8064
for i from 0 to 9 do a[i]:=boustrophedon(i,0) end do:
sum((a[k]/k!)*x^k,k=0..9)+O(x^10);
1 2 5 4 61 6 277 8 / 10\
1 + - x + -- x + --- x + ---- x + O\x /
2 24 720 8064
taylor(tan(x),x=0,10);
1 3 2 5 17 7 62 9 / 10\
x + - x + -- x + --- x + ---- x + O\x /
3 15 315 2835
for i from 1 to 9 do b[i]:=boustrophedon(i,i) end do:
sum((b[k]/k!)*x^k,k=1..9)+O(x^10);
1 3 2 5 17 7 62 9 / 10\
x + - x + -- x + --- x + ---- x + O\x /
3 15 315 2835
|
|
|
Revenir en haut de page |
|
 |
arman
Inscrit le: 25 Déc 2006 Messages: 2
|
Posté le: 26 Déc 2006 20:50 Sujet du message: |
|
|
merci pour l'aide je crois que je vais plutot utiliser ce protocole plutot que de continuer a essayer de reparer le mien joyeux noel a toi aussi. |
|
Revenir en haut de page |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com
Apprendre Maple - ©
- Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.
|