43 2.55 Ποιες είναι οι δύο μορφές της δομής πολλαπλής επιλογής και ποτέ χρησιμοποιείται; 1 η Μορφή:Η πολλαπλή επιλογή εφαρμόζεται στα προβλήματα όπου μπορούν να ληφθούν διαφορετικές αποφάσεις ανάλογα με την τιμή μιας λογικής έκφρασης: Αν Συνθήκη 1 τότε Ομάδα Εντολών 1 _αν Συνθήκη 2 τότε Ομάδα Εντολών 2 Η πολλαπλή επιλογή επεκτείνει τη σύνθετη επιλογή. Αρχικά ελέγχεται η Συνθήκη 1 Και αν ισχύει εκτελείται η Ομάδα Εντολών 1 Και συνεχίζει η εκτέλεση του αλγορίθμου μετά το τέλος_αν Αν δεν ισχύει όμως η Συνθήκη 1 Τότε ελέγχεται η Συνθήκη 2 _αν Συνθήκη 3 τότε Ομάδα Εντολών 3 Ομάδα Εντολών Ν Και αν ισχύει εκτελείται η Ομάδα Εντολών 2 Αν δεν ισχύει όμως η Συνθήκη 2 Τότε ελέγχεται η Συνθήκη 3 Και αν ισχύει εκτελείται η Ομάδα Εντολών 3 Αν δεν ισχύει καμία από τις συνθήκες. Θα εκτελεστεί η Ομάδα Εντολών Ν κ.ο.κ..
44 2.55 Ποιες είναι οι δύο μορφές της δομής πολλαπλής επιλογής και ποτέ χρησιμοποιείται; 2 η Μορφή:Η πολλαπλή επιλογή εφαρμόζεται στα προβλήματα όπου μπορούν να ληφθούν διαφορετικές αποφάσεις ανάλογα με την τιμή μιας λογικής έκφρασης: Επίλεξε Έκφραση Περίπτωση Τιμή ή Τιμές Ομάδα Εντολών 1 Περίπτωση Τιμή ή Τιμές Ομάδα Εντολών 2 Περίπτωση Τιμή ή Τιμές Ομάδα Εντολών 3 Περίπτωση Ομάδα Εντολών Ν Στη δομή επιλογής Επίλεξε, υπολογίζεται η Έκφραση και ανάλογα με την τιμή της εκτελούνται οι αντίστοιχες εντολές. Αν η τιμή της Έκφρασης δεν ταιριάζει με καμία, από τις τιμές που εμφανίζονται μετά τη λέξη Περίπτωση Θα εκτελεστούν οι Εντολές που βρίσκονται στην Περίπτωση Ομάδα Εντολών Ν _επιλογών
45 2.56 Υπενθύμιση Να γραφεί αλγόριθμος που θα δέχεται ως είσοδο τρεις τιμές. Οι δύο πρώτες θα είναι αριθμητικές, ενώ η τρίτη τιμή θα είναι αλφαριθμητική. Ο αλγόριθμος θα εμφανίζει το άθροισμα των δύο πρώτων τιμών όταν η τρίτη μεταβλητή ισούται με ΠΡΟΣΘΕΣΗ και τη διαφορά των δύο πρώτων σε οποιαδήποτε άλλη περίπτωση. Λύση Ο αλγόριθμος θα διαβάζει 3 τιμές, οι οποίες θα εισάγονται σε 3 μεταβλητές. Ο έλεγχος αφορά την τιμή της τρίτης μεταβλητής.. Αλγόριθμος Διάβασε. α, β, γ ΑΡΙΘ_ΠΡΑΞΗ Δώσε τρεις τιμές πάνε πακέτο. Η Τρίτη τιμή θα είναι αλφαριθμητική, εφόσον το περιεχόμενο της είναι μια λέξη. Τις αλφαριθμητικές μεταβλητές τις διαβάζουμε όπως και τις υπόλοιπες μεταβλητές, απλά στον έλεγχο ή στην εντολή εκχώρησης χρησιμοποιούμε διπλά εισαγωγικά. Αν γ = ΠΡΟΣΘΕΣΗ τότε α+β! Δύο περιπτώσεις α-β ΠΡΟΣΘΕΣΗ Άρα ο αλγόριθμος είναι : ΑΡΙΘ_ΠΡΑΞΗ
46 2.56b Να γραφεί αλγόριθμος που θα δέχεται ως είσοδο τρεις τιμές. Οι δύο πρώτες θα είναι αριθμητικές, ενώ η τρίτη τιμή θα είναι αλφαριθμητική. Ο αλγόριθμος θα εμφανίζει το άθροισμα των δύο πρώτων τιμών όταν η τρίτη μεταβλητή ισούται με ΠΡΟΣΘΕΣΗ τη διαφορά των δύο πρώτων τιμών όταν η τρίτη μεταβλητή ισούται με ΑΦΑΙΡΕΣΗ το γινόμενο των δύο πρώτων τιμών όταν η τρίτη μεταβλητή ισούται με ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ το πηλίκο των δύο πρώτων τιμών όταν η τρίτη μεταβλητή ισούται με ΔΙΑΙΡΕΣΗ. Λύση Ο αλγόριθμος θα διαβάζει 3 τιμές, οι οποίες θα εισάγονται σε 3 μεταβλητές. Ο έλεγχος αφορά την τιμή της τρίτης μεταβλητής, ανάλογα με την πράξη. Η Τρίτη τιμή θα είναι αλφαριθμητική, εφόσον το περιεχόμενο της είναι μια λέξη. Τις αλφαριθμητικές μεταβλητές τις διαβάζουμε όπως και τις υπόλοιπες μεταβλητές, απλά στον έλεγχο ή στην εντολή εκχώρησης χρησιμοποιούμε διπλά εισαγωγικά. Άρα ο αλγόριθμος είναι :. Αλγόριθμος Διάβασε Αν _αν α, β, γ ΑΡΙΘ_ΠΡΑΞΕΙΣ Δώσε τρεις τιμές γ = ΠΡΟΣΘΕΣΗ τότε α+β! ΌΧΙ Δύο περιπτώσεις α-β γ = ΑΦΑΙΡΕΣΗ ΑΡΙΘ_ΠΡΑΞΕΙΣ πάνε πακέτο. τότε ΠΡΟΣΘΕΣΗ _αν γ = ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ τότε α*β _αν γ = Διαίρεση και β 0 τότε α/β ΑΠΡΟΣΔΙΟΡΙΣΤΑ
2.57 47 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος αν δοθεί σαν είσοδος η τιμή 1)-20, 2) 10 και Αλγόριθμος Παράδειγμα_Η 3)20 Διάβασε α Αν α < 0 τότε Μικρότερο του 0 _αν α =< 10 τότε Μεταξύ του 0 και του 10 Μεγαλύτερο του 10 Παράδειγμα_Η 1) Η εντολή Διάβασε α εκχωρεί στη μεταβλητή α την τιμή -20 Ηεπόμενη εντολή είναι Πολλαπλή επιλογή. Ελέγχει αν η α έχει τιμή μικρότερη από την τιμή 0. Η συνθήκη είναι αληθής οπότε θα εμφανιστεί το μήνυμα: Μικρότερο του 0. Κατόπιν θα συνεχιστεί η εκτέλεση του αλγορίθμου μετά το _άν Δηλ οι υπόλοιπες συνθήκες δε θα εκτελεστούν. -20 Μικρότερο του 0
2.57 48 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος αν δοθεί σαν είσοδος η τιμή 1)-20, 2) 10 και Αλγόριθμος Παράδειγμα_Η 3)20 Διάβασε α Αν α < 0 τότε Μικρότερο του 0 _αν α =< 10 τότε Μεταξύ του 0 και του 10 Μεγαλύτερο του 10 Παράδειγμα_Η 2) Η εντολή Διάβασε α εκχωρεί στη μεταβλητή α την τιμή 10 Ελέγχει αν η α έχει τιμή μικρότερη από την τιμή 0. Η συνθήκη είναι Ψευδής οπότε θα γίνει έλεγχος στη δεύτερη συνθήκη. Η συνθήκη είναι αληθής οπότε θα εμφανιστεί το μήνυμα: Μεταξύ του 0 και του 10 Κατόπιν θα συνεχιστεί η εκτέλεση του αλγορίθμου μετά το _άν Δηλ η επόμενη συνθήκη δε θα εκτελεστεί. 10 Μεταξύ του 0 και του 10
2.57 49 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος αν δοθεί σαν είσοδος η τιμή 1)-20, 2) 10 και Αλγόριθμος Παράδειγμα_Η 3)20 Διάβασε α Αν α < 0 τότε Μικρότερο του 0 _αν α =< 10 τότε Μεταξύ του 0 και του 10 Μεγαλύτερο του 10 Παράδειγμα_Η 3) Η εντολή Διάβασε α εκχωρεί στη μεταβλητή α την τιμή 20 Ελέγχει αν η α έχει τιμή μικρότερη από την τιμή 0. Η συνθήκη είναι Ψευδής οπότε θα γίνει έλεγχος στη δεύτερη συνθήκη. Η δεύτερη συνθήκη ελέγχει αν το α έχει τιμή μικρότερη ή ίση από το 10, είναι όμως Ψευδής οπότε θα οδηγηθούμε στο. Και θα εμφανιστεί το μήνυμα Μεγαλύτερο του 10 Κατόπιν θα συνεχιστεί η εκτέλεση του αλγορίθμου μετά το _άν Και θα τερματίσει ο αλγόριθμος. 20 Μεγαλύτερο του 10
2.58 50 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος αν δοθεί σαν είσοδος η τιμή 50 ; Δ Ο Μ η Αλγόριθμος Παράδειγμα_17 Διάβασε α Επίλεξε α Περίπτωση <0 Μικρότερο του 0 Περίπτωση =0 Ίσο με 0 Περίπτωση Μεγαλύτερο του 0 _επιλογών Παράδειγμα_17 προσοχή 3) Η εντολή Διάβασε α εκχωρεί στη μεταβλητή α την τιμή 50 Ελέγχει αν η α έχει τιμή μικρότερη από την τιμή 0. Περίπτωση <0 Η συνθήκη είναι Ψευδής οπότε δεν θα εκτελεστούν οι εντολές της Περίπτωση <0. Μεταβαίνουμε στη Περίπτωση =0. Η συνθήκη είναι Ψευδής οπότε δεν θα εκτελεστούν οι εντολές της Περίπτωση =0. Μεταβαίνουμε στη Περίπτωση. Ισχύει Και θα εμφανιστεί το μήνυμα Μεγαλύτερο του 0 Κατόπιν θα συνεχιστεί η εκτέλεση του αλγορίθμου μετά το _επιλογών Και θα τερματίσει ο αλγόριθμος. Αν α < 0 τότε 50 Μεγαλύτερο του 0
2.59 51 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος αν δοθεί σαν είσοδος η τιμή Πέμπτη; Αλγόριθμος Διάβασε Επίλεξε Παράδειγμα_18 Δώσε μια ημέρα ημέρα ημέρα Περίπτωση Κυριακή, Δευτέρα, Τρίτη Αρχή εβδομάδας _επιλογών Περίπτωση Παράδειγμα_18 Τετάρτη, Πέμπτη Μέση εβδομάδας Περίπτωση Παρασκευή, Σάββατο εβδομάδας Περίπτωση_ Λάθος ημέρας Ηπρώτη εντολή θα εμφανίσει το μήνυμα: Δώσε μια ημέρα Αφού θα διαβαστεί η ημέρα, Θα γίνει έλεγχος αν η μεταβλητή ημέρα έχει τιμή Κυριακή ή Δευτέρα ή Τρίτη. Επειδή η πρώτη περίπτωση δεν είναι αληθής, Θα γίνει έλεγχος της δεύτερης περίπτωσης Αυτή είναι αληθής οπότε θα εμφανιστεί το μήνυμα :Μέση εβδομάδας Δώσε μια ημέρα Δώσε μια ημέρα Πέμπτη Μέση εβδομάδος
2.60 52 Να γραφεί ο παρακάτω αλγόριθμος με τη μορφή της Πολλαπλής επιλογής Αν _αν Αλγόριθμος Παράδειγμα_18 Αλγόριθμος Παράδειγμα_18 Δώσε μια ημέρα Διάβασε ημέρα Επίλεξε ημέρα Περίπτωση Κυριακή, Δευτέρα, Τρίτη Αρχή εβδομάδας Περίπτωση Τετάρτη, Πέμπτη Μέση εβδομάδας Περίπτωση Παρασκευή, Σάββατο εβδομάδας Περίπτωση_ Λάθος ημέρας _επιλογών Δώσε μια ημέρα Διάβασε ημέρα Αν ημέρα= Κυριακή ή ημέρα= Δευτέρα ή ημέρα= Τρίτη τότε Αρχή εβδομάδας _αν ημέρα= Τετάρτη ή ημέρα= Πέμπτη τότε Μέση εβδομάδας _αν ημέρα= Παρασκευή ή ημέρα= Σάββατο τότε εβδομάδας Λάθος ημέρας Παράδειγμα_18 Παράδειγμα_18 Το πρώτο Περίπτωση μετατρέπεται σε Αν τότε. Από το δεύτερο ως το προτελευταίο Περίπτωση μετατρέπονται σε _αν.τότε. Το Περίπτωση μετατρέπεται σε. Προσοχή: Αν υπάρχει τελεστής τον χρησιμοποιούμε, Το _επιλογών μετατρέπεται σε Τελος_αν. αν όχι βάζουμε τον τελεστή της ισότητας(=) ~2.58. Αν μετά το Περίπτωση υπάρχει μια ακολουθία τιμών χρησιμοποιούμε το λογικό τελεστή ή.
2.61 53 Να γραφεί η παρακάτω μορφή με τη μορφή της Πολλαπλής επιλογής κάνοντας χρήση της δομής απλής επιλογής. Αν Σ1 τότε Αν Σ1 τότε Ομάδα εντολών 1 _αν Σ2 Ομάδα εντολών 2 _αν Σ3 Ομάδα εντολών 3 Ομάδα εντολών 4 τότε τότε Ομάδα εντολών 1 Αν (όχισ1) και Σ2 τότε Ομάδα εντολών 2 Αν (όχισ1) και (όχισ2) και Σ3 τότε Ομάδα εντολών 3 Αν (όχισ1) και (όχισ2) και (όχισ3) τότε Ομάδα εντολών 4 Για να εκτελεστούν οι εντολές που βρίσκονται σε κάποιο _αν Θα πρέπει οι προηγούμενες Συνθήκες να είναι Ψευδείς Άρα η ισοδύναμη της σύνθετης επιλογής είναι:
2.62 54 Να γραφεί με διάγραμμα ροής ο ακόλουθος αλγόριθμος. Αλγόριθμος Παράδειγμα_11 Διάβασε α,β Διάβασε α,β Αν α >β τότε α Όχι α>β α<β _αν α <β τότε β Ίσοι Παράδειγμα_11 Αρχή Ναι α Ναι β Όχι Ίσοι
2.63 55 Να γραφεί αλγόριθμος που θα διαβάζει τη θέση ενός αθλητή στο αγώνισμα του στίβου. Αν η θέση ισούται με 1 ή 2 ή 3, θα εμφανίζεται το μήνυμα Πρώτος ή Δεύτερος ή Τρίτος αντίστοιχα.αν δοθεί διαφορετική είσοδος,θα εμφανίζεται το μήνυμα Εκτός πρώτης τριάδας. Επειδή θα κάνουμε έλεγχο για διαφορετικές τιμές της μεταβλητής θα χρησιμοποιήσουμε την πολλαπλή δομή.. Αλγόριθμος Παράδειγμα_18 Δώσε θέση του αθλητή Διάβασε θέση Αν θέση=1 τότε Πρώτος _αν θέση=2 τότε Δεύτερος _αν θέση=3 τότε Τρίτος Εκτός πρώτης τριάδας Παράδειγμα_18 Αλγόριθμος Παράδειγμα_18 Δώσε θέση του αθλητή Διάβασε θέση Επίλεξε θέση Περίπτωση 1 Περίπτωση =1 Πρώτος Περίπτωση 2 Δεύτερος Περίπτωση 3 Τρίτος Περίπτωση_ Εκτός πρώτης τριάδας _επιλογών Παράδειγμα_18 Παρατηρούμε ότι τα Αν τοτε και _αν εκφράζονται με τη δεσμευμένη λέξη Περίπτωση. Ενώ το γίνεται Περίπτωση_ Μετά το Περίπτωση το ίσον παραλείπεται
2.64 56 Να γραφεί αλγόριθμος που θα διαβάζει το βαθμό ενός φοιτητή στο μάθημα της Πληροφορικής. Αφού ελέγξει σε ποιο διάστημα τιμών ανήκει ο βαθμός να εμφανίζει το κατάλληλο μήνυμα, σύμφωνα με τον ακόλουθο πίνακα. [0-4.5 ] Απέτυχες (4.5-6.5 ] Καλώς (6.5-8.5 ] Λίαν Καλώς (8.5-10 ] Άριστα Αφού διαβάσουμε το βαθμό του φοιτητή θα ελέγξουμε σε ποιο διάστημα τιμών ανήκει. π.χ. [0-4.5 ] Αλγόριθμος Έλεγχος_βαθμού Δώσε το βαθμό του μαθητή Διάβασε β Αν β>=0 και β<=4.5 τότε Απέτυχες _αν β>4.5 και β<=6.5 τότε Καλώς _αν β>6.5 και β<=8.5 τότε Λίαν καλώς _αν β>8.5 και β<=10 τότε Άριστα Μη αποδεκτός βαθμός! Όχι 0=<β=<4.5 Πάντα με και κόλπο Έλεγχος_βαθμού Το μήνυμα στο το βάζουμε για να καλύψουμε την περίπτωση λάθους. Προσοχή για παραστάσεις α<χ<β χρησιμοποιούμε το λογικό τελεστή και.
2.65 57 Στα εισιτήρια των τρένων υπάρχουν πέντε κατηγορίες εισιτηρίων: Πολύτεκνο, Αναπηρικό, Στρατιωτικό, Φοιτητικό, και Κανονικό. 50% 25% 100% Οι δύο πρώτες κατηγορίες πληρώνουν το 50% της αξίας του κανονικού εισιτηρίου. Η τρίτη και η τέταρτη κατηγορία έχουν έκπτωση 25%. η τελευταία κατηγορία πληρώνει ολόκληρη την αξία του εισιτηρίου. Να γραφεί αλγόριθμος που αφού διαβάσει το αντίτιμο ενός εισιτηρίου μιας διαδρομής και τη κατηγορία που ανήκει ο επιβάτης, να εμφανίζει τι πρέπει να πληρώσει. Η πληροφορία για την κατηγορία του επιβάτη θα δίνεται με το αντίστοιχο γράμμα. Ο αλγόριθμος θα διαβάζει μια τιμή που θα αντιστοιχεί στο αντίτιμο του εισιτηρίου και ένα γράμμα που θα αντιστοιχεί στη κατηγορία του πελάτη. Αλγόριθμος Διάβασε Αν κ= Π ή Αντίτιμο_Εισιτηρίου Δώσε την αξία της διαδρομής και την κατηγορία πελάτη α,κ ποσό_πληρωμής α-50/100*α _αν κ= Σ ή ποσό_πληρωμής κ= Α τότε! Για κατηγορίες Πάντα με ή κ= Φ τότε α-25/100*α ποσό_πληρωμής α Αντίτιμο_Εισιτηρίου! α= αξία, κ= κατηγορία Προσοχή για κατηγορίες πχ Φοιτητές,Πολύτεκνοι κλπ χρησιμοποιούμε το λογικό τελεστή ή.