Procédures sous maple !
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Procédures sous maple !



  1. #1
    ichigo01

    Procédures sous maple !


    ------

    Salut à tous !

    Je ne sais pas si j'ai le droit de poser cette question ici mais j'ai un problème avec maple : Les procédures ne marchent pas chez moi ?
    Je fais une procédure simple, par exemple :

    fact:=proc(n)
    if n=0 then 1
    else n*fact(n-1)
    fi
    end:

    Mais ça ne donne rien !
    Merci !

    -----

  2. #2
    yogodo

    Re : Procédures sous maple !

    Oui c'est normal que ça ne fonctionne pas, tu n'as pas annoncé tes variables dans ton programme. Voila ce qu'il faut mettre pour calculer le factoriel d'un entier :

    fact:=proc(n);
    [COLOR="rgb(255, 0, 255)"]local[/COLOR] s,k;%on identifie les variables dont on va avoir besoin
    s:=1;%initialisation de la variable
    for k from 1 to n [COLOR="rgb(46, 139, 87)"]do[/COLOR]
    s:=s*k;
    [COLOR="rgb(46, 139, 87)"]od[/COLOR];
    print(s);%commande pour renvoyer ton résultat
    end;%fin de ta procédure

  3. #3
    yogodo

    Re : Procédures sous maple !

    Citation Envoyé par yogodo Voir le message
    Oui c'est normal que ça ne fonctionne pas, tu n'as pas annoncé tes variables dans ton programme. Voila ce qu'il faut mettre pour calculer le factoriel d'un entier :

    fact:=proc(n);
    [COLOR="rgb(255, 0, 255)"]local[/COLOR] s,k;%on identifie les variables dont on va avoir besoin
    s:=1;%initialisation de la variable
    for k from 1 to n [COLOR="rgb(46, 139, 87)"]do[/COLOR]
    s:=s*k;
    [COLOR="rgb(46, 139, 87)"]od[/COLOR];
    print(s);%commande pour renvoyer ton résultat
    end;%fin de ta procédure
    oups désolès fausse manip :

    fact:=proc(n);
    local s,k; %on identifie les variables dont on va avoir besoin
    s:=1; %initialisation de la variable
    for k from 1 to n [COLOR="rgb(46, 139, 87)"]do[/color]
    s:=s*k;
    [COLOR="rgb(46, 139, 87)"]od[/color];
    print(s); %commande pour renvoyer ton résultat
    end;%fin de ta procédure

  4. #4
    yogodo

    Re : Procédures sous maple !

    Citation Envoyé par yogodo Voir le message
    oups désolès fausse manip :

    fact:=proc(n);
    local s,k; %on identifie les variables dont on va avoir besoin
    s:=1; %initialisation de la variable
    for k from 1 to n [COLOR="rgb(46, 139, 87)"]do[/color]
    s:=s*k;
    [COLOR="rgb(46, 139, 87)"]od[/color];
    print(s); %commande pour renvoyer ton résultat
    end;%fin de ta procédure
    Mince je vais y arriver, il est tard c'est pour ça ^^

    fact:=proc(n);
    local s,k;%on identifie les variables dont on va avoir besoin
    s:=1;%initialisation de la variable
    for k from 1 to n do
    s:=s*k;
    od;
    print(s);%commande pour renvoyer ton résultat
    end;%fin de ta procédure

  5. A voir en vidéo sur Futura
  6. #5
    cleanmen

    Re : Procédures sous maple !

    salut,
    je pense que ce qui ne va pas dans ton probleme c'est que tu ne lui demandes pas de te renvoyer le résultat avec "then 1". Je propose de passer par une variable intermédiaire, (tt en gardant la récursivité)

    fact := proc (n)
    e := 1;
    if n = 1 then e = 1 else e := fact(n-1)*n fi;
    e;
    end

  7. #6
    cleanmen

    Re : Procédures sous maple !

    en y repensant ton truc devrait marcher quand meme... t'es sur de ne pas avoir oublié des ";"? (on peut rêver^^)

  8. #7
    blablatitude

    Re : Procédures sous maple !

    euh manque des virgules ou des point virgule

    fact:=proc(n),
    if n=0 then 1
    else n*fact(n-1)
    fi,
    end;

    (enfin ça fait longtemps que j'ai pas fait du Maple, faut peut être des print non ?)

  9. #8
    invite81055034

    Re : Procédures sous maple !

    Salut,

    Je viens de copier coller ton code source original dans maple 13 et ça marche sans problèmes ... (Après c'est peut être parce que c'est Maple 13 et qu'il est plus "laxiste" sur la syntaxe ^^ )

  10. #9
    cleanmen

    Re : Procédures sous maple !

    Citation Envoyé par blablatitude Voir le message
    euh manque des virgules ou des point virgule

    fact:=proc(n),
    if n=0 then 1
    else n*fact(n-1)
    fi,
    end;

    (enfin ça fait longtemps que j'ai pas fait du Maple, faut peut être des print non ?)
    a priori, maple affiche son dernier calcul effectué s'il n'y a pas print, donc bien n! ici.

  11. #10
    invite81055034

    Re : Procédures sous maple !

    @Yogono,
    Je pense que le but ici est d'illustrer les procédures récursives.
    Après les itératives marchent sans soucis mais sont moins "classes" ^^

Discussions similaires

  1. Fonction sous Maple
    Par invitedf74db20 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 14/10/2009, 18h58
  2. Coup de pouce sous Maple
    Par invitec6e8feaa dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 16/04/2008, 15h01
  3. Petit programme sous Maple
    Par invitea87a1dd7 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 03/06/2007, 15h07
  4. Retournement temporel sous Maple ?
    Par invite1c70acd0 dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 31/12/2006, 14h17
  5. calculs sous maple
    Par invite0993bdfb dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 03/09/2006, 19h12