ΚΕΦΑΛΑΙΟ 11

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ

ΕΝΤΟΛΗ REPEAT

 

Ο λόγος που χρησιμοποιούμε βρόγχους είναι όταν θέλουμε να επαναλάβουμε ένα κομμάτι κώδικα πολλές φορές

 

Ο Βρόγχος   Repeat…Until   
 

Συντάσσεται έτσι:


Repeat

«Κώδικας για επανάληψη»;

 

Until «Συνθήκη»;

 

 

x:=0;

Repeat

 

x:=x+1;

……..

 

Until  x>=10

Αρχική τιμή του x ίση με 0

 

Επανέλαβε μέχρι το x

να γίνει μεγαλύτερο ή ίσο από 10

 

Σε κάθε επανάληψη το x αυξάνει κατά 1

 

Θα εκτελεστούν 10 επαναλήψεις

 

 

ΠΡΟΣΟΧΗ:

 

Στην While και την Repeat-Until υπάρχει “πάντα” μια μεταβλητή (στην περίπτωση του παραδείγματος η x) η οποία πρέπει έξω από το loop να αποκτήσει αρχική τιμή (στο παράδειγμα x:=0;) και μέσα στο Loop να μεταβάλλεται η τιμή της (x:=x+1;).

 

 

 

Παράδειγμα

 

Τυπώνει τους αριθμούς από το 0 ως το 9

 

Program P1;

var a :integer;

 

begin

 

a := 0;
 

Repeat

writeln(a);

a := a + 1;

Until (a > 9);
 

End.

 

 

Πρώτα δίνουμε αρχική τιμή στη μεταβλητή a  :=0;. 
Μέχρι το a να γίνει μεγαλύτερο από 9 τυπώνει το a και στη συνέχεια προσθέτει 1. Σε κάθε επανάλυψη του βρόχου το a αυξάνει κατά 1.  Άρα το a   θα παίρνει τις τιμές 0,1,2,3,4,5,6,7,8,9.   

Οταν το a γίνει ίσο με 10 (όπου a>9) θα τερματιστεί ο βρόγχος επειδή ΔΕΝ θα ισχύει η συνθήκη και στην συνέχεια θα τερματιστεί το πρόγραμμα.

 

 

Διαφορές While και Repeat-Until

 

Η While έχει begin και end; ενώ η Repeat-Until δεν έχει.

Η While  πρώτα ελέγχει και μετά εκτελεί ενώ η Repeat-Until πρώτα εκτελεί και μετά ελέγχει.

Στην While  εκτελούνται οι εντολές που βρίσκονται μέσα της όσο η συνθήκη είναι αλήθεια ενώ στην Repeat-Until  εκτελούνται οι εντολές που βρίσκονται μέσα της μέχρι η συνθήκη να γίνει αλήθεια.

 

 

ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ

 

 

 

 

ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΝΤΟΛΩΝ ΕΠΑΝΑΛΗΨΗΣ REPEAT