Δομή επιλογής


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

Υπάρχουν τέσσερις μορφές επιλογής :
1. Η Απλή Επιλογή
2. Η Σύνθετη Επιλογή
3. Η Πολλαπλή Επιλογή , και
4. Η Εμφωλευμένη Επιλογή

Απλή Επιλογή:


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

Απλή εντολή επιλογής (σύνταξη):


Αν Συνθήκη τότε
    Εντολές
Τέλος_αν

και η λειτουργία της απλής επιλογής περιγράφεται ως εξής:


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

Λύση:
Αλγόριθμος Απλή_επιλογή
    Διάβασε α
    Αν α<0 Τότε
        α <-- α*(-1)
    Τέλος_αν
    Γράψε α
Τέλος Απλή_επιλογή

Ασκήσεις:
1) Να γράψετε αλγόριθμο που να διαβάζει έναν αριθμό. Στη συνέχεια να ελέγχει αν ο αριθμός είναι θετικός και εφόσον είναι να εμφανίζει το μήνυμα «ΘΕΤΙΚΟΣ».

2) Σε τρία διαφορετικά σημεία του νομού Χανίων καταγράφηκαν στις 12 το μεσημέρι οι θερμοκρασίες a,b,c. Να δημιουργήσετε αλγόριθμο που:
      α. θα διαβάζει τις θερμοκρασίες.
      β. θα υπολογίζει τη μέση τιμή τους
      γ. θα εμφανίζει "ΚΑΥΣΩΝΑΣ" αν η μέση τιμή είναι μεγαλύτερη των 37 βαθμών Κελσίου 

Σύνθετη Επιλογή:


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

Σύνθετη εντολή επιλογής (σύνταξη):

Αν Συνθήκη τότε
    Εντολές_1
αλλιώς
    Εντολές_2
Τέλος_αν

και η λειτουργία της δομής της σύνθετης επιλογής περιγράφεται ως εξής:


Παράδειγμα 1:

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

Λύση:
Αλγόριθμος Σύνθετη_επιλογή
    Διάβασε α,β
    Αν α<β τότε
        γ<-- α+β
    Αλλιώς
        γ<-- α-β
    Τέλος_αν
    Γράψε γ
Τέλος Σύνθετη_επιλογή

Παράδειγμα 2:
Να γράψετε αλγόριθμο που θα διαβάζει έναν αριθμό που αντιστοιχεί στο βαθμό ενός μαθητή και θα εκτυπώνει μήνυμα αν είναι αποδεκτός (εντός του διαστήματος [0, 20]) ή όχι.

Λύση:
Αλγόριθμος Αριθμός_βαθμός
  Διάβασε αριθμός
  Αν αριθμός >= 0 και αριθμός <= 20 τότε
    Εμφάνισε "Ο αριθμός είναι αποδεκτός"
  Αλλιώς
    Εμφάνισε "Ο αριθμός δεν είναι αποδεκτός"
  Τέλος_Αν
Τέλος Αριθμός_βαθμός

Παράδειγμα 3:
Να γράψετε αλγόριθμο που θα διαβάζει τις δικαιολογημένες και τις αδικαιολόγητες απουσίες ενός μαθητή και να εμφανίζει το μήνυμα "Ο μαθητής απορρίπτεται" αν οι δικαιολογημένες ξεπερνούν τις 64 ή οι αδικαιολόγητες τις 50. Σε διαφορετική περίπτωση να εμφανίζει το μήνυμα "Ο μαθητής δεν έχει πρόβλημα απουσιών".

Λύση:
  Αλγόριθμος Έλεγχος_απουσιών
  Διάβασε δικαιολογημένες, αδικαιολόγητες
  Αν (δικαιολογημένες > 64) ή (αδικαιολόγητες > 50) τότε
    Εμφάνισε "Ο μαθητής απορρίπτεται"
  Αλλιώς
    Εμφάνισε "Ο μαθητής δεν έχει πρόβλημα απουσιών"
  Τέλος_αν
Τέλος  Έλεγχος_απουσιών

Ασκήσεις:
1) Να γράψετε αλγόριθμο που να διαβάζει έναν αριθμό. Στη συνέχεια θα εμφανίζει ένα σχετικό μήνυμα για το αν ο αριθμός είναι θετικός ή όχι.

2) Να γραφεί αλγόριθμος με την μορφή ψευδογλώσσας που να:
      α. Διαβάζει δύο ακέραιους αριθμούς.
      β. Βρίσκει μεγαλύτερο από τους δύο αριθμούς max
      γ. Γράφει το μήνυμα "Ο μεγαλύτερος είναι:" και την τιμή της μεταβλητής max.

Σχόλια