Rekursionen mit Mathcad < MathCad < Mathe-Software < Mathe < Vorhilfe
|
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich habe versucht einen rekursiven Algorithmus mit Mathcad zu programmieren. Den zu erklären, wäre zu umfangreich - an einem einfacheren Beispiel (Fakultät) tritt das gleiche Problem auf:
(Initialisierung, funktioniert)
Ini(g):=| for i [mm] \in [/mm] 0..g
| [mm] v_{i} [/mm] <- 1
| v
k:=Ini(127)
(Berechnung, funktioniert nicht)
Fak(r):=| for j [mm] \in [/mm] 0..r
| [mm] k_{j} [/mm] <- | [mm] (k_{j-1}*j) [/mm] if (j > 0)
| | 1 otherwise
| k
Das Ergebnis ist nun aber nicht die Fakultät, sondern 0,1,2,.... Also der Initialisierungwert von k mal j. Die Zuweisung an k erfolgt offenbar erst nach dem kompletten Schleifendurchlauf.
Wie kann man das nun anders schreiben, damit es doch funktioniert?
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:20 Sa 19.05.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|