WHILE: "Solange hier jemand ist, hau ich mir eine aufn Kopp'.
REPEAT: "Ich haue mir solange eine auf den Kopf, bis keiner mehr da ist".
Wenn ich nun ganz alleine bin, gehe ich im ersten Fall schmerzfrei aus, weil ich erst schaue, ob jemand da ist.
Im zweiten Fall hau ich erstmal drauf los und merke hinterher erst, wie blöd ich war.
In einem Workshop ging es um das Iterieren in einem Array.
Delphi-Quellcode:
i := 0;
While i < ElementAnzahl do begin
if A[i] = GesuchteZahl then
GesuchterIndex := i;
i := i + 1
end;
...
i := 0;
repeat
if A[i] = GesuchteZahl then
GesuchterIndex := i;
i := i + 1
until i >= ElementAnzahl;
Beide Schleifen machen auf den ersten Blick das Gleiche.
Aber was ist, wenn die ElementAnzahl=0 ist?