Η πολλαπλή δομή επιλογής στη ΓΛΩΣΣΑ επιτρέπει στο πρόγραμμα να λαμβάνει αποφάσεις μεταξύ πολλών εναλλακτικών διαδρομών. Αυτή η δομή είναι χρήσιμη όταν έχουμε περισσότερες από δύο περιπτώσεις να χειριστούμε.
Στόχος αυτού του μαθήματος είναι να κατανοήσετε:
Η πολλαπλή δομή επιλογής είναι μια δομή ελέγχου που επιτρέπει στο πρόγραμμα να επιλέγει μεταξύ πολλών εναλλακτικών διαδρομών βάσει διαφορετικών συνθηκών. Αυτό γίνεται με τη χρήση της εντολής ΑΝ...ΤΟΤΕ...ΑΛΛΙΩΣ_ΑΝ...ΑΛΛΙΩΣ.
Η πολλαπλή δομή επιλογής χρησιμοποιείται για:
Παράδειγμα: Ένα πρόγραμμα που κατηγοριοποιεί έναν αριθμό ως θετικό, αρνητικό ή μηδέν:
ΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός.' ΑΛΛΙΩΣ_ΑΝ αριθμός < 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός.' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ο αριθμός είναι μηδέν.' ΤΕΛΟΣ_ΑΝ
Η βασική σύνταξη της πολλαπλής δομής επιλογής στη ΓΛΩΣΣΑ είναι η ακόλουθη:
ΑΝ [Συνθήκη1] ΤΟΤΕ [Εντολές αν η Συνθήκη1 είναι αληθής] ΑΛΛΙΩΣ_ΑΝ [Συνθήκη2] ΤΟΤΕ [Εντολές αν η Συνθήκη2 είναι αληθής] ... ΑΛΛΙΩΣ_ΑΝ [ΣυνθήκηN] ΤΟΤΕ [Εντολές αν η ΣυνθήκηN είναι αληθής] ΑΛΛΙΩΣ [Εντολές αν καμία συνθήκη δεν είναι αληθής] ΤΕΛΟΣ_ΑΝ
Όπου:
Παρακάτω παρουσιάζονται κάποια παραδείγματα σύνταξης:
ΑΝ α > 0 ΤΟΤΕ ΓΡΑΨΕ 'Θετικός' ΑΛΛΙΩΣ_ΑΝ α < 0 ΤΟΤΕ ΓΡΑΨΕ 'Αρνητικός' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Μηδέν' ΤΕΛΟΣ_ΑΝ
ΑΝ βαθμός >= 18 ΤΟΤΕ ΓΡΑΨΕ 'Άριστα' ΑΛΛΙΩΣ_ΑΝ βαθμός >= 15 ΤΟΤΕ ΓΡΑΨΕ 'Πολύ Καλά' ΑΛΛΙΩΣ_ΑΝ βαθμός >= 10 ΤΟΤΕ ΓΡΑΨΕ 'Καλά' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ανεπαρκές' ΤΕΛΟΣ_ΑΝ
Οι συνθήκες μπορούν να περιλαμβάνουν:
Παράδειγμα Συνθέτων Συνθηκών:
ΑΝ (α > 0) ΚΑΙ (α < 10) ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι μεταξύ 0 και 10' ΑΛΛΙΩΣ_ΑΝ (α >= 10) ΚΑΙ (α < 20) ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι μεταξύ 10 και 20' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ο αριθμός δεν είναι μεταξύ 0 και 20' ΤΕΛΟΣ_ΑΝ
Ένα πρόγραμμα που κατηγοριοποιεί έναν αριθμό ως θετικό, αρνητικό ή μηδέν:
ΠΡΟΓΡΑΜΜΑ Κατηγοριοποίηση_Αριθμού
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: αριθμός
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε έναν αριθμό: '
ΔΙΑΒΑΣΕ αριθμός
ΑΝ αριθμός > 0 ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός είναι θετικός.'
ΑΛΛΙΩΣ_ΑΝ αριθμός < 0 ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός.'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Ο αριθμός είναι μηδέν.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που κατηγοριοποιεί έναν βαθμό σε άριστα, πολύ καλά, καλά ή ανεπαρκές:
ΠΡΟΓΡΑΜΜΑ Βαθμολογία
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: βαθμός
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε τον βαθμό σου: '
ΔΙΑΒΑΣΕ βαθμός
ΑΝ βαθμός >= 18 ΤΟΤΕ
ΓΡΑΨΕ 'Άριστα'
ΑΛΛΙΩΣ_ΑΝ βαθμός >= 15 ΤΟΤΕ
ΓΡΑΨΕ 'Πολύ Καλά'
ΑΛΛΙΩΣ_ΑΝ βαθμός >= 10 ΤΟΤΕ
ΓΡΑΨΕ 'Καλά'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Ανεπαρκές'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που εκτυπώνει τον αριθμό των ημερών ενός μήνα:
ΠΡΟΓΡΑΜΜΑ Ημέρες_Μήνα
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: μήνας
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε τον αριθμό του μήνα (1-12): '
ΔΙΑΒΑΣΕ μήνας
ΑΝ μήνας = 2 ΤΟΤΕ
ΓΡΑΨΕ 'Ο μήνας έχει 28 ή 29 ημέρες.'
ΑΛΛΙΩΣ_ΑΝ (μήνας = 4) Η (μήνας = 6) Η (μήνας = 9) Η (μήνας = 11) ΤΟΤΕ
ΓΡΑΨΕ 'Ο μήνας έχει 30 ημέρες.'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Ο μήνας έχει 31 ημέρες.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που αξιολογεί έναν αριθμό ως πολύ μεγάλος, μέτριος ή μικρός:
ΠΡΟΓΡΑΜΜΑ Αξιολόγηση_Αριθμού
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: αριθμός
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε έναν αριθμό: '
ΔΙΑΒΑΣΕ αριθμός
ΑΝ αριθμός > 100 ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός είναι πολύ μεγάλος.'
ΑΛΛΙΩΣ_ΑΝ αριθμός > 10 ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός είναι μέτριος.'
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Ο αριθμός είναι μικρός.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Ένα πρόγραμμα που εκτελεί μια αριθμητική πράξη βάσει της επιλογής του χρήστη:
ΠΡΟΓΡΑΜΜΑ Επιλογή_Πράξης
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α, β, επιλογή, αποτέλεσμα
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε τον πρώτο αριθμό: '
ΔΙΑΒΑΣΕ α
ΓΡΑΨΕ 'Δώσε τον δεύτερο αριθμό: '
ΔΙΑΒΑΣΕ β
ΓΡΑΨΕ 'Επιλέξτε πράξη (1: Πρόσθεση, 2: Αφαίρεση, 3: Πολλαπλασιασμός, 4: Διαίρεση): '
ΔΙΑΒΑΣΕ επιλογή
ΑΝ επιλογή = 1 ΤΟΤΕ
αποτέλεσμα ← α + β
ΓΡΑΨΕ 'Το αποτέλεσμα της πρόσθεσης είναι: ', αποτέλεσμα
ΑΛΛΙΩΣ_ΑΝ επιλογή = 2 ΤΟΤΕ
αποτέλεσμα ← α - β
ΓΡΑΨΕ 'Το αποτέλεσμα της αφαίρεσης είναι: ', αποτέλεσμα
ΑΛΛΙΩΣ_ΑΝ επιλογή = 3 ΤΟΤΕ
αποτέλεσμα ← α * β
ΓΡΑΨΕ 'Το αποτέλεσμα του πολλαπλασιασμού είναι: ', αποτέλεσμα
ΑΛΛΙΩΣ_ΑΝ επιλογή = 4 ΤΟΤΕ
ΑΝ β <> 0 ΤΟΤΕ
αποτέλεσμα ← α / β
ΓΡΑΨΕ 'Το αποτέλεσμα της διαίρεσης είναι: ', αποτέλεσμα
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Δεν μπορεί να γίνει διαίρεση με το μηδέν.'
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Λανθασμένη επιλογή.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει έναν αριθμό και να εκτυπώνει αν είναι θετικός, αρνητικός ή μηδέν.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει τον βαθμό ενός μαθητή και να εκτυπώνει την κατηγορία του (Άριστα, Πολύ Καλά, Καλά, Ανεπαρκές).
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει τον αριθμό ενός μήνα (1-12) και να εκτυπώνει τον αριθμό των ημερών του μήνα.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει έναν αριθμό και να εκτυπώνει αν είναι πολύ μεγάλος, μέτριος ή μικρός.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει δύο αριθμούς και μια επιλογή πράξης (1: Πρόσθεση, 2: Αφαίρεση, 3: Πολλαπλασιασμός, 4: Διαίρεση) και να εκτελεί την αντίστοιχη πράξη.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει την ηλικία ενός ατόμου και να εκτυπώνει την κατηγορία του (Παιδί: < 12, Έφηβος: 12-18, Ενήλικας: 19-64, Ηλικιωμένος: ≥ 65).
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει έναν χαρακτήρα και να εκτυπώνει αν είναι φωνήεν, σύμφωνο ή άλλο σύμβολο.
Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει τις βαθμολογίες τριών μαθημάτων και να εκτυπώνει τον μέσο όρο και την κατηγορία του (Άριστα: ≥ 18, Πολύ Καλά: 15-17.99, Καλά: 10-14.99, Ανεπαρκές: < 10).