Όνομα(τα): Όνομα(τα): Όνομα Η/Υ: Τμήμα: Ημερομηνία: Ημερομηνία: 1. Πότε Χρησιμοποιείται; Δομή Επιλογής 1. Χρησιμοποιείται σε προβλήματα όπου χρειάζεται να ληφθούν αποφάσεις με βάση κάποια κριτήρια. 2. Η διαδικασία της επιλογής περιλαμβάνει τον έλεγχο κάποιας συνθήκης με δύο δυνατές τιμές (αληθής, ψευδής) και στη συνέχεια την απόφαση εκτέλεσης κάποιας εντολής ανάλογα με τη συνθήκη. Υπάρχουν τρεις δομές επιλογής: η απλή, η σύνθετη και η πολλαπλή. 2. Τελεστές Σύγκρισης = ίσο <= ή μικρότερο ή ίσο ή <> διάφορο > μεγαλύτερο < μικρότερο >= ή μεγαλύτερο ή ίσο Συμπληρώστε τον παρακάτω πίνακα με Αληθής (αν ισχύει) ή Ψευδής (αν ισχύει) Το α έχει τιμή 6 Το α έχει τιμή -2 Το α έχει τιμή 5 Το α έχει τιμή 20 Το α έχει τιμή 10 α=5 Αληθής α<= 10 Αληθής α<>8 Αληθής α>-6 α<7 Ψευδής α>=10 Ψευδής 3. Λογικοί τελεστές Έστω δυο προτάσεις Χ και Υ. Ισχύει: ΚΑΙ: πρέπει να είναι αληθείς και οι 2 προτάσεις για να πάρουμε αποτέλεσμα αληθής. Ή: έστω και μία πρόταση να είναι αληθής το αποτέλεσμα είναι αληθής ΟΧΙ: αντιστρέφει το αποτέλεσμα. Μετατρέπει το αληθής σε ψευδής και αντίστροφα. Με βάση τις παραπάνω διατυπώσεις συμπληρώστε τον παρακάτω πίνακα: Κουμπούρη Θεοδώρα - σελ. 1 - Αλγοριθμική & Προγραμματισμός
Χ Υ Χ ΚΑΙ Υ Χ Ή Υ ΟΧΙ Χ ΟΧΙ Υ Αληθής Αληθής Αληθής Ψευδής Αληθής Ψευδής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Όπου: Α = αληθής, Ψ = ψευδής 4. Συζητείστε Συζητείστε στην τάξη με την καθηγήτριά σας για τα παραπάνω. Σημείωση: Οι εκφωνήσεις των ασκήσεων που χρησιμοποιούνται είναι από το βιβλίο Εφαρμογές Πληροφορικής, το βιβλίο της ΑΕΠΠ, τις Πανελλαδικές Εξετάσεις και από το ασκησιολόγιο της συναδέλφου Πύρζα Φανής, απλοποιημένες και προσαρμοσμένες για τη συγκεκριμένη διδακτική παρέμβαση. 5. Χρήση της Απλής Επιλογής Σύνταξη Αν <συνθήκη> τότε Εντολή1 Εντολή2... Τέλος_Αν Πότε τη χρησιμοποιούμε Χρησιμοποιείται όταν έχουμε να πάρουμε κάποια απόφαση και ζητείται να γίνει κάποια ενέργεια μόνο αν η συνθήκη είναι αληθής. Σε περίπτωση που η τιμή της συνθήκης είναι ψευδής δεν γίνεται κάποια ενέργεια. Παράδειγμα Να γραφεί αλγόριθμος ο οποίος να διαβάζει έναν αριθμό και αν αυτός είναι μεγαλύτερος από 10 να εμφανίζει το μήνυμα Προάγεσαι!. Λύση Αλγόριθμος Απλή_Επιλογή Διάβασε αριθμός Αν αριθμός > 10 τότε Εμφάνισε Προάγεσαι! Κουμπούρη Θεοδώρα - σελ. 2 - Αλγοριθμική & Προγραμματισμός
Τέλος_αν Τέλος Απλή_Επιλογή Ανάλυση Εάν θα εμφανιστεί ή όχι το μήνυμα 'πέρασες' εξαρτάται από την τιμή της συνθήκης: αριθμός> 10 η οποία μπορεί να είναι αληθής ή ψευδής. Αν είναι αληθής θα εμφανιστεί το μήνυμα. Αν είναι ψευδής δεν θα εμφανιστεί κάτι... 6. Χρήση της Σύνθετης Επιλογής Σύνταξη Αν <συνθήκη> τότε Εντολές1 αλλιώς Εντολές2 Τέλος_Αν Πότε τη χρησιμοποιούμε Χρησιμοποιείται όταν έχουμε να πάρουμε κάποια απόφαση και ζητείται να γίνει μια ενέργεια αν η συνθήκη είναι αληθής και μια άλλη ενέργεια όταν η τιμή της συνθήκης είναι ψευδής. Προσοχή! Το αλλιώς ουσιαστικά σημαίνει σε όλες τις άλλες περιπτώσεις. Παράδειγμα Να γραφεί αλγόριθμος ο οποίος να διαβάζει έναν αριθμό και αν αυτός είναι μεγαλύτερος από 10 να εμφανίζει το μήνυμα Προάγεσαι!, αν όχι να εμφανίζει το μήνυμα Απορρίπτεσαι. Λύση Αλγόριθμος Σύνθετη_Επιλογή Διάβασε αριθμός Αν αριθμός > 10 τότε Εμφάνισε Προάγεσαι! Αλλιώς Εμφάνισε Απορρίπτεσαι Τέλος_αν Τέλος Σύνθετη_Επιλογή Ανάλυση Εάν θα εμφανιστεί ή όχι το μήνυμα Προάγεσαι! εξαρτάται από την τιμή της συνθήκης: αριθμός > 10 η οποία μπορεί να είναι αληθής ή ψευδής. Αν είναι αληθής θα εμφανιστεί το μήνυμα Προάγεσαι! Αν είναι ψευδής θα εμφανιστεί το μήνυμα Απορρίπτεσαι Ελέγξτε τον αλγόριθμο για τις τιμές: 9, 10, 11. Γράψε τις τιμές που θα εμφανιστούν κάθε φορά: Κουμπούρη Θεοδώρα - σελ. 3 - Αλγοριθμική & Προγραμματισμός
Για την τιμή 9 θα εμφανιστεί το μήνυμα: Για την τιμή 10 θα εμφανιστεί το μήνυμα: Για την τιμή 11 θα εμφανιστεί το μήνυμα: Υπάρχει κάποια τιμή για την οποία δε θα εμφανιστεί κάποιο μήνυμα; Εξηγήστε 7. Χρήση της Πολλαπλής Επιλογής Σύνταξη Αν <συνθήκη1> τότε Εντολές1 αλλιώς_αν <συνθήκη2> τότε Εντολές2 αλλιώς_αν <συνθήκη3> τότε Εντολές3... αλλιώς ΕντολέςΝ Τέλος_Αν Πότε τη χρησιμοποιούμε Χρησιμοποιείται όταν έχουμε να πάρουμε κάποια απόφαση και ζητείται να γίνει διαφορετική ενέργεια κάθε φορά ανάλογα με την τιμή της συνθήκης. Προσοχή! Το τελευταίο αλλιώς μπορεί να παραληφθεί αν δεν θέλουμε να γίνεται οποιαδήποτε ενέργεια σε όλες τις άλλες περιπτώσεις. Παράδειγμα Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει το μέσο όρο ενός μαθητή κατά την περασμένη σχολική χρονιά και θα εκτυπώνει το αντίστοιχο μήνυμα σύμφωνα με τα ακόλουθα: Αν ο μέσος όρος είναι μικρότερος από 9,5 ο μαθητής απορρίπτεται, αν είναι από 9,5 έως και 13 τότε ο χαρακτηρισμός του μαθητή είναι "Σχεδόν καλά", αν είναι μεγαλύτερος του 13 έως και 16 ο χαρακτηρισμός είναι "Καλά", αν μεγαλύτερος του 16 έως και 18 "Πολύ καλά", ενώ τέλος αν ο μέσος όρος είναι μεγαλύτερος του 18 ο χαρακτηρισμός είναι "Άριστα". Σημείωση: Θεωρήστε ότι ο μέσος όρος που εισάγεται από το πληκτρολόγιο είναι στο διάστημα [0,20]. Λύση Αλγόριθμος Χαρακτηρισμός_ΜΟ Διάβασε μέσος_όρος Αν μέσος_όρος < 9.5 τότε Εκτύπωσε "Ο μαθητής απορρίπτεται" Αλλιώς_αν μέσος_όρος <= 13 τότε Εκτύπωσε "Σχεδόν καλά" Κουμπούρη Θεοδώρα - σελ. 4 - Αλγοριθμική & Προγραμματισμός
Αλλιώς_αν μέσος_όρος <= 16 τότε Εκτύπωσε "Καλά" Αλλιώς_αν μέσος_όρος <= 18 τότε Εκτύπωσε "Πολύ καλά" Αλλιώς_αν μέσος_όρος <= 20 τότε Εκτύπωσε "Άριστα" Αλλιώς Εκτύπωσε "Λάθος καταχώρηση δεδομένων" Τέλος_αν Τέλος Χαρακτηρισμός_ΜΟ Ανάλυση Ποιο μήνυμα θα εμφανιστεί εξαρτάται από την τιμή της συνθήκης: Αν είναι αληθής η συνθήκη μέσος_όρος < 9.5 θα εκτελέσει την εντολή που αντιστοιχεί στη συνθήκη αυτή, θα εμφανίσει το μήνυμα "Ο μαθητής απορρίπτεται" και ο έλεγχος ροής θα μεταφερθεί στο Τέλος_αν. Αν η πρώτη συνθήκη είναι ψευδής τότε θα ελέγξει τη δεύτερη συνθήκη και αν είναι αληθής η συνθήκη μέσος_όρος <= 13 θα εκτελέσει την εντολή που αντιστοιχεί στη συνθήκη αυτή, θα εμφανίσει το μήνυμα "Σχεδόν καλά" και ο έλεγχος ροής θα μεταφερθεί στο Τέλος_αν. Με τον ίδιο τρόπο θα ελέγξει και τις παρακάτω συνθήκες ώσπου να βρει κάποια που να είναι αληθής ώστε να εκτελέσει την εντολή που αντιστοιχεί στη συγκεκριμένη συνθήκη. Ερωτήσεις Είναι σωστός ο παραπάνω αλγόριθμος; Γιατί δεν χρησιμοποιούμε τον λογικό τελεστή ΚΑΙ για να ορίσουμε τα όρια; πχ: (μέσος_όρος>13) ΚΑΙ (μέσος_όρος<=16). Συζητήστε με την καθηγήτριά σας το συγκεκριμένο τρόπο υλοποίησης και άλλους εναλλακτικούς. Είναι απαραίτητη η χρήση του τελευταίου Αλλιώς στη συγκεκριμένη εκφώνηση και γιατί; Τι νομίζετε ότι θα συνέβαινε αν δεν υπήρχε η αρχική παραδοχή ότι ο μέσος όρος θα βρίσκεται στο διάστημα 0-20 και είχε δοθεί ως μέσος όρος αρνητικός αριθμός; Υπάρχει κάποια τιμή για την οποία δεν θα εμφανιστεί μήνυμα; Εξηγήστε Κουμπούρη Θεοδώρα - σελ. 5 - Αλγοριθμική & Προγραμματισμός
Δημιουργήστε το Διάγραμμα Ροής του προηγούμενου αλγορίθμου Κουμπούρη Θεοδώρα - σελ. 6 - Αλγοριθμική & Προγραμματισμός