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

Η αναγκαιότητα για επιλογή

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

[A] Τι είναι η δομή επιλογής

Η δομή επιλογής είναι μια δομή ελέγχου και είναι από τις βασικότερες δομές για την ανάπτυξη ενός προγράμματος. Χρησιμοποιείται όταν κατά την εκτέλεση ενός αλγορίθμου/ προγράμματος θα πρέπει να ελέγξουμε μια κατάσταση (συνθήκη) και ανάλογα να εκτελέσουμε ή όχι κάποιες εντολές.

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

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

Οι δομές επιλογής διακρίνονται στις ακόλουθες (εκδοχές / μορφές):

Απλή δομή επιλογής Υπάρχει έλεγχος μόνο για μία περίπτωση
Σύνθετη (ή πλήρης) δομή επιλογής Υπάρχει έλεγχος για δύο περιπτώσεις
Εμφωλευμένες δομές επιλογής Συνδυασμοί απλής και σύνθετης δομής επιλογής
Πολλαπλή επιλογή Υπάρχει έλεγχος για περισσότερες από δύο περιπτώσεις οι οποίες είναι ανεξάρτητες

Οι δύο πρώτες περιπτώσεις είναι αυτές που θα μας απασχολήσουν περισσότερο.

[B] Σύνταξη απλής δομής επιλογής

Η δομή απλής επιλογής συντάσσεται ως εξής:

Αν συνθήκη τότε
εντολή_1
εντολή_2
………
εντολή_ν
Τέλος_αν

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

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

Στο Scratch η απλή δομή επιλογής έχει την ακόλουθη μορφή και λειτουργεί ως εξής:

Ελέγχει αν η συνθήκη είναι αληθής και… αν είναι τρέχει τα τουβλάκια που είναι μέσα σε αυτήν (εντολές που περικλείονται στο άγκιστρο),… aν δεν είναι συνεχίζει με τα επόμενα τουβλάκια που βρίσκονται έξω από αυτήν (έξω από το άγκιστρο).

Παράδειγμα απλής δομής επιλογής

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

[Γ] Σύνταξη σύνθετης δομής επιλογής

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

Συντάσσεται ως εξής:

Αν συνθήκη τότε
ομάδα_εντολών_1
αλλιώς
oμάδα_εντολών_2
Τέλος_αν

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

Αν ισχύει η συνθήκη εκτελείται η ομάδα_εντολών_1 που ακολουθούν το τότε,
διαφορετικά εκτελείται η ομάδα_εντολών_2, που ακολουθούν το αλλιώς.

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

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

Παράδειγμα σύνθετης δομής επιλογής

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

Top
Μετάβαση σε γραμμή εργαλείων