Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

PROCÉDURE RÉCURSIVE POUR COEFFICIENTS BINOMIAUX...

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Graphisme avec Maple
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Racine65



Inscrit le: 25 Mar 2018
Messages: 16

MessagePosté le: 04 Avr 2018 4:51    Sujet du message: PROCÉDURE RÉCURSIVE POUR COEFFICIENTS BINOMIAUX... Répondre en citant

Bonjour tout le monde,
J'aimerais s'il vous-plaît avoir votre précieuse aide pour un devoir que je dois remettre au plus vite possible et que je n'arrive pas à résoudre, il s'intitule comme suit:
Écrire une procédure récursive Maple qui prend en entrée deux nombres
n et k qui utilise l'identité binomiale :
binomial(n,k) = binomial(n-k, k)+ binomial (n-k, k-1)
pour retourner en sortie le coefficient binomial (n,k) , cette procédure ne
peut utiliser la commande Maple binomial.
Je vous en remerciements infiniment.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 05 Avr 2018 12:53    Sujet du message: Répondre en citant

Bonjour,

Je vous donne le modèle récursif de la suite de Fibonacci définie par :
pour tout n>1 , Fib(n)=Fib(n-1)+Fib(n-2) , et Fib(1)=Fib(2)=1

Code:


> Fib:=proc(n::posint)
>   if n<=2 then 1 else Fib(n-1)+Fib(n-2) end if
> end proc;

  Fib := proc(n::posint)
    if n <= 2 then 1 else Fib(n - 1) + Fib(n - 2) end if
end proc;


> Fib(9);
                                  34

> seq(Fib(k),k=1..9);
                     1, 1, 2, 3, 5, 8, 13, 21, 34




Je vous laisse écrire de façon analogue Comb(n::nonnegint, p::nonnegint) à deux variables entières positives ou nulles en pensant qu'on doit avoir n>=p et que Comb(n,0)=Comb(n,n)=1.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Racine65



Inscrit le: 25 Mar 2018
Messages: 16

MessagePosté le: 05 Avr 2018 22:26    Sujet du message: Répondre en citant

Bonjour Mr ALS,

Pour la procédure de Fibo, je l'avais déja fait au préalable, j'ai essayé de la prendre comme modèle, mais malheureusement ça n'a pas marché et je ne comprends toujours pas pourquoi, c'est pourquoi je vous demande, si vous pouvez la faire, j'aimerais bien la voir, c'est vraiment apprécié.
Merci encore et bonne journée.

Code:

> restart:
> bino:=proc(n::nonnegint,p::nonnegint):
> local n>=p
> if bino (n,0) and bino(n,n) then 1 do
> else bino(n,k)=bino(n-1,k-1)+bino(n-1,k) do
> end do
> end if
> end proc;

Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 06 Avr 2018 4:49    Sujet du message: Répondre en citant

Bonjour,

Voici la correction que je vous propose :

Code:

> restart:
> bino:=proc(n::nonnegint,p::nonnegint)
> if n<p then error "le premier argument doit être supérieur au second" else
>   if p=0 or p=n then 1
>    else bino(n-1,p-1)+bino(n-1,p) end if
> end if
> end proc:
>
> bino(10,4);

                                 210


Un message d'erreur apparaîtra lorsque la valeur de p est supérieure à celle de n. La procédure est doublement récursive, le cas p=n avec le résultat 1 sert lorsqu'on va arriver à n=0 et p=0 simultanément. Pour s'en assurer, rajouter la ligne print(n,p) juste après la ligne bino:=proc(n::nonnegint,p::nonnegint) pour voir les valeurs de n,p s'afficher en cours de procédure.

A bientôt.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Graphisme avec Maple Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
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


phpBB

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.