AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Unterschied While-Schleife <-> RepeatUntil-Schleife
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschied While-Schleife <-> RepeatUntil-Schleife

Ein Thema von Crattely · begonnen am 26. Sep 2012 · letzter Beitrag vom 7. Mär 2013
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#11

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 27. Sep 2012, 06:58
das hast Du:
Delphi-Quellcode:
var
zahl:Integer;
begin
      Zahl:=1;
      Repeat
        Memo1.lines.Add(IntToStr(Zahl));
        Zahl:=Zahl+1;
      Until Zahl<10;
end;
das schätze ich meinst Du, wenn man von einer Schleife sprechen will (oder ich verstehe Dein Beispiel nicht):
Delphi-Quellcode:
var
zahl:Integer;
begin
      Zahl:=1;
      Repeat
        Memo1.lines.Add(IntToStr(Zahl));
        Zahl:=Zahl+1;
      Until Zahl>10;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 27. Sep 2012, 06:59
@Maya

Das ist der weitere besondere Unterschied zwischen den Schleifen
  • WHILE => Start-Bedingung ( i < 10 )
  • REPEAT => Abbruch-Bedingung not ( i < 10 ) oder ( i >= 10 )
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#13

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 27. Sep 2012, 09:09
Das ist der weitere besondere Unterschied zwischen den Schleifen
  • WHILE => Start-Bedingung ( i < 10 )
  • REPEAT => Abbruch-Bedingung not ( i < 10 ) oder ( i >= 10 )
Bei REPEAT wird erst der Schleifeninhalt ausgeführt und dann die Abbruchbedingung (eigentlich die Fortzetzungsbedingung) gebrüft,
bei WHILE ein True = Ausführen
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#14

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 27. Sep 2012, 09:10
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.
Status:
- FIAE
- Rechteinhaberin, ein Rüsselmops sein zu wollen
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#15

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 27. Sep 2012, 14:01
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:
var
  FassIstVoll : Boolean;

While not(FassIstVoll) do
  KippeEimerRein;

repeat
  KippeEimerRein;
until(FassIstVoll)
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.

Grüße
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Benutzerbild von stina
stina

Registriert seit: 6. Mär 2013
23 Beiträge
 
Delphi 2010 Professional
 
#16

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 7. Mär 2013, 12:51
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
Ann-Christin
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 7. Mär 2013, 12:57
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#18

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 7. Mär 2013, 13:00
is das richtig so?????
Auch wenn schon wieder jemand schneller war, frage ich mal ganz unvoreingenommen: Findest du den Code in deinem Beitrag lesbar?

Ich muss(te) mich echt zusammenreißen, um nicht "deutlicher" zu werden...

MfG Dalai
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Unterschied While-Schleife <-> RepeatUntil-Schleife

  Alt 7. Mär 2013, 13:55
.. was mag das "Hier Code einfügen bedeuten"?

Delphi-Quellcode:
begin

  try
  { TODO -oEntwickler -cKonsole Main : Hier Code einfügen }
  except
  on E: Exception do
    Writeln(E.ClassName, ': ', E.Message);
end;

end.
Dein Schleifenrumpf mag ok. sein.
Delphi-Quellcode:
repeat

until (zahl1<>zahl2);
Allerdings fehlt das was die Schleife tun soll.

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
Klaus

Geändert von Klaus01 ( 7. Mär 2013 um 16:36 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz