Πολλαπλή Δομή Επιλογής στη ΓΛΩΣΣΑ

Εισαγωγή

Η πολλαπλή δομή επιλογής στη ΓΛΩΣΣΑ επιτρέπει στο πρόγραμμα να λαμβάνει αποφάσεις μεταξύ πολλών εναλλακτικών διαδρομών. Αυτή η δομή είναι χρήσιμη όταν έχουμε περισσότερες από δύο περιπτώσεις να χειριστούμε.

Στόχος αυτού του μαθήματος είναι να κατανοήσετε:

  • Τι είναι η πολλαπλή δομή επιλογής.
  • Πώς να χρησιμοποιείτε την εντολή ΑΝ...ΤΟΤΕ...ΑΛΛΙΩΣ_ΑΝ...ΑΛΛΙΩΣ.
  • Πώς να κατασκευάζετε προγράμματα με πολλές εναλλακτικές διαδρομές.
  • Πώς να χειρίζεστε σύνθετες συνθήκες.

Θεωρία της Πολλαπλής Δομής Επιλογής

Ορισμός

Η πολλαπλή δομή επιλογής είναι μια δομή ελέγχου που επιτρέπει στο πρόγραμμα να επιλέγει μεταξύ πολλών εναλλακτικών διαδρομών βάσει διαφορετικών συνθηκών. Αυτό γίνεται με τη χρήση της εντολής ΑΝ...ΤΟΤΕ...ΑΛΛΙΩΣ_ΑΝ...ΑΛΛΙΩΣ.

Χαρακτηριστικά

  • Πολυπλοκότητα: Επιτρέπει την επιλογή μεταξύ πολλών διαδρομών.
  • Συνθήκες: Κάθε διαδρομή έχει τη δική της συνθήκη.
  • Ευελιξία: Μπορεί να χρησιμοποιηθεί για σύνθετες λογικές αποφάσεις.

Χρήσεις

Η πολλαπλή δομή επιλογής χρησιμοποιείται για:

  • Λήψη αποφάσεων μεταξύ πολλών εναλλακτικών.
  • Χειρισμός πολλαπλών περιπτώσεων βάσει διαφορετικών συνθηκών.
  • Διαχείριση σύνθετων λογικών ροών.

Παράδειγμα: Ένα πρόγραμμα που κατηγοριοποιεί έναν αριθμό ως θετικό, αρνητικό ή μηδέν:

ΑΝ αριθμός > 0 ΤΟΤΕ
  ΓΡΑΨΕ 'Ο αριθμός είναι θετικός.'
ΑΛΛΙΩΣ_ΑΝ αριθμός < 0 ΤΟΤΕ
  ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός.'
ΑΛΛΙΩΣ
  ΓΡΑΨΕ 'Ο αριθμός είναι μηδέν.'
ΤΕΛΟΣ_ΑΝ

Σύνταξη της Πολλαπλής Δομής Επιλογής

Βασική Σύνταξη

Η βασική σύνταξη της πολλαπλής δομής επιλογής στη ΓΛΩΣΣΑ είναι η ακόλουθη:

ΑΝ [Συνθήκη1] ΤΟΤΕ
  [Εντολές αν η Συνθήκη1 είναι αληθής]
ΑΛΛΙΩΣ_ΑΝ [Συνθήκη2] ΤΟΤΕ
  [Εντολές αν η Συνθήκη2 είναι αληθής]
...
ΑΛΛΙΩΣ_ΑΝ [ΣυνθήκηN] ΤΟΤΕ
  [Εντολές αν η ΣυνθήκηN είναι αληθής]
ΑΛΛΙΩΣ
  [Εντολές αν καμία συνθήκη δεν είναι αληθής]
ΤΕΛΟΣ_ΑΝ

Όπου:

  • [Συνθήκη1], [Συνθήκη2], ..., [ΣυνθήκηN]: Λογικές εκφράσεις που αξιολογούνται σε ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ.
  • [Εντολές]: Οι εντολές που θα εκτελεστούν αν η αντίστοιχη συνθήκη είναι αληθής.
  • ΑΛΛΙΩΣ: Οι εντολές που θα εκτελεστούν αν καμία από τις συνθήκες δεν είναι αληθής.

Παραδείγματα Σύνταξης

Παρακάτω παρουσιάζονται κάποια παραδείγματα σύνταξης:

  • Δύο Συνθήκες:
    ΑΝ α > 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Θετικός'
    ΑΛΛΙΩΣ_ΑΝ α < 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Αρνητικός'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Μηδέν'
    ΤΕΛΟΣ_ΑΝ
  • Τρεις Συνθήκες:
    ΑΝ βαθμός >= 18 ΤΟΤΕ
      ΓΡΑΨΕ 'Άριστα'
    ΑΛΛΙΩΣ_ΑΝ βαθμός >= 15 ΤΟΤΕ
      ΓΡΑΨΕ 'Πολύ Καλά'
    ΑΛΛΙΩΣ_ΑΝ βαθμός >= 10 ΤΟΤΕ
      ΓΡΑΨΕ 'Καλά'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Ανεπαρκές'
    ΤΕΛΟΣ_ΑΝ

Συνθήκες

Οι συνθήκες μπορούν να περιλαμβάνουν:

  • Συγκριτικούς Τελεστές: =, <>, <, >, <=, >=
  • Λογικούς Τελεστές: ΚΑΙ, Η, ΟΧΙ
  • Σύνθετες Συνθήκες: Συνδυασμός πολλών συνθηκών με λογικούς τελεστές.

Παράδειγμα Συνθέτων Συνθηκών:

ΑΝ (α > 0) ΚΑΙ (α < 10) ΤΟΤΕ
  ΓΡΑΨΕ 'Ο αριθμός είναι μεταξύ 0 και 10'
ΑΛΛΙΩΣ_ΑΝ (α >= 10) ΚΑΙ (α < 20) ΤΟΤΕ
  ΓΡΑΨΕ 'Ο αριθμός είναι μεταξύ 10 και 20'
ΑΛΛΙΩΣ
  ΓΡΑΨΕ 'Ο αριθμός δεν είναι μεταξύ 0 και 20'
ΤΕΛΟΣ_ΑΝ

Παραδείγματα Πολλαπλής Δομής Επιλογής

Παράδειγμα 1: Κατηγοριοποίηση Αριθμού

Ένα πρόγραμμα που κατηγοριοποιεί έναν αριθμό ως θετικό, αρνητικό ή μηδέν:

ΠΡΟΓΡΑΜΜΑ Κατηγοριοποίηση_Αριθμού
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αριθμός
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε έναν αριθμό: '
  ΔΙΑΒΑΣΕ αριθμός
  ΑΝ αριθμός > 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Ο αριθμός είναι θετικός.'
  ΑΛΛΙΩΣ_ΑΝ αριθμός < 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ο αριθμός είναι μηδέν.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 2: Βαθμολογία

Ένα πρόγραμμα που κατηγοριοποιεί έναν βαθμό σε άριστα, πολύ καλά, καλά ή ανεπαρκές:

ΠΡΟΓΡΑΜΜΑ Βαθμολογία
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: βαθμός
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε τον βαθμό σου: '
  ΔΙΑΒΑΣΕ βαθμός
  ΑΝ βαθμός >= 18 ΤΟΤΕ
    ΓΡΑΨΕ 'Άριστα'
  ΑΛΛΙΩΣ_ΑΝ βαθμός >= 15 ΤΟΤΕ
    ΓΡΑΨΕ 'Πολύ Καλά'
  ΑΛΛΙΩΣ_ΑΝ βαθμός >= 10 ΤΟΤΕ
    ΓΡΑΨΕ 'Καλά'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ανεπαρκές'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 3: Μήνας

Ένα πρόγραμμα που εκτυπώνει τον αριθμό των ημερών ενός μήνα:

ΠΡΟΓΡΑΜΜΑ Ημέρες_Μήνα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: μήνας
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε τον αριθμό του μήνα (1-12): '
  ΔΙΑΒΑΣΕ μήνας
  ΑΝ μήνας = 2 ΤΟΤΕ
    ΓΡΑΨΕ 'Ο μήνας έχει 28 ή 29 ημέρες.'
  ΑΛΛΙΩΣ_ΑΝ (μήνας = 4) Η (μήνας = 6) Η (μήνας = 9) Η (μήνας = 11) ΤΟΤΕ
    ΓΡΑΨΕ 'Ο μήνας έχει 30 ημέρες.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ο μήνας έχει 31 ημέρες.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 4: Αξιολόγηση Αριθμού

Ένα πρόγραμμα που αξιολογεί έναν αριθμό ως πολύ μεγάλος, μέτριος ή μικρός:

ΠΡΟΓΡΑΜΜΑ Αξιολόγηση_Αριθμού
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αριθμός
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε έναν αριθμό: '
  ΔΙΑΒΑΣΕ αριθμός
  ΑΝ αριθμός > 100 ΤΟΤΕ
    ΓΡΑΨΕ 'Ο αριθμός είναι πολύ μεγάλος.'
  ΑΛΛΙΩΣ_ΑΝ αριθμός > 10 ΤΟΤΕ
    ΓΡΑΨΕ 'Ο αριθμός είναι μέτριος.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ο αριθμός είναι μικρός.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 5: Επιλογή Πράξης

Ένα πρόγραμμα που εκτελεί μια αριθμητική πράξη βάσει της επιλογής του χρήστη:

ΠΡΟΓΡΑΜΜΑ Επιλογή_Πράξης
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α, β, επιλογή, αποτέλεσμα
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε τον πρώτο αριθμό: '
  ΔΙΑΒΑΣΕ α
  ΓΡΑΨΕ 'Δώσε τον δεύτερο αριθμό: '
  ΔΙΑΒΑΣΕ β
  ΓΡΑΨΕ 'Επιλέξτε πράξη (1: Πρόσθεση, 2: Αφαίρεση, 3: Πολλαπλασιασμός, 4: Διαίρεση): '
  ΔΙΑΒΑΣΕ επιλογή
  ΑΝ επιλογή = 1 ΤΟΤΕ
    αποτέλεσμα ← α + β
    ΓΡΑΨΕ 'Το αποτέλεσμα της πρόσθεσης είναι: ', αποτέλεσμα
  ΑΛΛΙΩΣ_ΑΝ επιλογή = 2 ΤΟΤΕ
    αποτέλεσμα ← α - β
    ΓΡΑΨΕ 'Το αποτέλεσμα της αφαίρεσης είναι: ', αποτέλεσμα
  ΑΛΛΙΩΣ_ΑΝ επιλογή = 3 ΤΟΤΕ
    αποτέλεσμα ← α * β
    ΓΡΑΨΕ 'Το αποτέλεσμα του πολλαπλασιασμού είναι: ', αποτέλεσμα
  ΑΛΛΙΩΣ_ΑΝ επιλογή = 4 ΤΟΤΕ
    ΑΝ β <> 0 ΤΟΤΕ
      αποτέλεσμα ← α / β
      ΓΡΑΨΕ 'Το αποτέλεσμα της διαίρεσης είναι: ', αποτέλεσμα
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Δεν μπορεί να γίνει διαίρεση με το μηδέν.'
    ΤΕΛΟΣ_ΑΝ
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Λανθασμένη επιλογή.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ασκήσεις

Άσκηση 1: Κατηγοριοποίηση Αριθμού

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει έναν αριθμό και να εκτυπώνει αν είναι θετικός, αρνητικός ή μηδέν.

Άσκηση 2: Βαθμολογία

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει τον βαθμό ενός μαθητή και να εκτυπώνει την κατηγορία του (Άριστα, Πολύ Καλά, Καλά, Ανεπαρκές).

Άσκηση 3: Μήνας

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει τον αριθμό ενός μήνα (1-12) και να εκτυπώνει τον αριθμό των ημερών του μήνα.

Άσκηση 4: Αξιολόγηση Αριθμού

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει έναν αριθμό και να εκτυπώνει αν είναι πολύ μεγάλος, μέτριος ή μικρός.

Άσκηση 5: Επιλογή Πράξης

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει δύο αριθμούς και μια επιλογή πράξης (1: Πρόσθεση, 2: Αφαίρεση, 3: Πολλαπλασιασμός, 4: Διαίρεση) και να εκτελεί την αντίστοιχη πράξη.

Άσκηση 6: Κατηγοριοποίηση Ηλικίας

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει την ηλικία ενός ατόμου και να εκτυπώνει την κατηγορία του (Παιδί: < 12, Έφηβος: 12-18, Ενήλικας: 19-64, Ηλικιωμένος: ≥ 65).

Άσκηση 7: Έλεγχος Χαρακτήρα

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει έναν χαρακτήρα και να εκτυπώνει αν είναι φωνήεν, σύμφωνο ή άλλο σύμβολο.

Άσκηση 8: Υπολογισμός Βάθμου

Να γράψετε ένα πρόγραμμα στη ΓΛΩΣΣΑ που να διαβάζει τις βαθμολογίες τριών μαθημάτων και να εκτυπώνει τον μέσο όρο και την κατηγορία του (Άριστα: ≥ 18, Πολύ Καλά: 15-17.99, Καλά: 10-14.99, Ανεπαρκές: < 10).