Unser Lehrer hat heute gemeint, dass man es möglichst vermeiden sollte aus Schleifen zu springen. Und wenn es nötig sein sollte, sollte man es im Schleifenkopf machen, also eine while-Schleife nehmen.
Ich habe das jetzt mal ausprobiert:
Delphi-Quellcode:
function IsPLZInArray(SonnenStundenListe: TSonnenStunden; PLZ: Integer): Boolean;
var
i: Integer;
CurrentPLZ: Integer;
begin
i := 0;
Result := False;
while (i < length(SonnenStundenListe) - 1) and (not Result) do
begin
CurrentPLZ := SonnenStundenListe[i, 0];
Result := CurrentPLZ = PLZ;
Inc(i);
end;
end;
Delphi-Quellcode:
function IsPLZInArray(SonnenStundenListe: TSonnenStunden; PLZ: Integer): Boolean;
var
i: Integer;
CurrentPLZ: Integer;
begin
i := 0;
Result := False;
for I := 0 to length(SonnenStundenListe) - 1 do
begin
CurrentPLZ := SonnenStundenListe[i, 0];
if CurrentPLZ = PLZ then
begin
Result := True;
Break;
end;
end;
end;
Also ich finde die for-Schleife leichter verständlich. Bei der while-Schleife habe ich fast einen Knoten ins Hirn bekommen, wegen der Abbruchbedingung. Das gilt für mich zumindest wenn es mehr als eine Abbruchbedingung gibt.
Was meint ihr?