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

Print
Category: Uncategorised
Published on 13 March 2012
Written by Super User Hits: 2481

Η δομή επιλογής είναι η δεύτερη λογική δομή του δομημένου προγραμματισμού. Δίνει τη δυνατότητα για τη λύση πιο σύνθετων αλγορίθμων. Ουσιαστικά δίνει τη δυνατότητα ελέγχου για την εκτέλεση ή μη κάποιων εντολών. Ο έλεγχος αυτός υλοποιείται με τον έλεγχο κάποιας συνθήκης (απλής ή σύνθετης) και σχετίζεται με αν ισχύει (δηλ. είναι αληθής) ή δεν ισχύει (δηλ. είναι ψευδής) η συγκεκριμένη συνθήκη. Υπάρχουν τέσσερα είδη δομής επιλογής, τα οποία είναι :

 

1. Απλή Επιλογή

 

Παράδειγμα : Να δίνεται η απόσταση (σε χιλιόμετρα) των διαδρομών που έκανα χθες και σήμερα, αν η σημερινή είναι άνω των 40 χιλ/τρων να εμφανίζεται το άθροισμα της χθεσινής με το 2πλάσιο της σημερινής διαδρομής και το μήνυμα ΄ διένυσα μεγάλη απόσταση’.

 

Αν  συνθήκη  τότε

     Εντολές

Τέλος_Αν

 

Αρχή

Διάβασε Χ,Θ

Aν Θ > 40 τότε

      Σ<- Χ+Θ*2

      Γράψε Σ

Γράψε 'διένυσα μεγάλη απόσταση'

Τέλος_Αν

Τέλος

Παρατήρηση 1.

Εξετάσουμε μόνο την περίπτωση που ισχύει η συνθήκη και μόνο τότε εκτελούνται οι εντολές. Δεν μας ενδιαφέρει και δεν ελέγχεται η περίπτωση που δεν ισχύει η συνθήκη.

2. Διπλή ή Σύνθετη Επιλογή

 

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

 

Αν συνθήκη τότε

     Εντολές_1

Αλλιώς

     Εντολές_2

Τέλος_Αν

Αρχή

Αν Π>=Χ τότε

      Γράψε ‘μπορώ να το αγοράσω’

      ΠΕΡ<- Π-Χ

Γράψε ‘περίσσεψαν ‘, ΠΕΡ, ‘ευρώ ‘

Αλλιώς

      Γράψε ‘ δεν μπορώ να το αγοράσω’

Τέλος_Αν

Τέλος

Παρατήρηση 2.

Εξετάζουμε πρώτα την περίπτωση που ισχύει η συνθήκη δηλ. είναι αληθής και εκτελούνται οι εντολές_1 . Μετά με το Αλλιώς δηλ. όταν η συνθήκη είναι ψευδής εκτελούνται οι εντολές_2. Ουσιαστικά ελέγχεται αυτόματα η ακριβώς αντίθετη συνθήκη αν είναι αληθής.

3. Εμφωλευμένη

Παράδειγμα : Να δίνεται ένας ακέραιος θετικός αριθμός και να εμφανίζεται κατάλληλο μήνυμα για το πλήθος των ψηφίων του. Αν έχει από 4 και πάνω να εμφανίζει το μήνυμα ‘ έχει πολλά ψηφία’.

Αν συνθήκη_Α τότε

     Εντολές_1

 Αλλιώς

     Αν συνθήκη_Β τότε

              Εντολές_2

      Αλλιώς

              Αν συνθήκη_Γ τότε

                        Εντολές_3

              Αλλιώς

                        Εντολές_4

              Τέλος_Αν

     Τέλος_Αν

Τέλος_Αν

Αρχή

Διάβασε Χ

Αν Χ<10 τότε

      Γράψε ΄Μονοψήψιος’

 Αλλιώς

      Αν Χ<100 τότε

                  Γράψε ‘Διψήφιος’

       Αλλιώς

                  Αν Χ<1000 τότε

                              Γράψε τριψήφιος’

                  Αλλιώς

                              Γράψε ‘έχει πολλά ψηφία’

                  Τέλος_Αν

      Τέλος_Αν

Τέλος_Αν

Τέλος

Παρατήρηση 3.

Ο τύπος αυτής δομής είναι χρήσιμος όταν η κάθε περίπτωση είναι συνέχεια της προηγούμενης. Στο παράδειγμά μας όταν εξετάζεται αν το Χ<100 εννοείται ότι είναι και Χ>=10 δηλ. ισχύει και το ακριβώς αντίθετο της προηγούμενης συνθήκης. Δηλαδή σαν να είχαμε γράψει Χ>=10 και Χ<100, αλλά λόγω της εμφώλευσης είναι περιττός και ο έλεγχος του Χ>=10.

4. Πολλαπλή

Υπάρχει και η Πολλαπλή επιλογή, αλλά είναι εκτός ύλης και δεν διδάσκεται. Άλλωστε αλγοριθμικά καλύπτεται από την εμφωλευμένη. Η διαφορά της με την εμφωλευμένη είναι ότι η κάθε περίπτωση ελέγχεται ξεχωριστά και δεν παρουσιάζει ιδιαίτερο ενδιαφέρον.

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

 Ασκήσεις που λύνονται με όλα τα είδη της Δομής Επιλογής - πατήστε ΕΔΩ