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

Η δομή επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ, διαφέρει από τη ΓΙΑ, στο ότι δεν ξέρουμε πόσες φορές θα εκτελεστεί. Γνωρίζουμε όμως πως οπωσδήποτε θα εκτελεστεί μία φορά.
Η ΜΕΧΡΙΣ_ΟΤΟΥ συντάσσεται όπως παρακάτω:

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΕΝΤΟΛΕΣ
ΜΕΧΡΙΣ_ΟΤΟΥ ΣΥΝΘΗΚΗ

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

Χρησιμοποιούμε τη ΜΕΧΡΙΣ_ΟΤΟΥ, όταν:

• Δεν ξέρουμε πόσες φορές θα εκτελεστεί μία επανάληψη, αλλά ξέρουμε πως οπωσδήποτε θα εκτελεστεί μία φορά. Αν για παράδειγμα το πρόγραμμά μας είναι ένα παιχνίδι που θα τερματίσει όταν ο ένας από τους δύο παίκτες νικήσει, οπωσδήποτε πρέπει να παίξουν μία φορά για να βγει κάποιος νικητής.
• Υπάρχει ένα όριο το οποίο πρέπει να φτάσουμε ή να ξεπεράσουμε. Για παράδειγμα να συμπληρώσουμε ή να ξεπεράσουμε ένα συνολικό ποσό.
• Όταν κάνουμε έλεγχο των δεδομένων που δίνει ο χρήστης. Ζητάμε από το χρήστη να μας δώσει θετικό αριθμό. Αν δεν μας δώσει, ξαναζητάμε και ξαναζητάμε, μέχρι να αποφασίσει να μας δώσει θετικό.

Ας δούμε ένα παράδειγμα:

Να γράψετε πρόγραμμα το οποίο θα ζητά από το χρήστη έναν θετικό αριθμό και θα εμφανίζει την τετραγωνική του ρίζα.

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

ΠΡΟΓΡΑΜΜΑ ΘΕΤΙΚΟΣ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ‘ΔΩΣΕ ΕΝΑΝ ΘΕΤΙΚΟ ΑΡΙΘΜΟ’
ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΌΤΟΥ Α>0
ΓΡΑΨΕ ‘Η ΤΕΤΡΑΓΩΝΙΚΗ ΤΟΥ ΡΙΖΑ ΕΙΝΑΙ:’, Τ_Ρ(Α)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Σε όσες ασκήσεις χρειάζεται να ελεγχθούν τα δεδομένα του χρήστη, τα ελέγχουμε με τη ΜΕΧΡΙΣ_ΟΤΟΥ.