Δομή Διακλάδωσης ή Δομή Επιλογής
Να διακρίνουμε τις διαφορές μεταξύ ακολουθιακής δομής και δομής διακλάδωσης
Να μελετούμε προβλήματα και να εξηγούμε αν απαιτείται ή όχι δομή διακλάδωσης
Να δίνουμε παραδείγματα από την καθημερινότητα όπου γίνεται χρήση κάποιου είδους δομής διακλάδωσης
Να χρησιμοποιούμε τη μέθοδο της προκαταρκτικής εκτέλεσης για την εξαγωγή των αποτελεσμάτων των λογικών διαγραμμάτων.
2. Να διακρίνουμε τις διαφορές μεταξύ
ακολουθιακής δομής και δομής διακλάδωσης
Να μελετούμε προβλήματα και να εξηγούμε αν
απαιτείται ή όχι δομή διακλάδωσης
Να δίνουμε παραδείγματα από την
καθημερινότητα όπου γίνεται χρήση κάποιου
είδους δομής διακλάδωσης
Να χρησιμοποιούμε τη μέθοδο της
προκαταρκτικής εκτέλεσης για την εξαγωγή
των αποτελεσμάτων των λογικών
διαγραμμάτων.
14/12/2016 2
3. Πολλές φορές τυγχάνει να εμπλακούμε σε
απλά προβλήματα τα οποία εμπεριέχουν
«διλήμματα» της καθημερινής μας ζωής.
Επίσης, όλοι έτυχε να πούμε κάποιες
φράσεις όπως π.χ. «αν διαβάσω, θα
γράψω καλά στο διαγώνισμα» ή «αν έχω
περισσότερες από 50 αδικαιολόγητες
απουσίες, θα μείνω στάσιμος».
14/12/2016 3
4. Σε αυτές τις φράσεις, όπως και σε πολλές
άλλες τις οποίες χρησιμοποιούμε στον
καθημερινό μας λόγο, μπορούμε να
αναγνωρίσουμε το γεγονός ότι ανάλογα με το
τι θα γίνει ή τι θα επιλέξουμε, θα υπάρξει
διαφορετικό αποτέλεσμα.
Αυτή η έννοια στην οποία γίνεται κάποια
σύγκριση (π.χ. να πάρουμε δύο δεδομένα και
να αποφασίσουμε εάν το πρώτο είναι ίσο,
μεγαλύτερο ή μικρότερο από το δεύτερο) ή
κάποιος λογικός συλλογισμός (π.χ.
συλλογισμός που απαντιέται με «Αληθής» ή
«Ψευδής»), ονομάζεται συνθήκη.
14/12/2016 4
5. Φράση Συνθήκη Τιμή
(Αληθής/Ψευδής)
Αποτέλεσμα
Αν βρέξει, θα
πάρω ομπρέλα.
Αν βρέξει Αληθής Θα πάρω
ομπρέλα
Ψευδής Δε θα πάρω
ομπρέλα
Αν αγοράσω
προϊόντα αξίας
πέραν των 100
ευρώ θα έχω
έκπτωση 15%
διαφορετικά θα
έχω έκπτωση 7%
Αν το ποσό
είναι
μεγαλύτερο
από 100 ευρώ
Αληθής Θα έχω έκπτωση
15%
Ψευδής Θα έχω έκπτωση
7%
14/12/2016 5
6. Όλα τα προβλήματα δεν λύνονται μόνο με τη διαδοχική
εκτέλεση κάποιων συγκεκριμένων εντολών. Πολλές
φορές πρέπει να ελεγχθεί μια κατάσταση και ανάλογα
να αποφασίσουμε αν θα συνεχίσουμε προς τη μία ή την
άλλη κατεύθυνση τις ενέργειές μας.
Η ακολουθιακή δομή εντολών ή δομή ακολουθίας
χρησιμοποιείται για την αντιμετώπιση απλών
προβλημάτων, όπου είναι δεδομένη η σειρά εκτέλεσης
ενός συνόλου ενεργειών.
◦ Ένα απλό παράδειγμα από την καθημερινή μας ζωή είναι η
ακολουθία οδηγιών μίας συνταγής μαγειρικής με στόχο την
κατασκευή ενός φαγητού. Τα βήματα και οι ποσότητες που
πρέπει να ακολουθηθούν είναι συγκεκριμένα και οι οδηγίες
απόλυτα καθορισμένες και σαφείς.
14/12/2016 6
7. Στη πραγματικότητα όμως, πολύ λίγα προβλήματα μπορούν να επιλυθούν
με τον τρόπο της ακολουθιακής δομής ενεργειών.
Συνήθως τα προβλήματα έχουν κάποιες ιδιαιτερότητες και δεν ισχύουν τα
ίδια βήματα για κάθε περίπτωση.
Η πλέον συνηθισμένη περίπτωση είναι να λαμβάνονται κάποιες
αποφάσεις με βάση κάποια δεδομένα κριτήρια, που μπορεί να είναι
διαφορετικά για κάθε διαφορετικό στιγμιότυπο ενός προβλήματος.
Οι καθημερινές απλές μας ενέργειες περιέχουν αυτή τη διαδικασία
επιλογής με βάση κάποια κατάσταση.
◦ Για παράδειγμα, το πρόβλημα της προετοιμασίας μας για έξοδο σχετίζεται με τις
καιρικές συνθήκες.
◦ Έτσι λέμε ότι «αν βρέχει, θα πάρω ομπρέλα, αλλιώς θα πάρω καπέλο».
◦ Η συνθήκη εδώ είναι το «αν βρέχει», ενώ η απόφαση είναι είτε να «πάρω ομπρέλα» είτε
να «πάρω καπέλο» με βάση την «τιμή» της συνθήκης.
14/12/2016 7
8. Η δομή διακλάδωσης ή επιλογής χρησιμοποιείται,
όταν κατά την εκτέλεση του αλγορίθμου θα πρέπει
να ελέγξουμε μια κατάσταση και ανάλογα να
εκτελέσουμε ή όχι κάποιες εντολές.
Στο λογικό διάγραμμα, η εντολή επιλογής
εμφανίζεται ως μία διακλάδωση στην πορεία της
εκτέλεσης των εντολών.
Μέσα σε έναν ρόμβο διατυπώνεται μια συνθήκη,
δηλαδή ένα ερώτημα, που μπορεί να απαντηθεί με
ΝΑΙ (True) ή ΟΧΙ (False), και ανάλογα με την
απάντηση ακολουθείται η κατάλληλη διαδρομή,
όπως φαίνεται πιο κάτω.
14/12/2016 8
10. Υπάρχει και μια δεύτερη μορφή της δομής
επιλογής, όπου ελέγχουμε μια κατάσταση
και, αν ισχύει μια συνθήκη, εκτελούμε ένα
σύνολο εντολών, ενώ, αν δεν ισχύει η
συνθήκη, εκτελούμε ένα διαφορετικό
σύνολο εντολών. Σε αυτή την περίπτωση
το λογικό διάγραμμα έχει τη μορφή του
παρακάτω σχήματος
14/12/2016 10
12. Γενικά η διαδικασία της επιλογής περιλαμβάνει τον έλεγχο
κάποιας συνθήκης που μπορεί να έχει δύο τιμές (Αληθής ή Ψευδής)
και ακολουθεί η απόφαση εκτέλεσης κάποιας ενέργειας με βάση
την τιμή της λογικής αυτής συνθήκης.
Εάν η συνθήκη είναι αληθής εκτελείται το σκέλος του ΝΑΙ, ενώ στην
αντίθετη περίπτωση που η συνθήκη είναι ψευδής, εκτελείται το
σκέλος του ΟΧΙ.
Σε πολλές περιπτώσεις αντί του ΝΑΙ και του ΟΧΙ μπορεί να δείτε
τους όρους ΟΡΘΟ / ΛΑΘΟΣ, ΑΛΗΘΗΣ/ΨΕΥΔΗΣ ή τους Αγγλικούς
Όρους TRUE / FALSE.
◦ Για παράδειγμα θα μπορούσαμε να ρωτήσουμε «Είσαι μεγαλύτερος των 18
χρόνων»;
◦ Η απάντηση σε αυτή την ερώτηση είναι ΝΑΙ ή ΟΧΙ.
◦ Αν η απάντηση είναι ΟΧΙ, η σημασία της είναι ότι το άτομο είναι Μικρότερο ή
Ίσο με 18 χρόνια.
14/12/2016 12
15. Παράδειγμα 1
Να σχεδιάσετε λογικό διάγραμμα το οποίο
να διαβάζει 2 αριθμούς X, Y. Αν οι 2
αριθμοί είναι ίσοι, τότε να τυπώνει το
μήνυμα «Είναι ίσοι».
Να γράψετε την προκαταρκτική εκτέλεση
για αρχικές τιμές α) Χ=5, Υ=5 και β) Χ=5,
Υ=6
14/12/2016 15
18. Παρατηρούμε ότι στην προκαταρκτική εκτέλεση
έχουμε μια επιπλέον περιοχή για να γράφουμε τις
αποφάσεις (δηλαδή τα αποτελέσματα των
συνθηκών).
Για κάθε απόφαση που υπάρχει στον αλγόριθμό
μας τοποθετούμε δυο στήλες, μια για τη συνθήκη
και μια για το αποτέλεσμα της συνθήκης.
Προσέξτε, επίσης, ότι σε αυτή την υποκατηγορία
προβλημάτων δομής διακλάδωσης (χωρίς εντολές
στο Όχι/False), υπάρχει περίπτωση το πρόγραμμα
που θα υλοποιήσουμε για κάποιες περιπτώσεις να
μην εμφανίζει κανένα αποτέλεσμα.
14/12/2016 18