ΜΕΧΡΙΣ_ΟΤΟΥ ...

Εντολή Επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ

Με την εντολή αυτή, η επανάληψη ελέγχεται από μία λογική έκφραση στο τέλος και εκτελείται μέχρι η συνθήκη αυτή να γίνει αληθής (δηλαδή εκτελείται όσο είναι ψευδής).
Είναι επίσης μία γενική εντολή της Δομής Επανάληψης. Αντιμετωπίζει οποιοδήποτε πρόβλημα απαιτεί επαναληπτική δομή για τη λύση του.

Σύνταξη Εντολής στη ΓΛΩΣΣΑ
Κωδικοποίηση σε Διάγραμμα Ροής

Εντολές_Πριν

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

Εντολές_Βρόχου

ΜΕΧΡΙΣ_ΟΤΟΥ συνθήκη_τερματισμού

Εντολές_Μετά


Πως δουλεύει:

1ο βήμα :

Εκτελούνται οι εντολές πριν την επανάληψη

2ο βήμα :

Εκτελούνται οι εντολές μέσα στην επανάληψη (μέχρι το ΜΕΧΡΙΣ_ΟΤΟΥ). Προσοχή κάπου εδώ πρέπει να τροποποιούνται οι μεταβλητές που συμμετέχουν στην συνθήκη ώστε κάποτε η συνθήκη να γίνει Αληθής.

3ο βήμα :

Ελέγχεται η συνθήκη_τερματισμού.

Αν η συνθήκη είναι Αληθής τότε
η επανάληψη σταματάει (δεν εκτελούνται οι εντολές2 μέσα σε αυτή).
Αν η συνθήκη είναι Ψευδής τότε
πηγαίνουμε στο ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ και εκτελούμε τις εντολές του βρόχου.

 

4ο βήμα :

Εκτελούνται οι εντολές που είναι μετά την επανάληψη. Εδώ συνήθως γίνεται η παρουσίαση των αποτελεσμάτων του προγράμματος.

Παρατηρήσεις:
Λόγω της θέσης της συνθήκης (στο τέλος) οι εντολές μέσα στην επανάληψη θα εκτελεστούν οπωσδήποτε τουλάχιστον μία φορά.
Σε πολλές περιπτώσεις, όταν μία ομάδα εντολών θα εκτελεστεί σίγουρα τουλάχιστον μία φορά, η χρήση της οδηγεί σε πιο απλούς και κατανοητούς αλγορίθμους από την ΟΣΟ.
Τυπικά Προβλήματα ΜΕΧΡΙΣ_ΟΤΟΥ
  • Έλεγχος εγκυρότητας μεταβλητής
  • Μενού επιλογών με επιλογή τερματισμού
  • Όταν στο τέλος της επεξεργασίας ζητείται από τον χρήστη να αποφασίσει αν θα συνεχιστεί ή όχι η επανάληψη
  • Ο έλεγχος της συνθήκης γίνεται στο αποτέλεσμα της επεξεργασίας, στο ζητούμενο, π.χ. το πλήθος να φτάσει μία τιμή, ή το άθροισμα να υπερβεί μία τιμή
  • Γενικά σε προβλήματα, όπου είναι ξεκάθαρο ότι θα εκτελεστούν οι εντολές επεξεργασίας τουλάχιστον μία φορά.

Παράδειγμα 1:
Το παρακάτω πρόγραμμα διαβάζει αριθμούς μέχρι να δοθεί θετικός αριθμός. Δείτε την εκτέλεση για να δείτε πως λειτουργεί η εντολή:

 

 

 


Παράδειγμα 2:
Το παρακάτω πρόγραμμα εμφανίζει ένα μενού επιλογών για τις 4 βασικές πράξεις. Δίνεται η επιλογή του χρήστη (1 για πρόσθεση, 2 για Αφαίρεση, 3 για πολλαπλασιασμό, 4 για διαίρεση και 5 για τερματισμό) και ανάλογα με αυτήν, είτε δίνονται 2 αριθμοί και εκτελείται σε αυτούς η αντίστοιχη πράξη είτε (αν δοθεί επιλογή 5) τερματίζεται το πρόγραμμα. Το μενού εμφανίζεται μέχρι να δοθεί η επιλογή 5.
ΠΡΟΓΡΑΜΜΑ Μενού
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: επ
ΠΡΑΓΜΑΤΙΚΕΣ: α, β, αποτ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πράξεις'
ΓΡΑΨΕ '1. Πρόσθεση'
ΓΡΑΨΕ '2. Αφαίρεση'
ΓΡΑΨΕ '3. Πολλαπλασιασμός'
ΓΡΑΨΕ '4. Διαίρεση'
ΓΡΑΨΕ '5. Έξοδος'
ΓΡΑΨΕ 'Δωσε μια από τις παραπάνω επιλογές 1..5'
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ επ
ΜΕΧΡΙΣ_ΟΤΟΥ επ = 1 Η επ = 2 Η επ = 3 Η επ = 4 Η επ = 5
ΑΝ επ <> 5 ΤΟΤΕ
ΓΡΑΨΕ 'Δώσε 2 αριθμούς: '

ΔΙΑΒΑΣΕ α, β
ΑΝ επ = 1 ΤΟΤΕ
αποτ <- α + β
ΓΡΑΨΕ 'Το άθροισμα των αριθμών είναι: ', αποτ
ΑΛΛΙΩΣ_ΑΝ επ = 2 ΤΟΤΕ
αποτ <- α - β
ΓΡΑΨΕ 'Η διαφορά των αριθμών είναι: ', αποτ
ΑΛΛΙΩΣ_ΑΝ επ = 3 ΤΟΤΕ
αποτ <- α*β
ΓΡΑΨΕ 'Το γινόμενο των αριθμών είναι: ', αποτ
ΑΛΛΙΩΣ_ΑΝ επ = 4 ΤΟΤΕ
ΑΝ β <> 0 ΤΟΤΕ
αποτ <- α/β
ΓΡΑΨΕ 'Το πηλίκο των αριθμών είναι: ', αποτ
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Δεν ορίζεται διαίρεση με το μηδέν'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ επ = 5
ΓΡΑΨΕ 'Τερματισμός προγράμματος...'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ