Erstmaliges Programmieren in Maple: „Illegale Verwendung formaler Parameter“

  • Ich bekomme diesen Fehler immer wieder. Hier ist der Code (für GCD):

     Euc := proc (a, b) 
    if b = 0 then a;
    else c := b; 
    d := a mod b;
    b := d; a := c;
    end if;
    end proc;
     

    Ich verwende niemals Maple, weil es mir Kopfschmerzen bereitet Die Dokumentation ist ein Alptraum, aber diese Aufgabe muss in Maple erledigt werden. Wenn ich Probleme mit der einfachen GCD habe, sehe ich nicht, dass ich bis Mittwoch RSA und El Gamal schreibe: s

    edit: Festgelegt mit

     Euc := proc (a, b) 
    if b = 0 then a;
    else c := b; 
    d := a mod b;
    Euc(c,d);
    end if;
    end proc;
     

    Aber irgendein Ich Ich würde gerne noch wissen, was das Problem war, falls ich wieder etwas Ähnliches machen muss.

    22 November 2011
    iDontKnowBetter
1 answer
  • Ihre erste Version hat versucht, die Formalparameter der Prozedur zuzuweisen. Das war das Problem.

    Angenommen, Sie rufen Ihr Original Euc an und übergeben 12 für Parameter a und 8 für Parameter b. Im Rumpf von Euc, wie es in dieser Instanz ausgeführt wird, wird a mit 12 und a nicht mit einem Namen bewertet, dem Sie eine Zuweisung zuordnen können. Wenn Sie versuchen, eine Zuordnung zu a oder b in Euc vorzunehmen, wird dieser Fehler angezeigt.

    22 November 2011
    acer