Probleme boucle for sur maple
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Probleme boucle for sur maple



  1. #1
    VauRDeC

    Probleme boucle for sur maple


    ------

    Bonjour, je voudrais écrire un petit programme sous maple mais il m'affiche un message d'erreur que je ne comprends pas...
    Voici, dans un premier temps, le programme:

    >b:=[1,2,3,4,5,6,7,34]:

    >fonct:=proc(n,l);
    for n from 1 to nops(b) do
    fonct:=n*cos(d)+l;
    od;
    end;

    >fonct(3,5);


    Et, il m'affiche le message suivant:

    Error, (in fonct) illegal use of a formal parameter

    Merci de bien vouloir m'aider
    A+

    -----
    Ce qui se conçoit bien s'énonce clairement

  2. #2
    aNyFuTuRe-

    Re : Probleme boucle for sur maple

    la variable n est une variable globale dans ton pg. Or pour la boucle for il te faut une variable locale tel que "i" qui va te permettre d'itérer un procédé... le pb vien de là

    P.S: c'est quoi d?
    Tu dois aussi initialiser la procédure avant d'itérer...
    Bref je ne vois pas trop ce que tu veux faire ^^
    « la sensation varie comme le logarithme de l'excitation ». loi de Weber-Fechner

  3. #3
    VauRDeC

    Re : Probleme boucle for sur maple

    "d" est juste une constante
    Et comment puis je régler ce problème de variable globale??
    En fait, je veux qu'il me fasse : Pour chaque éléments de la liste de b, je veux qu'il me donne, par exemple: fonct(2,8):=2*cos(d)+34 puisque l'élément 8 est 34

    Sinon, je ne vois pas ce que tu veux dire par initialiser
    Ce qui se conçoit bien s'énonce clairement

  4. #4
    anthony_unac

    Re : Probleme boucle for sur maple

    Citation Envoyé par VauRDeC Voir le message
    Bonjour, je voudrais écrire un petit programme sous maple mais il m'affiche un message d'erreur que je ne comprends pas...
    Voici, dans un premier temps, le programme:
    [I]
    >b:=[1,2,3,4,5,6,7,34]:

    >fonct:=proc(n,l);
    for n from 1 to nops(b) do
    fonct:=n*cos(d)+l;
    od;
    end;
    Bonjour,

    Je vous propose de remplacer for n from 1 to nops(b) do par : for n from 1 to 7

    Il manque juste le 34 à gérer ensuite mais il me semble que c'est le ... to nops(b) qu'il ne digère pas.

    Cordialement
    Anthony

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

    Re : Probleme boucle for sur maple

    Déja si je comprend bien tu veux calculer 1*cos(d)+l +2*cos(d)+l + ... + 34*cos(d)+l = 8l + cos(d) +2cos(d)+... + 34*cos(d) ?

    Pour se faire tu définis b::array avec b:=array(0..7,[1,2,3,4,5,6,7,34])

    fonct:=proc(b::array,l::float, d::float)
    local i,S,F;
    for i from 0 to 7 do
    S:=b[i]*cos(d)
    end do;
    F:=S+8l;
    return F;
    end proc;

    Ce qui n'allait pas dans ton pg c'était que 1/ tu confonds variables locales et arguments de la procédure
    2/ tu fais intervenir dans ton pg, le programme lui meme qui n'est toujours pas défini...
    « la sensation varie comme le logarithme de l'excitation ». loi de Weber-Fechner

  7. #6
    aNyFuTuRe-

    Re : Probleme boucle for sur maple

    Citation Envoyé par anthony_unac Voir le message
    Bonjour,

    Je vous propose de remplacer for n from 1 to nops(b) do par : for n from 1 to 7

    Il manque juste le 34 à gérer ensuite mais il me semble que c'est le ... to nops(b) qu'il ne digère pas.

    Cordialement
    Anthony
    Ce n'était pas le nops mais la variable n qui ne pouvait pas varier mais c'est vrai qu'il y avait aussi me semble t-il un problème à ce niveau la.
    « la sensation varie comme le logarithme de l'excitation ». loi de Weber-Fechner

  8. #7
    aNyFuTuRe-

    Re : Probleme boucle for sur maple

    Citation Envoyé par VauRDeC Voir le message
    En fait, je veux qu'il me fasse : Pour chaque éléments de la liste de b, je veux qu'il me donne, par exemple: fonct(2,8):=2*cos(d)+34 puisque l'élément 8 est 34
    Désolé j'avais pas lu ca... faut modifier la proc précédente alors (c'est plus simple ! ): il n'y a pas besoin de boucle for, tu n'itères aucun procédé si tu veux simplement une valeur ponctuelle.

    fonct:=proc(b::array,n,d,i)
    local A;
    A:=n*cos(d)+b[i]; ||||| i varie de 0 à 7 vu comme j'ai défini b
    return A;
    end proc;

    PAs plus compliqué !!
    « la sensation varie comme le logarithme de l'excitation ». loi de Weber-Fechner

  9. #8
    VauRDeC

    Re : Probleme boucle for sur maple

    Ok merci merci c'est cool man ça marche!!
    A+
    Ce qui se conçoit bien s'énonce clairement

Discussions similaires

  1. maple : boucle for
    Par invite1d93df33 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 13/04/2010, 18h07
  2. Problème boucle while en java
    Par thundertom dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 23/10/2009, 16h56
  3. [Maple]Entiers sur maple
    Par FonKy- dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 09/08/2007, 17h55
  4. "Surveiller" une boucle Maple
    Par GuYem dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 16/07/2007, 18h30
  5. Probleme de boucle FOR-Next
    Par zanzeoo dans le forum Électronique
    Réponses: 8
    Dernier message: 17/08/2004, 12h25