Zum Navigations-Menü
Kein Layout? Lesen Sie hier, warum...

Turbo Pascal

Schleifen


Webplain.de » Turbo Pascal » Schleifen

Turbo Pascal - Schleifen

Ein lineares Programm arbeitet einfach alle Befehle nacheinander ab. Mit Schleifen ist es möglich, einen Programmteil (Befehlssatz) solange zu wiederholen, bis eine bestimmte Bedingung erfüllt oder nicht erfüllt wird.
Man unterscheidet zwischen kopf- und fußgesteuerten Schleifen:

Lineares Programm

begin
  eingabe;
  verarbeitung;
  ausgabe;
end.

Diese drei Befehle werden einmal nacheinander abgearbeitet und das Programm danach beendet.

Kopfgesteuerte Schleife

begin
  antwort := 'j';
  while antwort <> 'n' do
  begin
    eingabe;
    verarbeitung;
    ausgabe;
    abfrage;
  end;
end.

Solange die Antwort etwas Anderes als 'n' ist, werden die Befehle zwischen begin und end; wiederholt.

Fußgesteuerte Schleife

begin
  repeat
    eingabe;
    verarbeitung;
    ausgabe;
    abfrage;
  until antwort = 'n';
end.

Die Befehle zwischen repeat und until werden wiederholt, bis die Antwort 'n' ist.

Zählschleife

Hier wird eine Variable bei jedem neuen Durchlauf um eine Einheit inkrementiert (erhöht) oder dekrementiert.

begin
  for i := 0 to 10 do
  begin
    verarbeitung;
    ausgabe;
  end;
end.

Mit to wird die Steuervariable immer um 1 inkrementiert, mit downto um 1 dekrementiert.

Mögliche Operatoren für Schleifen sind = (gleich), <> (ungleich), < (kleiner), > (größer), IN (bestimmte Eingabe), keypressed (Tastendruck).

Kommentare

Es gibt 20 Kommentare zu »Schleifen«.
Neuen Kommentar posten...

1 Am 09. Okt. 2002 schrieb Anna-Marie Beissner:

Wodurch Unterscheidet sich die FOR-DO_ Schleife von den andren Schleifen?

2 Am 09. Okt. 2002 schrieb Anna-Marie:

Wodurch unterscheiden sich die REPEAT-Until-
Schleife un die WHile-Do-Schleife????????

3 Am 24. Nov. 2002 schrieb Chillmaster:

Die Repeat wird mindestens einmal durchlaufen, auch wenn die Abbruchbedingung von Anfang an erfüllt wird.
Die While Schleife wird nicht durchlaufen, wenn von Anfang an die Abbruchbedingung erfüllt ist.
Die For - Schleife umfasst in sich schon mehrere Befehle, die bei den anderen Schleifen erst eingegeben werden müssten. Sie sagt inkrementiere (dekrementiere) den Wert von x ab, bis der Wert y erreicht hat, dann brich die Schleife ab.

4 Am 04. Nov. 2003 schrieb ChillyBoy:

Hier noch etwas interresantes:

Pseudocode

   WHILE bedingung DO
     anweisungsfolge
   END WHILE

Die Abweisschleife ist ein Spezialfall des verallgemeinerten Zyklus:

   LOOP
     WHEN NOT bedingung THEN EXIT
     anweisungsfolge
   END LOOP

5 Am 28. Nov. 2003 schrieb insomniac:

nabend!
wieso kann man bei der FOR -DO schleife keine variabeln einsetzten z.b.:
FOR i:=0 to X DO write(i);
bei mir meldet der dann einen "unknown identifier"
wie kann ich das denn mit variabeln machen, ist das überhaupt möglich?
mfg peter

6 Am 21. Jan. 2004 schrieb Ai:

Da hast du dann warscheinlich dein "O" und "X" nicht deklariert!!!
Und bei der FOR-DO Schleife KEINE reellen Zahlen!!!!!

7 Am 23. Apr. 2004 schrieb Jan:

Super Site, hat mir beimLernen für unsere NAturwissenschafts-Arbeit geholfen!

Bis denne Jan

8 Am 13. Jan. 2005 schrieb Turboblaster:

Ich hab eine kurze Frage: und zwar, was ist eigentlich, wenn man bei einer While-Do Schleife folgendes schreibt:

"While false do ..."

Es gibt zwei möglichkeiten, wie man das deuten kann: etweder is der ausdruck falsch und es fehlt ein bezeichner (z.B. "While bezeichner:=false do ...") oder wenn das vohergehende falsch ist, dann wir die schleife aktiv.
könnt ihr mir sagen, was nun richtig ist?! wäre cool ;)
bis dann, turboblaster

9 Am 25. Mär. 2005 schrieb engel:

wie sieht ein programmablaufplan einer for-to-do schleife eigentlich aus?

10 Am 13. Sep. 2005 schrieb franz:

wie kann ich die for to do schleife runterzählen lassen von i=10 auf 0

11 Am 23. Sep. 2005 schrieb Lugi:

Zitat:


Mit *to* wird die Steuervariable immer um 1 inkrementiert, mit *downto* um 1 dekrementiert.



...denk ich mal.

12 Am 01. Feb. 2006 schrieb Domini Gründler:

Was ist die While-do Schleife konkret?

13 Am 08. Feb. 2006 schrieb IceThunder:

"Was ist die While-do Schleife konkret?"
- Die while do-Schleife führt einen Anweisungsblock solange aus, wie die Bedingung, die in der Schleife angegeben wurde, gültig ist. Ist die Bedingung nicht mehr true, also false, wird die Schleife abgebrochen.

14 Am 31. Mär. 2006 schrieb Black Ghost:

Supi, endlich weiss ich wie die Kopfgesteuerte Schleife geht, dadurch kann ich gleich am anfang  mein Programm beenden lassen, wen es erwünschr ist, Danke

15 Am 17. Sep. 2006 schrieb Maddin:

" Fußgesteuerte Schleife
begin
  repeat
    eingabe;
    verarbeitung;
    ausgabe;
    abfrage;
  until antwort = 'n';
end.
 
Die Befehle zwischen repeat und until werden wiederholt, bis die Antwort 'n' ist. "

ich hab die Schleife in meinem Prgramm eingebaut aber es funktioniert einfach nicht :(

bei der "Abfrage" was soll ich da reinschreiben?



Danke im voraus :D

16 Am 18. Sep. 2006 schrieb kosmus:

Kann ich eine repeat-schleife auch erst enden lassen wenn 2 bedinugen erfüllt sind?

z.B.

begin
  repeat
    bla;
    bla:
  until antwort = 'a';
  until antwort2 = 'b':
end.

so gehts nich, aba wie geht es dann?

17 Am 25. Sep. 2006 schrieb mabako:

Mit
  until (antwort = 'a') AND (antwort2 = 'b');

18 Am 10. Apr. 2007 schrieb Catullus:

wie oft wird eine repeat until- und eine while-schleife in der sekunde wiederholt?

19 Am 02. Nov. 2007 schrieb Luke:

Wie mache ich es wenn die Repeat Schleife abgebrochen werden sollen, wenn entweder eine oder die andere Bedingung erfüllt ist?

Ich hab das so probiert:

begin
 repeat
  x := readkey;
 until (x = 'a') OR (x = 'b');
end.

Geht nicht.

20 Am 16. Nov. 2007 schrieb Unkreativ:

begin
 repeat
  x := readkey;
 until (x = 'a') OR (x = 'b');
end.

müsste eigentlich funktionieren. ansonsten probiers mal mit

begin
 repeat
  readkey(x);
 until (x = 'a') OR (x = 'b');
end.

Neuer Kommentar

Richten Sie generelle Fragen bitte ins Turbo Pascal-Forum!








Webplain.de » Turbo Pascal » Schleifen

Nach oben
© 2000-2010 Clemens Weiß | Webplain.de
Link zu dieser Seite | Letzte Änderung: 26. Okt. 2008