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. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #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

  5. #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

  6. #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

  7. A voir en vidéo sur Futura
  8. #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

  9. #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

  10. Publicité
  11. #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

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