So nun mein 3. Tutorial. Ich hoffe es hilft den Anfängern etwas weiter...
1. Was sind Schleifen, und welche Arten gibt es?
Schleifen wiederholen eine oder mehrere Anweisungen sooft, bis eine Bedingung eintritt, oder eine Variable die Schleife beendet. In Delphi gibt es 3 verschiedene Schleifen:
- Repeat-Until-Schleife (Fußgesteuerte Schleife)
- While-Do-Schleife (Kopfgesteuerte Schleife)
- For-To-Do- / For-DownTo-Do-Schleife (Zählschleife)
2. Bedingungen (Ausdrücke)
Um die ersten beiden Schleifen zu beenden benötigen wir Bedingungen. Eine Bedingung wird in Delphi auch Ausdruck genannt. Bedingungen ergeben immer
true (wahr) oder
false (falsch).
Bedingungen werden mittels Vergleichsoperatoren geprüft und können mit Booleschen Operatoren kombiniert werden. Wenn man Bedingungen kombiniert, muss man jede einzelne Bedingung in Klammern schreiben.
Einige Vergleichsoperatoren:
- = gleich
- <> ungleich
- < kleiner als
- > größer als
- <= kleiner gleich
- >= größer gleich
Einige Boolesche Operatoren:
- and Bedingung gibt nur true zurück wenn alle mit and verbundenen Bedingungen true ergeben.
- or Bedingung gibt true zurück wenn eine oder mehrere mit or verbundenen Bedingungen true ergeben.
- not Kehrt die Bedingung um.
Beispiele für Bedingungen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var zahl: Integer; text: String; begin i := 10; text := 'Dies ist ein Text';
i = 10 not i = 9 i = 5 i > 5 text = 'Das ist ein Text' (text = 'Dies ist ein Text') and (zahl = 10) (text = 'Das ist ein Text') or (zahl = 10) |
So ich denke das reicht als Erklärung für Bedingungen.
3. Repeat-Until-Schleife (Fußgesteuerte Schleife)
Die Repeat-Until-Schleife wird immer mindestens einmal durchlaufen, da die Bedingung erst am Ende der Schleife geprüft wird. Ergibt die Bedingung
true, so wird die Schleife beendet. Ergibt die Bedingung
false wird die Schleife nocheinmal durchlaufen.
Beispielcode:
Delphi-Quelltext
1: 2: 3:
| repeat until BEDINGUNG(EN); |
4. While-Do-Schleife (Kopfgesteuerte Schleife)
Die While-Do-Schleife prüft die Bedingung immer am Anfang eines Schleifendurchlaufes. Es kann also vorkommen, das die Schleife nicht ausgeführt wird. Anders als die Repeat-Until-Schleife wird diese Schleife nur ausgeführt/wiederholt wenn die Bedingung
true ergibt.
Beispielcode:
Delphi-Quelltext
1: 2:
| while BEDINGUNG(EN) do |
Beachten Sie das Sie mehrere Anweisungen in
begin und
end; einschließen müssen.
5. For-To-Do- / For-DownTo-Do-Schleife (Zählschleife)
Die Zählschleife wird als einzigste Schleife nicht direkt mit einer Bedingung beendet. Für die Zählschleife benötigt man ebenfalls eine
lokale Variable ordinalen Typs ohne Qualifizierer (z. B.
Integer oder
Byte). Es hat sich so eingebürgert, das man die Variable
i nennt. Weitere Zählschleifen bekommen dann die Variablennamen
j,
k,
l, usw. Diese Namen sind jedoch keine Pflicht. Die Zählschreife ist folgendermasen aufgebaut:
Delphi-Quelltext
1: 2:
| for i := ANFANGSWERT to/downto ENDWERT |
Bei jedem Schleifendurchlauf wird nun der Wert in
i um eins erhöht (
to) oder verringert (
downto). Die Schleife wird beendet wenn der Endwert erreicht ist.
Beispielcode:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var i, j: Integer; begin for i := 1 to 10 do
for j := 10 downto 1 do |
Beachten Sie das Sie mehrere Anweisungen in
begin und
end; einschließen müssen.
5. Schleifen manuell unterbrechen
Mit dem Befehl
Break; in der Schleife wird die Schleife beendet.
6. Manuell zum nächsten Schleifendurchlauf wechseln
Mit
Continue; können Sie vorzeitig manuell zum nächsten Schleifendurchlauf wechseln. (Auch dieser Befehl darf nur innerhalb einer Schleife definiert werden.)
So ich hoffe es ist alles fehlerfrei.
Feedbacks erwünscht.