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