Eine rekursive
Prozedur macht
imho auch nicht wirklich Sinn. Ich würde da doch eher eine rek.
Funktion mit Ergebnisrückgabe nehmen

.
Weil so wie du es jetzt hast ist es deutlich besser mit einer Iteration zu lösen - es ist sogar implizit
quasi iterativ, auch wenn sich die Prozedur natürlich selber aufruft. Aber du rechnest immer nur mit einer identischen Variablen. Durch das Zuweisen an "a" erstellst du eine Kopie des var-Parameters, die aber nicht an selbigen zurückgegeben wird. "Ergebnis" würde sich schlicht nicht ändern.
Delphi-Quellcode:
function Fak_rek1(n: integer): int64;
begin
if n>1 then
result := fak_rek1(n-1)*n;
else
result := 1;
end;
(ist eben aus'm Kopf -
könnte gehen

)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel