You are on page 1of 8

2.2.7.

3 Δομή επιλογής
Με τη δομή επιλογής μπορεί να τροποποιηθεί η σειρά εκτέλεσης των εντολών ενός αλγορίθμου.
Η διαδικασία επιλογής περιλαμβάνει τον έλεγχο μιας συνθήκης που μπορεί να έχει δύο τιμές
(Αληθής ή Ψευδής) και ακολουθεί η απόφαση εκτέλεσης εντολών με βάση την τιμή αυτής της
συνθήκης. Ως συνθήκη εννοείται μια λογική έκφραση στην οποία υπάρχει τουλάχιστον ένας
σχεσιακός τελεστής (δηλαδή η συνθήκη δεν μπορεί να απαρτίζεται από μόνο μια μεταβλητή ή
μια σταθερά ή μια αριθμητική παράσταση).

Παράδειγμα 2.10α. Υπολογισμός απόλυτης τιμής


Να διαβαστεί ένας αριθμός και να εμφανιστεί η απόλυτη τιμή του.
Αλγόριθμος Απόλυτη_τιμή1
Διάβασε α
Αν α < 0 τότε
    α ← α * (-1)
! α ← - α
Τέλος_αν
Εμφάνισε α
Τέλος Απόλυτη_τιμή1

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

Το διάγραμμα ροής που περιγράφει τον παραπάνω αλγόριθμο είναι:


Παράδειγμα 2.10β. Υπολογισμός απόλυτης τιμής
Να διαβαστεί ένας αριθμός και να εμφανιστεί η απόλυτη τιμή του. (Χρησιμοποιείται η
αντίστοιχη έτοιμη συνάρτηση.)
Αλγόριθμος Απόλυτη_τιμή2
Διάβασε α
! Η εμφάνιση της απόλυτης τιμής
! μπορεί να γίνει με τη χρήση της
! συνάρτησης Α_Τ(α)
Εμφάνισε Α_Τ(α)
Τέλος Απόλυτη_τιμή2

Άσκηση 1(2.10). Έλεγχος αν ο αριθμός που εισάγεται είναι αρνητικός


Να αναπτυχθεί αλγόριθμος, στον οποίο θα εισάγεται ένας αριθμός α και θα ελέγχεται αν ο
αριθμός είναι αρνητικός οπότε θα εμφανίζεται κατάλληλο μήνυμα.
Παράδειγμα 2.11*. Ενήλικος/Ανήλικος
Να διαβαστεί η ηλικία και να εμφανιστεί αντίστοιχο μήνυμα εάν είναι πάνω από 18 ή όχι.
Αλγόριθμος Ενήλικος
Εμφάνισε "Δώσε την ηλικία σου:"
Διάβασε ηλικία
Αν ηλικία ≥ 18 τότε
  Εμφάνισε "Είσαι ενήλικος"
Αλλιώς
  Εμφάνισε "Είσαι ανήλικος"
Τέλος_αν
Τέλος Ενήλικος

Το διάγραμμα ροής που περιγράφει τον παραπάνω αλγόριθμο είναι:

Άσκηση 2(2.11). Έλεγχος τέλειας διαίρεσης


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

Παράδειγμα 2.12. Όρια συγκέντρωσης όζοντος


Το όζον (Ο3) αποτελεί έναν από τους ρύπους που προκαλούν μόλυνση στην ατμόσφαιρα.
Σε περιπτώσεις που ο ρύπος αυτός ξεπεράσει τα 300 μg/m3 τότε πρέπει να ληφθούν μέτρα.
Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει την τιμή του Ο3 και θα εκτυπώνει το
αντίστοιχο μήνυμα σύμφωνα με τον παρακάτω πίνακα και επιπλέον σε περίπτωση που
έχουν ξεπεραστεί τα όρια, θα εκτυπώνει κατά πόσο τα ξεπέρασε:

Τιμές Ο3 (μg/m )
3 Μήνυμα

Τιμή > 250 Προειδοποίηση

Τιμή > 300 Μέτρα Α

Τιμή > 500 Μέτρα Β

Πρώτος τρόπος:
Αλγόριθμος Όζον1
Διάβασε τ
Αν τ > 250 και τ ≤ 300 τότε
    Εκτύπωσε "Προειδοποίηση"
Αλλιώς_αν τ > 300 και τ ≤ 500 τότε
     πο ← τ - 300
    Εκτύπωσε "Μέτρα Α :", πο
Αλλιώς_αν τ > 500 τότε
     πο ← τ - 300
    Εκτύπωσε "Μέτρα Β :", πο
Τέλος_αν
Τέλος Όζον1

Το διάγραμμα ροής που περιγράφει τον παραπάνω αλγόριθμο είναι:


Δεύτερος τρόπος:
Αλγόριθμος Όζον2
Διάβασε τ
Αν τ > 500 τότε
    πο ← τ - 300
    Εκτύπωσε "Μέτρα Β :", πο
Αλλιώς_αν τ > 300 τότε
    πο ← τ - 300
    Εκτύπωσε "Μέτρα A :", πο
Αλλιώς_αν τ > 250 τότε
    Εκτύπωσε "Προειδοποίηση"
Τέλος_αν
Τέλος Όζον2

Το διάγραμμα ροής που περιγράφει τον παραπάνω αλγόριθμο είναι:


Άσκηση 3(2.12). Υπολογισμός Δείκτη Μάζας Σώματος (BMI)
Να αναπτυχθεί αλγόριθμος, στον οποίο θα εισάγονται το ύψος υ σε εκατοστά το βάρος β σε
κιλά και θα υπολογίζεται ο Δείκτης Μάζας Σώματος BMI σύμφωνα με τον τύπο: BMI =
β/υ2
Στην συνέχεια θα ελέγχεται το BMI σύμφωνα με τον παρακάτω πίνακα και θα εμφανίζεται
το ανάλογο μήνυμα:

Τιμή ΒΜΙ Μήνυμα

κάτω από 18.5 Ελλιποβαρής

από 18.5 έως και 24.9 Φυσιολογικό βάρος

από 25 έως και 29.9 Υπέρβαρος/η

πάνω από 30 Παχύσαρκος/η


Παράδειγμα 2.13. Αριθμομηχανή
Να αναπτυχθεί αλγόριθμος, ο οποίος:
1. Θα διαβάζει πρώτα έναν αριθμό α, στη συνέχεια έναν από τους χαρακτήρες +, -, *, /,
ανάλογα με την πράξη που θα εκτελέσει και τέλος έναν αριθμό β.
2. Θα εκτελεί την αντίστοιχη πράξη και θα τυπώνει το αποτέλεσμα. Σε περίπτωση που έχει
επιλεγεί η πράξη της διαίρεσης, ο αλγόριθμος πρέπει να ελέγχει αν το β είναι μηδέν και
τότε να τυπώνει το μήνυμα «Προσοχή, διαίρεση με το μηδέν» και να οδηγείται στο τέλος
του.
3. Θα εκτυπώνει το μήνυμα «Λάθος πράξη», αν για το χαρακτήρα της πράξης δοθεί άλλο
σύμβολο.

Αλγόριθμος Αριθμομηχανή
Διάβασε α, πράξη, β
Αν πράξη = "+" τότε
  r ← α + β
  Εμφάνισε r
Αλλιώς_αν πράξη = "-" τότε
  r ← α - β
  Εμφάνισε r
Αλλιώς_αν πράξη = "*" τότε
  r ← α* β
  Εμφάνισε r
Αλλιώς_αν πράξη = "/" τότε
  Αν β ≠ 0 τότε
    r ← α/ β
    Εμφάνισε r
  Αλλιώς
    Εμφάνισε "Προσοχή, διαίρεση με το μηδέν"
  Τέλος_αν
Αλλιώς
  Εμφάνισε "Λάθος πράξη"
Τέλος_αν
Τέλος Αριθμομηχανή
Στον παραπάνω αλγόριθμο γίνεται χρήση εμφωλευμένων εντολών επιλογής.

Άσκηση 4(2.13). Καλημέρα σε ξένες γλώσσες


Να αναπτυχθεί αλγόριθμος, στον οποίο θα εμφανίζεται το μήνυμα:
"Σε ποια γλώσσα να σας πω καλημέρα?"
"(1) Αγγλικά (2) Γαλλικά (3) Γερμανικά (4) Ιταλικά"
Αν εισαχθεί το 1 θα εμφανίζεται "Good morning", με το 2 θα εμφανίζεται "Bon jour", με το
3 θα εμφανίζεται "Guten morgen", με το 4 θα εμφανίζεται "Buon giorno" αλλιώς θα
εμφανίζεται "Λάθος επιλογή".

You might also like