Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
Delphi 10 Seattle Enterprise
|
Re: Rekursion zu Iteration
13. Nov 2006, 17:25
Zitat von shmia:
Bei der Beseitigung der Endrekursion setzt man also einfach die (Funktions-)Parameter auf die neuen Wert und steigt in der Funktion oben wieder ein.
Hier ist durchaus der GOTO-Befehl erlaubt, da er unnötiges Zuweisen der neuen Parameter vermeidet.
Delphi-Quellcode:
procedure MachwasIterativ(parameter);
Label start;
begin
start:
BerechneSchritt1;
if rekursionsbedingung then
begin
parameter := neueparameter;
Goto Start;
end;
end;
Das sehe ich nicht so.
Goto hat in Delphi / Pascal eigentlich nix zu suchen.
Delphi-Quellcode:
repeat
BerechneSchrit1;
if RekursionsBedingung then Parameter := NeuerParameter;
until not RekursionsBedingung;
oder zur Not:
Delphi-Quellcode:
var weiter: Boolean;
...
repeat
BerechneSchrit1;
weiter := KomplizierteRekursionsBedingung;
if weiter then Parameter := NeuerParameter;
until not weiter;
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
|