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

Αναζήτηση

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

8.2.1 Εντολή ΟΣΟ…ΕΠΑΝΑΛΑΒΕ

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

Σύνταξη ΟΣΟ συνθήκη ΕΠΑΝΑΛΑΒΕ εντολή-1 εντολή-2 … εντολή-ν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Παράδειγμα Άθροισμα

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

Παράδειγμα 2 Να γραφεί πρόγραμμα το οποίο διαβάζει από το πληκτρολόγιο μία σειρά μετρήσεων, ακεραίων μη μηδενικών αριθμών, υπολογίζει και τυπώνει το άθροισμα τους καθώς και το μέσο τους όρο. Ως τέλος της διαδικασίας εισαγωγής στοιχείων χρησιμοποιείται η τιμή 0.

ΠΡΟΓΡΑΜΜΑ Άθροισμα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Χ, Άθροισμα, Πλήθος ΠΡΑΓΜΑΤΙΚΕΣ:ΜΟ ΑΡΧΗ Πλήθος Άθροισμα ΓΡΑΨΕ `Δώσε Αριθμό' ΔΙΑΒΑΣΕ Χ ΟΣΟ Χ0 ΕΠΑΝΑΛΑΒΕ Άθροισμα Πλήθος ΓΡΑΨΕ `Δώσε Αριθμό' ΔΙΑΒΑΣΕ Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ Πλήθος >0 ΤΟΤΕ ΜΟ ΓΡΑΨΕ `Το Άθροισμα είναι: `, Άθροισμα ΓΡΑΨΕ `Ο Μέσος όρος είναι : `, ΜΟ ΑΛΛΙΩΣ ΓΡΑΨΕ `Δεν δόθηκαν στοιχεία' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ-ΠΡΟΓΡΑΜΜΑΤΟΣ Άθροισμα

Παρατηρήσεις Η χρήση τιμών για τον τερματισμό μίας επαναληπτικής διαδικασίας, όπως στο παράδειγμα η αυθαίρετη επιλογή του 0, είναι συνήθης στον προγραμματισμό.

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