Η δομή επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ στη ΓΛΩΣΣΑ είναι μια δομή που εκτελεί ένα σύνολο εντολών τουλάχιστον μία φορά και συνεχίζει να τις εκτελεί μέχρι να ικανοποιηθεί μια συνθήκη. Αυτή η δομή είναι χρήσιμη όταν θέλουμε να διασφαλίσουμε ότι οι εντολές θα εκτελεστούν τουλάχιστον μία φορά.
Στόχος αυτού του μαθήματος είναι να κατανοήσετε:
Η δομή ΜΕΧΡΙΣ_ΟΤΟΥ είναι μια δομή επανάληψης που εκτελεί ένα σύνολο εντολών τουλάχιστον μία φορά και συνεχίζει να τις εκτελεί μέχρι να ικανοποιηθεί μια συνθήκη. Η συνθήκη ελέγχεται μετά την εκτέλεση των εντολών του βρόχου.
Η δομή ΜΕΧΡΙΣ_ΟΤΟΥ χρησιμοποιείται για:
Παράδειγμα: Ένα πρόγραμμα που διαβάζει αριθμούς μέχρι ο χρήστης να εισάγει έναν θετικό αριθμό:
ΜΕΧΡΙΣ_ΟΤΟΥ α > 0 ΓΡΑΨΕ 'Δώσε έναν αριθμό: ' ΔΙΑΒΑΣΕ α ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Η βασική σύνταξη της δομής ΜΕΧΡΙΣ_ΟΤΟΥ στη ΓΛΩΣΣΑ είναι η ακόλουθη:
ΜΕΧΡΙΣ_ΟΤΟΥ [Συνθήκη] [Εντολές] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Όπου:
Παρακάτω παρουσιάζονται κάποια παραδείγματα σύνταξης:
ΜΕΧΡΙΣ_ΟΤΟΥ α > 10 ΓΡΑΨΕ α α ← α + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΕΧΡΙΣ_ΟΤΟΥ α = 0 ΓΡΑΨΕ 'Δώσε έναν αριθμό (0 για τερματισμό): ' ΔΙΑΒΑΣΕ α ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Σημείωση: Η δομή ΜΕΧΡΙΣ_ΟΤΟΥ διαφέρει από την δομή ΟΣΟ στο ότι οι εντολές εκτελούνται τουλάχιστον μία φορά.
Παράδειγμα: Ένα πρόγραμμα που υπολογίζει το άθροισμα των αριθμών από 1 έως 10:
α ← 1 άθροισμα ← 0 ΜΕΧΡΙΣ_ΟΤΟΥ α > 10 άθροισμα ← άθροισμα + α α ← α + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Το άθροισμα είναι: ', άθροισμα
Ένα πρόγραμμα που εκτυπώνει τους αριθμούς από 1 έως 10:
ΠΡΟΓΡΑΜΜΑ Εκτύπωση_Αριθμών
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α
ΑΡΧΗ
α ← 1
ΜΕΧΡΙΣ_ΟΤΟΥ α > 10
ΓΡΑΨΕ α
α ← α + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που υπολογίζει το άθροισμα των αριθμών από 1 έως 10:
ΠΡΟΓΡΑΜΜΑ Άθροισμα_Αριθμών
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α, άθροισμα
ΑΡΧΗ
α ← 1
άθροισμα ← 0
ΜΕΧΡΙΣ_ΟΤΟΥ α > 10
άθροισμα ← άθροισμα + α
α ← α + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Το άθροισμα είναι: ', άθροισμα
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που διαβάζει αριθμούς μέχρι ο χρήστης να εισάγει έναν θετικό αριθμό:
ΠΡΟΓΡΑΜΜΑ Εισαγωγή_Δεδομένων
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α
ΑΡΧΗ
α ← 0
ΜΕΧΡΙΣ_ΟΤΟΥ α > 0
ΓΡΑΨΕ 'Δώσε έναν αριθμό: '
ΔΙΑΒΑΣΕ α
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Εισήχθη ένας θετικός αριθμός: ', α
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που υπολογίζει το γινόμενο των αριθμών από 1 έως 10:
ΠΡΟΓΡΑΜΜΑ Γινόμενο_Αριθμών
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α, γινόμενο
ΑΡΧΗ
α ← 1
γινόμενο ← 1
ΜΕΧΡΙΣ_ΟΤΟΥ α > 10
γινόμενο ← γινόμενο * α
α ← α + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Το γινόμενο είναι: ', γινόμενο
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που διαβάζει 10 αριθμούς και βρίσκει τον μέγιστο:
ΠΡΟΓΡΑΜΜΑ Εύρεση_Μέγιστου
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, α, μέγιστος
ΑΡΧΗ
μέγιστος ← -1000000
i ← 1
ΜΕΧΡΙΣ_ΟΤΟΥ i > 10
ΓΡΑΨΕ 'Δώσε τον ', i, '-οστό αριθμό: '
ΔΙΑΒΑΣΕ α
ΑΝ α > μέγιστος ΤΟΤΕ
μέγιστος ← α
ΤΕΛΟΣ_ΑΝ
i ← i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Ο μέγιστος αριθμός είναι: ', μέγιστος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να εκτυπώνει τους αριθμούς από 1 έως 20 χρησιμοποιώντας τη δομή ΜΕΧΡΙΣ_ΟΤΟΥ.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να υπολογίζει και να εκτυπώνει το άθροισμα των αριθμών από 1 έως 100 χρησιμοποιώντας τη δομή ΜΕΧΡΙΣ_ΟΤΟΥ.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει αριθμούς από τον χρήστη μέχρι να εισαχθεί ένας θετικός αριθμός και να εκτυπώνει τον αριθμό.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να υπολογίζει και να εκτυπώνει το γινόμενο των αριθμών από 1 έως 10 χρησιμοποιώντας τη δομή ΜΕΧΡΙΣ_ΟΤΟΥ.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 20 αριθμούς και να βρίσκει και να εκτυπώνει τον μέγιστο.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει 15 αριθμούς και να βρίσκει και να εκτυπώνει τον ελάχιστο.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει αριθμούς από τον χρήστη μέχρι να εισαχθεί ο αριθμός -1 και να υπολογίζει και να εκτυπώνει τον μέσο όρο των αριθμών που εισήχθησαν.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει έναν αριθμό και να υπολογίζει και να εκτυπώνει τις δυνάμεις του από 1 έως 5 χρησιμοποιώντας τη δομή ΜΕΧΡΙΣ_ΟΤΟΥ.