![]() |
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
das hast Du:
Delphi-Quellcode:
das schätze ich meinst Du, wenn man von einer Schleife sprechen will (oder ich verstehe Dein Beispiel nicht):
var
zahl:Integer; begin Zahl:=1; Repeat Memo1.lines.Add(IntToStr(Zahl)); Zahl:=Zahl+1; Until Zahl<10; end;
Delphi-Quellcode:
var
zahl:Integer; begin Zahl:=1; Repeat Memo1.lines.Add(IntToStr(Zahl)); Zahl:=Zahl+1; Until Zahl>10; end; |
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
@Maya
Das ist der weitere besondere Unterschied zwischen den Schleifen
|
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
Zitat:
Zitat:
bei REPEAT UNTIL ein True = Abbrechen Man kann es sich auch ganz einfach merken: True = gehe zum nächsten Befehl (meist die nächste Quellcodezeile) - WHILE = geh in die nachfolgende Schleife rein - REPEAT = geh aus der vorherigen Schleife raus |
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
Ich denke, das kann man drehen und wenden wie man will, wenn man es nur zur Veranschaulichung nutzen möchte und es keinen direkten Nutzen/Zweck/Ziel hat.
Beide Versionen zeigen, dass diese Schleifen unterschiedlich funktionieren. :) |
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
Also für die Schule würde Ich vielleicht ein Beispiel bringen, welches richtig schön anschaulich ist.
Dazu verwendest du am besten stimmige Variablennamen: Beispiel: In ein Fass können 10 Eimer Wasser gefüllt werden. Das Fass darf nicht überlaufen und muss gefüllt werden.
Delphi-Quellcode:
Wenn das Fass mit 10 Eimern gefüllt ist, würdest du in der repeat Schleife einen Eimer rein kippen, dann würde das Fass überlaufen. In der While Schleife würde dies nicht passieren, weil du zuerst überprüfst ob die Bedingung TRUE ergibt.
var
FassIstVoll : Boolean; While not(FassIstVoll) do KippeEimerRein; repeat KippeEimerRein; until(FassIstVoll) Grüße |
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
uses
SysUtils; var Zahl1: Integer; Zahl2: Integer; begin repeat until (zahl1<>zahl2); Writeln('Zufallszahl: geben sie eine Zahl zwischen 0 und 20 ein. Sie haben 3 Versuche'); randomize; Zahl2:= Random(20); readln(Zahl1); if Zahl1=Zahl2 then write('Richtig es ist:'+IntToStr(Zahl2)); if Zahl1<Zahl2 then write('Falsch es ist zu klein'); if Zahl1>Zahl2 then write('Falsch es ist zu groß'); readln; writeln('Zweiter Versuch'); readln(Zahl1); if Zahl1=Zahl2 then write('Richtig es ist:'+IntToStr(Zahl2)); if Zahl1<Zahl2 then write('Falsch es ist zu klein'); if Zahl1>Zahl2 then write('Falsch es ist zu groß'); readln; writeln('Dritter Versuch'); readln(zahl1); if Zahl1=Zahl2 then write('Richtig es ist:'+IntToStr(Zahl2)); if Zahl1<Zahl2 then write('Falsch es ist zu klein'); if Zahl1>Zahl2 then write('Falsch es ist zu groß'); readln; if Zahl1>Zahl2 then write('Die richtige Zahl ist: '+IntToStr(zahl2)); if Zahl1<Zahl2 then write('die richtige Zahl ist: '+IntToStr(zahl2)); readln; try { TODO -oEntwickler -cKonsole Main : Hier Code einfügen } except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. is das richtig so????? is für zufallszahlen möchte aber wissen ob die schleife richtig is |
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
Editiere Deinen Beitrag doch bitte noch einmal, markiere den Code und drücke dann auf die "Helm"-Schaltfläche, um Delphi-Tags zu setzen. Dadurch wird der Quelltext viel lesbarer.
|
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
Zitat:
Ich muss(te) mich echt zusammenreißen, um nicht "deutlicher" zu werden... MfG Dalai |
AW: Unterschied While-Schleife <-> RepeatUntil-Schleife
.. was mag das "Hier Code einfügen bedeuten"?
Delphi-Quellcode:
Dein Schleifenrumpf mag ok. sein.
begin
try { TODO -oEntwickler -cKonsole Main : Hier Code einfügen } except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
Delphi-Quellcode:
Allerdings fehlt das was die Schleife tun soll.
repeat
until (zahl1<>zahl2); Da zahl1 und zahl2 nicht mit einem Wert vorbelegt (initialisiert) sind hast Du hier eine Endlosschleife, denn innerhalb der Schleife werden die Werte auch nicht geändert.
Delphi-Quellcode:
versuche :=0;
repeat Write('Bitte erste Zahl eingeben: '); readln(zahl1); Write('Bitte zweite Zahl eingeben: '); readln(zahl2); if (zahl1 = zahl2) then Write('Gewonnen') else Write('Ein neuer Versuch'); versuche := versuche +1; until (zahl1 <> zahl3) or (versuche < 3); Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz