Projekt mit
1 €
unterstützen?
So geht das *:


Step 12 - Programmsteuerung 4:

Die "While"-Schleife

Eine while-Schleife wiederholt die Befehlszeilen zwischen begin und end so lange, bis die Bedingung false ist.
Es wird dabei zuerst nach der Bedingung gefragt und dann erst, insofern diese wahr ist, die Anweisungen bearbeitet. Daher wird diese Schleife auch als "abweisende Schleife" bezeichnet.

Die Struktur:
  while Bedingung do
  begin
    // Anweisungen
  end;
  // (ent)sprechend: während irgendwas wahr ist mache irgendwas

  // Wann endet diese Schleife?
  while true do
  begin
     // Anweisungen
  end;

Kleines Beispiel zum Dividieren mit unbestimmten Zahlen aber mit einem Ergebnis in Ganzzahlen und mit Rest:
vorausgesetzt sind hier die Variablen divident:Real, divisor:Real, ergebnis:Integer und rest:Real.

var
  divident,
  divisor,
  ergebnis : Integer;
begin  
  ...
  while (divident = divisor) or  (divident > divisor) do
  begin
    divident := divident - divisor;
    ergebnis := ergebnis + 1;
  end;
  Showmessage('Lösung: '+ (inttostr(ergebnis)) + ' Rest: '+(FloatToStr(divident)));
end;

Viele haben ein Problem die while-Schleife und die If-Anweisung auseinanderzuhalten. Dabei ist es relativ einfach:
Die if-Anweisung tritt genau dann ein, wenn etwas wahr ist und die While-Schleife tritt solange ein, wie dies wahr ist. Es heist nicht umsonst "wenn wahr dann" also "if true then" und im Gegensatz dazu "während das_wahr_ist mache" also "while this_is_true do". Die while-Schleife wird also immer wieder wiederholt.


Da das Kommentarmodul dieser Seite zur Zeit neu überarbeitet werden muss, sendet bitte alle Fragen, Anregungen oder Probleme mit Betreff zu welchem Thema es sich handelt an folgende Mailadresse:


Hinweis:

Dieses Kommentar-Modul teilt seinen Inhalt mit dem gleichnamigen Kapitel im Delphi-Anfängerkurs. Daher kann es vorkommen, dass Fragen zu Lazarus im Anfängerkurs im Delphi-Anfängerkurs und umgekehrt stehen. Wenn ihr euch registriert, werdet ihr aber immer an die richtige Stelle weitergeleitet.
Zu dieser gemeinsamen Nutzung der Datenbank habe ich mich entschlossen, weil die Sprachelemente in Lazarus genauso wie in Delphi genutzt werden können.

www.marco-hetzel.de
www.delphi-lernen.de
www.lazarus-lernen.de

© 2006-2019 by Marco Hetzel , last modified 01.11.2018, 11:28

(* Unterstützung dient der Aufrechthaltung laufender Kosten für dieses Projekt.)