Δημοσιεύθηκε στην ΠΛΗΡΟΦΟΡΙΚΗ

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

Δομές Επιλογής

Απλή Επιλογή

Πολλές φορές για να λυθεί ένα πρόβλημα πρέπει να ελεγχθεί αν ισχύει κάποια συνθήκη

Παράδειγμα 2: Να διαβαστεί ένας αριθμός και να επιστραφεί η απόλυτη τιμή του

Ο εισαγόμενος αριθμός ελέγχεται αν είναι θετικός ή αρνητικός. Στην πρώτη περίπτωση δεν χρειάζεται να γίνει καμιά ενέργεια, ενώ στη δεύτερη πρέπει να πολλαπλασιαστεί ο αριθμός με το –1 ώστε να γίνει θετικός

Αλγόριθμος Παράδειγμα_2
   Διάβασε αριθμός
   Αν αριθμός < 0 τότε
      αριθμός ← αριθμός * (-1)
   Τέλος_Αν
   Εκτύπωσε αριθμός
Τέλος Παράδειγμα_2

th2b 1

Σχολιασμός διαγράμματος ροής: Ο ρόμβος (έλεγχος συνθήκης) ελέγχει συνθήκες και έχει δυο εξόδους (μια θετική και μια αρνητική στην ερώτηση)

Σχολιασμός ψευδοκώδικα:

  •   Η εντολή αριθμός ← αριθμός * (-1), δεν είναι μαθηματική έκφραση αλλά εντολή εκχώρησης. Επιτρέπεται λοιπόν, η παρουσία της ίδιας μεταβλητής αριστερά και δεξιά του ←. Έτσι, πολλαπλασιάζεται το περεχόμενο της μεταβλητής αριθμός με το –1 και το αποτέλεσμα καταχωρείται εκ νέου στη μεταβλητή αριθμός
  •   Η γενική σύνταξη της δομής επιλογής είναι:

Αν συνθήκη τότε
Εντολή1

ΕντολήN

Τέλος_αν


Παράδειγμα 3: Να διαβαστεί ένας αριθμός και να εκτυπωθεί ο αντίστροφός του αριθμός

Αλγόριθμος Παράδειγμα_3
   Διάβασε αριθμός
   Αν αριθμός <> 0 τότε
      αριθμός ← 1 / αριθμός
   Τέλος_Αν
   Εκτύπωσε αριθμός
Τέλος Παράδειγμα_3

th2b 2

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


Η δομή σύνθετης επιλογής χρησιμοποιείται στην περίπτωση που επιθυμούμε να εκτελέσουμε εναλλακτικά δυο ομάδες εντολών. Κριτήριο για το ποιο σετ εντολών θα εκτελεστεί αποτελεί κάποια συνθήκη. Στην περίπτωση που η συνθήκη ισχύει θα εκτελεστεί η πρώτη ομάδα εντολών διαφορετικά θα εκτελεστεί η δεύτερη

Παράδειγμα 4: Να διαβαστούν δύο αριθμοί και να εκτυπωθεί ο μεγαλύτερος από τους δυο

Αλγόριθμος Παράδειγμα_4
   Διάβασε αριθμός1, αριθμός2
   Αν αριθμός1 < αριθμός2 τότε
αριθμός ← αριθμός2
   Αλλιώς
        αριθμός ← αριθμός1
   Τέλος_Αν
   Εκτύπωσε αριθμός
Τέλος Παράδειγμα_4

Παράδειγμα 5: Να διαβαστεί αριθμός και να εκτυπωθεί αντίστοιχο μήνυμα για το αν είναι άρτιος ή περιττός

Αλγόριθμος Παράδειγμα_5
   Διάβασε αριθμός
   Αν αριθμός mod 2 = 0 τότε
       Εκτύπωσε “Άρτιος”
   Αλλιώς
       Εκτύπωσε “Περιττός”
   Τέλος_Αν
Τέλος Παράδειγμα_5

 

Δομή Πολλαπλής Επιλογής

Κάποια προβλήματα απαιτούν την επιλογή μεταξύ περισσοτέρων από δυο περιπτώσεις

Παράδειγμα 6: Να διαβαστεί ο μέσος όρος ενός μαθητή και να εκτυπωθεί χαρακτηρισμός του

Αλγόριθμος Παράδειγμα_6
   Διάβασε βαθμός

    Αν βαθμός < 9,5 τότε
        Εκτύπωσε “Απορρίπτεται”
   Αλλιώς_Αν βαθμός < 16 τότε
        Εκτύπωσε “Καλώς”
   Αλλιώς_Αν βαθμός < 18 τότε
        Εκτύπωσε “Λίαν καλώς”
   Αλλιώς_Αν βαθμός < 20 τότε
        Εκτύπωσε “Άριστα”
   Αλλιώς
        Εκτύπωσε “Λάθος δεδομένο”
   Τέλος_Αν
Τέλος Παράδειγμα_6

    

Αλγόριθμος Παράδειγμα_6
   Διάβασε βαθμός
   Επίλεξε βαθμός
      Περίπτωση < 9,5
           Εκτύπωσε “Απορρίπτεται”
      Περίπτωση < 16
            Εκτύπωσε “Καλώς”
      Περίπτωση < 18
            Εκτύπωσε “Λίαν καλώς”
      Περίπτωση < 20
            Εκτύπωσε “Άριστα”
      Περίπτωση Αλλιώς
      Εκτύπωσε “Λάθος δεδομένο”
   Τέλος_Επιλογών
Τέλος Παράδειγμα_6

 

Σχολιασμός:

  • Μια απο τις περιπτώσεις της δομής επιλογής εκτελούνται σε κάθε περίπτωση
  • Στη δομή Επίλεξε αν δεν ικακοποιείται καμία περίπτωση τότε εκτελείται το Περίπτωση Αλλιώς
  • Τα σύμβολα ‘ και ” χρησιμοποιούνται ισοδύναμα
  • Στις περιπτώσεις που θα ελεγχθούν περιλαμβάνουμε και αυτήν την λανθασμένη εισαγωγής δεδομένων
  • Τα παραπάνω θα μπορούσαν να υλοποιηθούν και με πολλές δομές σύνθετης επιλογής