Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

8.2.2 Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ

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

Σύνταξη ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ εντολή-1 εντολή-2 …εντολή-ν ΜΕΧΡΙΣ_ΟΤΟΥ λογική-έκφραση Παράδειγμα ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Α Άθροισμα = 1000 Λειτουργία Εκτελούνται οι εντολές μεταξύ των ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ και ΜΕΧΡΙΣ_ΟΤΟΥ. Στη συνέχεια ελέγχεται η λογική έκφραση και αν δεν ισχύει (είναι ψευδής), τότε οι εντολές που βρίσκονται ανάμεσα στις ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ και ΜΕΧΡΙΣ_ΟΤΟΥ, εκτελούνται πάλι. Ελέγχεται ξανά η λογική έκφραση και αν δεν ισχύει, επαναλαμβάνεται η εκτέλεση των ίδιων εντολών. Όταν η λογική έκφραση γίνει Αληθής τότε σταματάει η επανάληψη και εκτελείται η εντολή μετά από την ΜΕΧΡΙΣ_ΟΤΟΥ.

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

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

Παράδειγμα 3 Στο προηγούμενο παράδειγμα ας υποθέσουμε ότι οι μετρήσεις είναι υποχρεωτικά θετικοί αριθμοί και ότι μετά την εισαγωγή κάθε αριθμού υπάρχει η ερώτηση, αν θα εισάγουμε άλλο. Η διαδικασία θα τελειώσει, όταν η απάντηση θα είναι Όχι (ο ή Ο).

ΠΡΟΓΡΑΜΜΑ Αθροισμα2 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Χ, Άθροισμα, Πλήθος ΠΡΑΓΜΑΤΙΚΕΣ:ΜΟ ΧΑΡΑΚΤΗΡΕΣ:Επιλογή Πλήθος Άθροισμα ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ! Έλεγχος δεδομένων ΓΡΑΨΕ `Δώσε Αριθμό' ΔΙΑΒΑΣΕ Χ ΑΝ Χ= ΓΡΑΨΕ `Λάθος Αριθμός, Παρακαλώ δώστε ξανά…' ΤΕΛΟΣ_ΑΝ ! Αν το Χ δεν είναι θετικό εισάγουμε νέο αριθμό ΜΕΧΡΙΣ_ΟΤΟΥ Χ>0 Άθροισμα Πλήθος ΓΡΑΨΕ `Νέα μέτρηση ;' ΔΙΑΒΑΣΕ Επιλογή ! Αν η επιλογή είναι Ο ή ο τότε σταματάει η επανάληψη ΜΕΧΡΙΣ_ΟΤΟΥ Επιλογή ='Ο' Η Επιλογή ='ο' ΜΟ ΓΡΑΨΕ `Άθροισμα =', Άθροισμα ΓΡΑΨΕ `Μέσος όρος =', ΜΟ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Η εντολή επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ εκτελείται υποχρεωτικά τουλάχιστον μία φορά

Προγραμματιστικό περιβάλλον Pascal

PROGRAM athroisma2; VAR x,sum,count:INTEGER; avg:REAL; choice:CHAR; BEGIN count:=0;sum:=0; REPEAT REPEAT write(`Δώσε αριθμό:'); readln (x); IF x UNTIL x>0; sum:=sum+x; count:=count+1; write(`Νέα μέτρηση;'); readln(choice); UNTIL (choice='o') OR (choice='O'); avg:=sum/count; writeln(`Άθροισμα: `, sum:5); writeln(`Μέσος όρος: `,avg: 6:2); END.