Η δομή της Επιλογής
Όπως πολύ συχνά συμβαίνει και στην καθημερινή μας ζωή, έτσι και στον προγραμματισμό, είναι ανάγκη να λαμβάνονται κάποιες αποφάσεις ανάλογα με το αν ισχύουν ή όχι κάποια ή κάποιες συνθήκες.
Για να μπορέσουμε να επιτύχουμε τη λήψη αποφάσεων και τη σωστή δρομολόγηση του προγράμματος ώστε να εκτελέι τις κατάλληλες εντολές για κάθε περίπτωση, χρησιμοποιούμε τη δομή της επιλογής .
Για να μπορέσουμε να επιτύχουμε τη λήψη αποφάσεων και τη σωστή δρομολόγηση του προγράμματος ώστε να εκτελέι τις κατάλληλες εντολές για κάθε περίπτωση, χρησιμοποιούμε τη δομή της επιλογής .
Οι μορφές της Δομής Επιλογής
Υπάρχουν τέσσερις μορφές επιλογής :
1. Η Απλή Επιλογή
2. Η Σύνθετη Επιλογή
3. Η Πολλαπλή Επιλογή , και
4. Η Εμφωλευμένη Επιλογή
1. Η Απλή Επιλογή
2. Η Σύνθετη Επιλογή
3. Η Πολλαπλή Επιλογή , και
4. Η Εμφωλευμένη Επιλογή
1. Η Απλή Επιλογή
Τη δομή της απλής επιλογής τη χρησιμοποιούμε όταν θέλουμε να εκτελεστεί μια ομάδα (σειρά) εντολών, όταν ισχύει μια συνθήκη. Η ομάδα εντολών μπορεί να αποτελείται από μια εκχώρηση, είσοδο, έξοδο, κάποια άλλη δομή επιλογής ή ακόμη και επανάληψης.
Οι εντολές οι οποίες περιέχονται σε μια δομή επιλογής γράφονται η μια κάτω από την άλλη αλλά με μια μικρή εσοχή έτσι ώστε να γίνεται εμφανές που αρχίζει, που τελειώνει και τι περιέχει η δομή της επιλογής. Αυτό μας βοηθάει και στην ευκολότερη εύρεση και διόρθωση των λαθών που τυχόν υπάρχουν, έτσι παρόλο που δεν είναι απαραίτητο να χρησιμοποιούμε τις εσοχές προτιμάμε να γράφουμε με αυτό τον τρόπο.
Οι εντολές οι οποίες περιέχονται σε μια δομή επιλογής γράφονται η μια κάτω από την άλλη αλλά με μια μικρή εσοχή έτσι ώστε να γίνεται εμφανές που αρχίζει, που τελειώνει και τι περιέχει η δομή της επιλογής. Αυτό μας βοηθάει και στην ευκολότερη εύρεση και διόρθωση των λαθών που τυχόν υπάρχουν, έτσι παρόλο που δεν είναι απαραίτητο να χρησιμοποιούμε τις εσοχές προτιμάμε να γράφουμε με αυτό τον τρόπο.
Παράδειγμα 1 - Δομή Απλής Επιλογής
Να πραγματοποιηθεί πρόγραμμα το οποίο θα ζητά από τον χρήστη να πληκτρολογήσει έναν αριθμό και αν ο αριθμός είναι θετικός θα το πολλαπλασιάζει με το 5. Έπειτα θα εμφανίζει τον αριθμό είτε άλλαξε είτε όχι.
|
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_1
ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Χ ΑΡΧΗ ΓΡΑΨΕ ΄ δώσε έναν αριθμό ΄ ΔΙΑΒΑΣΕ Χ ΑΝ Χ>0 ΤΟΤΕ Χ <-- Χ * 5 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ ΄ το αποτέλεσμα είναι: ΄, Χ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ |
2. Η Σύνθετη Επιλογή
Σε πολλές όμως περιπτώσεις θα χρειάζεται να εκτελεστεί μια ομάδα εντολών ακόμη και στη περίπτωση όπου δεν ισχύει η λογική συνθήκη της επιλογής. Η μορφή αυτή της επιλογής έχει ως εξής:
Η δομή της σύνθετης επιλογής μοιάζει πολύ με την δομή της απλής επιλογής με τη διαφορά ότι σε αυτή εκτελούνται εντολές ακόμη και αν δεν ισχύει η λογική συνθήκη.
Οι εντολές που εκτελούνται σε αυτή την περίπτωση περιγράφονται μετά τη ( δεσμευμένη ) λέξη ΑΛΛΙΩΣ.
Έτσι λοιπόν καταλαβαίνουμε ότι το ΑΛΛΙΩΣ καλύπτει τις περιπτώσεις εκείνες οι οποίες δεν περιλαμβάνονται στη λογική συνθήκη.
Για παράδειγμα , αν η λογική συνθήκη ελέγχει αν ο αριθμός που διαβάστηκε είναι θετικός, , το τμήμα εντολών που περιγράφεται μετά το ΑΛΛΙΩΣ θα εκτελείται στην περίπτωση που ο αριθμός είναι μηδέν ή αρνητικός!
ΑΝ Χ > 0 ΤΟΤΕ
{ομάδα εντολών 1 }
ΑΛΛΙΩΣ
{ομάδα εντολών 2 }
ΤΕΛΟΣ_ΑΝ
Οι εντολές που εκτελούνται σε αυτή την περίπτωση περιγράφονται μετά τη ( δεσμευμένη ) λέξη ΑΛΛΙΩΣ.
Έτσι λοιπόν καταλαβαίνουμε ότι το ΑΛΛΙΩΣ καλύπτει τις περιπτώσεις εκείνες οι οποίες δεν περιλαμβάνονται στη λογική συνθήκη.
Για παράδειγμα , αν η λογική συνθήκη ελέγχει αν ο αριθμός που διαβάστηκε είναι θετικός, , το τμήμα εντολών που περιγράφεται μετά το ΑΛΛΙΩΣ θα εκτελείται στην περίπτωση που ο αριθμός είναι μηδέν ή αρνητικός!
ΑΝ Χ > 0 ΤΟΤΕ
{ομάδα εντολών 1 }
ΑΛΛΙΩΣ
{ομάδα εντολών 2 }
ΤΕΛΟΣ_ΑΝ
Παράδειγμα 2 - Δομή Σύνθετης Επιλογής
Να πραγματοποιηθεί πρόγραμμα το οποίο θα δέχεται έναν αριθμό από το πληκτρολόγιο και αν ο αριθμός είναι άρτιος να τον τριπλασιάζει, διαφορετικά να τον διαιρεί με το 2. Έπειτα να εμφανίζει το αποτέλεσμα.
|
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_2
ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ ΑΡΧΗ ΓΡΑΨΕ ‘δωσε έναν αριθμό’ ΔΙΑΒΑΣΕ Χ ΑΝ Χ mod 2 = 0 ΤΟΤΕ Χ<-- Χ * 3 ΑΛΛΙΩΣ Χ<-- Χ / 2 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ ‘το αποτέλεσμα είναι: ‘, Χ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ |
3. Η Πολλαπλή Επιλογή
Χρησιμοποιούμε την δομή της πολλαπλής επιλογής όταν υπάρχουν περισσότεροι από 2 εναλλακτικοί «δρόμοι» τους οποίους μπορεί να επιλέξει το πρόγραμμα για την εκτέλεσή του, ανάλογα με το ποια λογική συνθήκη ικανοποιείται κάθε φορά.
Στη δομή της πολλαπλής επιλογής μπορούμε να έχουμε στην ίδια επιλογή περισσότερες από μια λογικές συνθήκες.
Πρέπει να επισημάνουμε ότι στην δομή αυτή κάθε φορά ικανοποιείται μόνο μια λογική συνθήκη (ανεξάρτητα από το πόσες έχουμε ). Έτσι μόλις βρεθεί η λογική συνθήκη η οποία ικανοποιείται αμέσως εκτελείται η ομάδα εντολών που ανήκει στη συνθήκη αυτή και τερματίζεται η επιλογή, αυτό άμεσα σημαίνει ότι όλες οι άλλες συνθήκες είναι ψευδής ( έχουμε δηλαδή μόνο μια συνθήκη αληθής) .
Ας δούμε πώς συντάσσεται και πως μπορούμε να χρησιμοποιήσουμε τη πολλαπλή δομή επιλογής:
Στη δομή της πολλαπλής επιλογής μπορούμε να έχουμε στην ίδια επιλογή περισσότερες από μια λογικές συνθήκες.
Πρέπει να επισημάνουμε ότι στην δομή αυτή κάθε φορά ικανοποιείται μόνο μια λογική συνθήκη (ανεξάρτητα από το πόσες έχουμε ). Έτσι μόλις βρεθεί η λογική συνθήκη η οποία ικανοποιείται αμέσως εκτελείται η ομάδα εντολών που ανήκει στη συνθήκη αυτή και τερματίζεται η επιλογή, αυτό άμεσα σημαίνει ότι όλες οι άλλες συνθήκες είναι ψευδής ( έχουμε δηλαδή μόνο μια συνθήκη αληθής) .
Ας δούμε πώς συντάσσεται και πως μπορούμε να χρησιμοποιήσουμε τη πολλαπλή δομή επιλογής:
Παράδειγμα 3 - Πολλαπλή Επιλογή
Να δημιουργηθεί πρόγραμμα το οποίο θα δέχεται έναν αριθμό και αν είναι αρνητικός θα υπολογίζει το ακέραιο υπόλοιπο της διαίρεσής του με το 4, αν είναι θετικός θα τον υψώνει στο τετράγωνο ενώ αν είναι μηδέν θα τον προσθέτει στο 5. Έπειτα θα εμφανίζει το αποτέλεσμα.
|
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_3
ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ ΑΡΧΗ ΓΡΑΨΕ ‘δώσε έναν αριθμό’ ΔΙΑΒΑΣΕ Χ ΑΝ Χ < 0 ΤΟΤΕ Χ<--Χ mod 4 ΑΛΛΙΩΣ_ΑΝ Χ > 0 ΤΟΤΕ Χ<-- Χ * Χ ΑΛΛΙΩΣ Χ<-- Χ + 5 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ ‘το αποτέλεσμα είναι: ‘,χ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ |
4. Εμφωλευμένη Επιλογή
Ονομάζουμε εμφωλευμένη επιλογή εκείνη η οποία βρίσκεται «μέσα» σε μια άλλη επιλογή.
ΑΝ { ΛΟΓΙΚΗ ΣΥΝΘΗΚΗ 1 } ΤΟΤΕ
ΑΝ {ΛΟΓΙΚΗ ΣΥΝΘΗΚΗ 2} ΤΟΤΕ
.........................
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
Για παράδειγμα έστω ότι θέλουμε να διαβάσει το πρόγραμμά μας έναν αριθμό και αν είναι θετικός και πολλαπλάσιο του 5 να εκτελέσει κάποια ομάδα εντολών.
Σε αυτή την περίπτωση η πρώτη δομή επιλογής θα εξετάζει αν ο αριθμός που δόθηκε είναι θετικός ή όχι και στη συνέχεια η εμφωλευμένη επιλογή θα εξετάζει αν ο αριθμός αυτός είναι πολλαπλάσιο του 5 ή όχι.
Ας δούμε ολοκληρωμένο το παράδειγμα αυτό.
ΑΝ { ΛΟΓΙΚΗ ΣΥΝΘΗΚΗ 1 } ΤΟΤΕ
ΑΝ {ΛΟΓΙΚΗ ΣΥΝΘΗΚΗ 2} ΤΟΤΕ
.........................
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
Για παράδειγμα έστω ότι θέλουμε να διαβάσει το πρόγραμμά μας έναν αριθμό και αν είναι θετικός και πολλαπλάσιο του 5 να εκτελέσει κάποια ομάδα εντολών.
Σε αυτή την περίπτωση η πρώτη δομή επιλογής θα εξετάζει αν ο αριθμός που δόθηκε είναι θετικός ή όχι και στη συνέχεια η εμφωλευμένη επιλογή θα εξετάζει αν ο αριθμός αυτός είναι πολλαπλάσιο του 5 ή όχι.
Ας δούμε ολοκληρωμένο το παράδειγμα αυτό.
Παράδειγμα 4 - Εμφωλευμένη Επιλογή
Να πραγματοποιηθεί πρόγραμμα το οποίο θα διαβάζει «ζητά» από τον χρήστη να πληκτρολογήσει έναν αριθμό και θα εμφανίζει αν είναι θετικός και πολλαπλάσιο του 5.
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_6
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ
ΑΡΧΗ
ΓΡΑΨΕ ‘δώσε έναν αριθμό’
ΔΙΑΒΑΣΕ Χ
ΑΝ Χ >0 ΤΟΤΕ
ΑΝ Χ mod 5 = 0 ΤΟΤΕ
ΓΡΑΨΕ ‘ο αριθμός είναι θετικός και πολλαπλάσιος του 5’
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ
ΑΡΧΗ
ΓΡΑΨΕ ‘δώσε έναν αριθμό’
ΔΙΑΒΑΣΕ Χ
ΑΝ Χ >0 ΤΟΤΕ
ΑΝ Χ mod 5 = 0 ΤΟΤΕ
ΓΡΑΨΕ ‘ο αριθμός είναι θετικός και πολλαπλάσιος του 5’
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ