Σύνθετη Δομή Επιλογής στη ΓΛΩΣΣΑ

Εισαγωγή

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

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

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

Θεωρία της Σύνθετης Δομής Επιλογής

Ορισμός

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

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

  • Δυαδική Επιλογή: Το πρόγραμμα έχει δύο δυνατές διαδρομές εκτέλεσης.
  • Συνθήκη: Μια λογική έκφραση που αξιολογείται σε ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ.
  • Εντολές: Δύο σύνολα εντολών, ένα για κάθε περίπτωση (αληθής/ψευδής).

Χρήσεις

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

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

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

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

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

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

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

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

Όπου:

  • [Συνθήκη]: Μια λογική έκφραση που αξιολογείται σε ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ.
  • [Εντολές αν η συνθήκη είναι αληθής]: Οι εντολές που θα εκτελεστούν αν η συνθήκη είναι αληθής.
  • [Εντολές αν η συνθήκη είναι ψευδής]: Οι εντολές που θα εκτελεστούν αν η συνθήκη είναι ψευδής.

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

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

  • Μια Εντολή σε Κάθε Περιπτωση:
    ΑΝ α > 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Θετικός'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Μη θετικός'
    ΤΕΛΟΣ_ΑΝ
  • Μπλοκ Εντολών σε Κάθε Περιπτωση:
    ΑΝ α > 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Θετικός'
      ΓΡΑΨΕ 'Ο αριθμός είναι μεγαλύτερος από 0'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Μη θετικός'
      ΓΡΑΨΕ 'Ο αριθμός είναι μικρότερος ή ίσος με 0'
    ΤΕΛΟΣ_ΑΝ

Συνθήκες

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

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

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

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

Παραδείγματα Σύνθετης Δομής Επιλογής

Παράδειγμα 1: Έλεγχος Θετικού/Αρνητικού Αριθμού

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

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

Παράδειγμα 2: Έλεγχος Ισότητας

Ένα πρόγραμμα που ελέγχει αν δύο αριθμοί είναι ίσοι ή όχι:

ΠΡΟΓΡΑΜΜΑ Ισότητα_Η_Διαφορετικότητα
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α, β
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε τον πρώτο αριθμό: '
  ΔΙΑΒΑΣΕ α
  ΓΡΑΨΕ 'Δώσε τον δεύτερο αριθμό: '\n  ΔΙΑΒΑΣΕ β
  ΑΝ α = β ΤΟΤΕ
    ΓΡΑΨΕ 'Οι αριθμοί είναι ίσοι.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Οι αριθμοί δεν είναι ίσοι.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 3: Έλεγχος Περιττής/Άρτιου

Ένα πρόγραμμα που ελέγχει αν ένας αριθμός είναι περιττός ή άρτιος:

ΠΡΟΓΡΑΜΜΑ Περιττός_Η_Άρτιος
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αριθμός
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε έναν αριθμό: '
  ΔΙΑΒΑΣΕ αριθμός
  ΑΝ αριθμός MOD 2 = 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Ο αριθμός είναι άρτιος.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ο αριθμός είναι περιττός.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 4: Έλεγχος Βαθμολογίας

Ένα πρόγραμμα που ελέγχει αν ένας μαθητής έχει περάσει τις εξετάσεις (βαθμός ≥ 10):

ΠΡΟΓΡΑΜΜΑ Πέρασμα_Η_Αποτυχία
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: βαθμός
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε τον βαθμό σου: '
  ΔΙΑΒΑΣΕ βαθμός
  ΑΝ βαθμός >= 10 ΤΟΤΕ
    ΓΡΑΨΕ 'Συγχαρητήρια! Έχεις περάσει.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Λυπάμαι, δεν έχεις περάσει.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 5: Σύνθετη Συνθήκη

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

ΠΡΟΓΡΑΜΜΑ Έλεγχος_Εύρους
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αριθμός
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε έναν αριθμό: '
  ΔΙΑΒΑΣΕ αριθμός
  ΑΝ (αριθμός >= 10) ΚΑΙ (αριθμός <= 20) ΤΟΤΕ
    ΓΡΑΨΕ 'Ο αριθμός βρίσκεται μεταξύ 10 και 20.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ο αριθμός δεν βρίσκεται μεταξύ 10 και 20.'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ασκήσεις

Άσκηση 1: Έλεγχος Θετικού/Αρνητικού

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

Άσκηση 2: Έλεγχος Ισότητας

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

Άσκηση 3: Έλεγχος Περιττής/Άρτιου

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

Άσκηση 4: Έλεγχος Βαθμολογίας

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

Άσκηση 5: Έλεγχος Εύρους

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

Άσκηση 6: Έλεγχος Μέγιστου

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

Άσκηση 7: Έλεγχος Διάστασης

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

Άσκηση 8: Σύνθετη Συνθήκη

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