Φύλλο εργασίας 3 ο Δομή επιλογής Εισαγωγή στις Αρχές της Επιστήμης Η/Υ. Στα προβλήματα που αντιμετωπίσατε μέχρι τώρα, εκτελούνταν όλες οι εντολές σειριακά (η μια εντολή μετά την άλλη). Στην πραγματικότητα όμως πολύ συχνά απαιτείται να γίνουν διαφορετικές ενέργειες βάση κάποιων κριτηρίων. Πχ Να αγοράσω τυρόπιτα ή κουλούρι; Πέρασα το όριο των αδικαιολόγητων απουσιών; Επαρκούν τα χρήματα για να αγοράσω αυτό το βιβλίο; Αυτή την ανάγκη καλύπτει η εντολή Αν τότε, της οποίας η σύνταξη (ψευδογλώσσα / διάγραμμα ροής) είναι: Αν <συνθήκη> τότε Εντολές_1 Αλλιώς Εντολές_2 Τέλος_αν ΟΧΙ Εντολές_2 Συνθήκη ΝΑΙ Εντολές_1 Μελετήστε την εφαρμογή/χρήση της εντολής Αν τότε στο παρακάτω παράδειγμα. Ένας μαθητής διαθέτει 15 και επιθυμεί να αγοράσει ένα βιβλίο. Το παρακάτω τμήμα αλγορίθμου διαβάζει την τιμή του βιβλίου που επιθυμεί να αγοράσει, και θα του εμφανίζει το μήνυμα: "ΔΕΝ επαρκεί το ποσό που διαθέτεις" στην περίπτωση που η τιμή του βιβλίου είναι μεγαλύτερη από 15 "Επαρκεί το ποσό που διαθέτεις" στην αντίθετη περίπτωση ΔΙΑΒΑΣΕ ΤΙΜΗ ΑΝ ΤΙΜΗ > 15 ΤΟΤΕ ΕΜΦΑΝΙΣΕ 'ΔΕΝ επαρκεί το ποσό που διαθέτεις' ΑΛΛΙΩΣ ΕΜΦΑΝΙΣΕ 'Επαρκεί το ποσό που διαθέτεις' ΤΕΛΟΣ_ΑΝ Συνθήκη Στην παραπάνω εντολή ΑΝ η συνθήκη: ΤΙΜΗ > 15 καθορίζει πιο μήνυμα θα εμφανιστεί. Συγκεκριμένα, Όταν η μεταβλητή ΤΙΜΗ έχει περιεχόμενο μεγαλύτερο από τον αριθμό 15 (άρα το αποτέλεσμα της συνθήκης είναι ΑΛΗΘΗΣ) ΤΟΤΕ θα εμφανιστεί το μήνυμα: 'ΔΕΝ επαρκεί το ποσό που διαθέτεις'. Διαφορετικά, δηλ. ΑΛΛΙΩΣ (άρα το αποτέλεσμα της συνθήκης είναι ΨΕΥΔΗΣ) θα εμφανιστεί το μήνυμα: 'Επαρκεί το ποσό που διαθέτεις'. Για την δημιουργία της συνθήκης: ΤΙΜΗ > 15 χρησιμοποιήθηκε ο τελεστής σύγκρισης: μεγαλύτερο (>). Δίπλα υπάρχουν όλοι οι τελεστές σύγκρισης που χρησιμοποιούνται για την σύνταξη συνθηκών. Τελεστές σύγκρισης < μικρότερο > μεγαλύτερο = ίσο <=, μικρότερο ή ίσο <>, διάφορο >=, μεγαλύτερο ή ίσο 1
Ποιον τελεστή σύγκρισης πρέπει να χρησιμοποιήσετε στο παρακάτω τμήμα προγράμματος στο οποίο έχουν αντιστραφεί οι εντολές ΕΜΦΑΝΙΣΕ; ΔΙΑΒΑΣΕ ΤΙΜΗ ΑΝ ΤΙΜΗ 15 ΤΟΤΕ ΕΜΦΑΝΙΣΕ 'Επαρκεί το ποσό που διαθέτεις' ΑΛΛΙΩΣ ΕΜΦΑΝΙΣΕ 'ΔΕΝ Επαρκεί το ποσό που διαθέτεις' ΤΕΛΟΣ_ΑΝ 1 η Δραστηριότητα (διαθ. χρόνος 8 ) Συνεργαστείτε ανά δύο μαθητές και επιλύστε την παρακάτω άσκηση. Η επιχείρηση Φρεσκοχυμ ΑΕ ενημερώνει τους πελάτες της για τα νέα προϊόντα που πρόκειται να παρασκευάσει με αποστολή δειγμάτων των νέων προϊόντων. Διαθέτει πελάτες τόσο στο εσωτερικό όσο και στο εξωτερικό. Το κόστος για την αποστολή ενός δείγματος στο εσωτερικό είναι: 3,00 ενώ για το εξωτερικό είναι: 5,00. α) θα διαβάζει το πλήθος των δειγμάτων που στέλνει η επιχείρηση στους πελάτες εσωτερικού. β) θα διαβάζει το πλήθος των δειγμάτων που στέλνει η επιχείρηση στους πελάτες εξωτερικού. γ) θα υπολογίζει/εμφανίζει: i. το κόστος αποστολής των δειγμάτων στους πελάτες εσωτερικού ii. το κόστος αποστολής των δειγμάτων στους πελάτες εξωτερικού iii. να εμφανίζει το μεγαλύτερο κόστος αποστολής των δειγμάτων (στους πελάτες εσωτερικού ή εξωτερικού). Παραδοχή! Τα δύο κόστη δεν θα είναι ίσα. 2 η Δραστηριότητα Ένας μαθητής διαθέτει 15 και επιθυμεί να αγοράσει ένα βιβλίο. α) να διαβάζει την τιμή ενός βιβλίου που επιθυμεί να αγοράσει β) σε περίπτωση που δεν επαρκεί το ποσό που διαθέτει να του εμφανίζει το μήνυμα: "ΔΕΝ επαρκεί το ποσό που διαθέτεις", καθώς και το ποσό που του υπολείπεται (πχ για ΤΙΜΗ=19 με το μήνυμα: "απαιτούνται επιπλέον 4 ") γ) ενώ στην αντίθετη περίπτωση να του εμφανίζει το μήνυμα: "Επαρκεί το ποσό που διαθέτεις", καθώς και το ποσό που του περισσεύει (πχ για ΤΙΜΗ=10 με το μήνυμα: "θα περισσέψουν 5 ") Ασκήσεις Δομής Επιλογής 1. Σε τρεις διαφορετικούς αγώνες πρόκρισης για την Ολυμπιάδα στο άλμα εις μήκος ένας αθλητής πέτυχε τις επιδόσεις ΕΠ1,ΕΠ2,ΕΠ3. α) να διαβάζει τις τιμές των επιδόσεων ΕΠ1,ΕΠ2,ΕΠ3 (οι τιμές θα δίδονται σε μέτρα πχ 7.34) β) να υπολογίζει και να εμφανίζει το μέσο όρο των παραπάνω επιδόσεων γ) να εμφανίζει το μήνυμα «ΠΡΟΚΡΙΘΗΚΕ», αν ο παραπάνω μέσος όρος είναι μεγαλύτερος των 8 μέτρων, διαφορετικά το μήνυμα «ΔΕΝ ΠΡΟΚΡΙΘΗΚΕ». 2. Στην εταιρεία ΔΟΜΙΞ οι εργάτες πληρώνονται με 7,35 την ώρα (κανονικές αποδοχές). Σε περίπτωση που εργαστούν περισσότερες από 40 ώρες την εβδομάδα (άρα εργάστηκαν υπερωριακά), τότε οι ώρες πάνω από τις 40 πληρώνονται με 8,50 την ώρα (υπερωριακές αποδοχές). α) θα διαβάσει τις ώρες εργασίας (σε μία εβδομάδα) ενός εργάτη β) θα υπολογίζει/εμφανίζει τις κανονικές αποδοχές του εργάτη γ) θα υπολογίζει/εμφανίζει τις υπερωριακές αποδοχές του εργάτη δ) θα υπολογίζει/εμφανίζει τις συνολικές αποδοχές του εργάτη 2
3. Μια εταιρεία κινητής τηλεφωνίας χρεώνει τα πρώτα 25 δευτερόλεπτα προς 0,022 το δευτερόλεπτο και τα επόμενα προς 0,012 το δευτερόλεπτο. α) να διαβάζει το πλήθος των δευτερολέπτων που μίλησε ένας συνδρομητής και β) να υπολογίζει/εμφανίζει τη χρέωσή του. 4. α) αφού διαβάσει τρεις ακέραιες τιμές β) να υπολογίζει/εμφανίζει την μέγιστη τιμή γ) να υπολογίζει/εμφανίζει τον μέσο όρο τους 5. Κατά την αγορά ενός προϊόντος επιβάλλεται φόρος σύμφωνα με τα παρακάτω: για αξία μέχρι 240 ο φόρος είναι 10% για αξία μεγαλύτερη των 240 ο φόρος είναι 20% α) θα διαβάζει το κόστος αγοράς ενός προϊόντος και β) θα υπολογίζει/εμφανίζει το φόρο που αντιστοιχεί για την αγορά του όταν ισχύουν τα παραπάνω γ) θα εμφανίζει το μήνυμα «Μικρός φόρος» όταν ο φόρος που προέκυψε (στο β ερώτημα) είναι μέχρι 100 διαφορετικά το μήνυμα «Υψηλός φόρος» 6. Μία αεροπορική εταιρεία κάνει έκπτωση στους πελάτες της ανάλογα με τα μίλια που έχουν ταξιδέψει στο παρελθόν. Η έκπτωση γίνεται σύμφωνα με τον παρακάτω πίνακα: Διανυθέντα μίλια Ποσοστό έκπτωσης Από 0 έως και 4000 0% Πάνω από 4000 10% Να γράψετε αλγόριθμο, ο οποίος: α) Να διαβάζει την αρχική τιμή του εισιτηρίου και τα συνολικά μίλια που έχει ταξιδέψει στο παρελθόν ο πελάτης. β) Να υπολογίζει την τιμή του εισιτηρίου μετά την έκπτωση. γ) Να τυπώνει το μήνυμα Η τελική τιμή του εισιτηρίου είναι: και την τελική τιμή. Θέμα Δ από GI_V_EIY_0_19375 7. Μια ναυτιλιακή εταιρεία εφαρμόζει την τιμολογιακή πολιτική που φαίνεται στον παρακάτω πίνακα, σε ένα μεταφορικό της πλοίο, σε σχέση με τα επιβατικά αυτοκίνητα που μεταφέρονται: Βάρος οχήματος έως και 1500 κιλά Πάνω από 1500 κιλά Χρέωση 50 το όχημα 70 το όχημα Ο οδηγός δεν πληρώνει εισιτήριο, ενώ κάθε επιπλέον επιβάτης του οχήματος πληρώνει 15 ευρώ. Να γράψετε αλγόριθμο, ο οποίος: α) Να διαβάζει το βάρος ενός οχήματος και τον αριθμό των επιβατών του (χωρίς τον οδηγό). β) Να υπολογίζει το κόστος για το όχημα αυτό με βάση το βάρος του. γ) Να εμφανίζει το συνολικό κόστος των επιβατών και του οχήματος. Θέμα Δ από GI_V_EIY_0_19376 3
8. Το υπουργείο οικονομικών για να ελαφρύνει οικονομικά τις οικογένειες με πολλά παιδιά εφάρμοσε μια φορολογική πολιτική όπου, ανάλογα με το πλήθος των παιδιών μιας οικογένειας αφαιρεί ανάλογο ποσό από το φόρο που θα πληρώσουν, με βάση τον παρακάτω πίνακα: Αριθμός παιδιών Ποσό αφαίρεσης φόρου 0 έως και 2 0 ευρώ 3 και άνω 1000 ευρώ Να αναπτύξετε έναν αλγόριθμο ο οποίος για μία και μόνο οικογένεια και με την υπόθεση ότι ο φόρος της είναι πάνω από 1000 ευρώ: α. Να διαβάζει το φόρο που πρέπει να πληρώσει καθώς και το πλήθος των παιδιών της. β. Να εμφανίζει το μήνυμα «είναι πολύτεκνη οικογένεια», μόνο στη περίπτωση που έχει από 3 παιδιά και πάνω. γ. Να υπολογίζει το τελικό ποσό φόρου που πρέπει να πληρώσει η οικογένεια. Θέμα Δ από GI_V_EIY_0_19353 9. Δίνεται ο παρακάτω αλγόριθμος (στήλη Β) με αριθμημένες τις γραμμές του (στήλη Α). Θεωρήστε ότι κατά την εκτέλεσή του στην εντολή "Διάβασε Χ", δίνεται ως είσοδος η τιμή 2 (στήλη Γ). Να αντιγράψετε στο γραπτό σας τη στήλη Γ και να την συμπληρώστε ως εξής: Δίπλα σε κάθε μεταβλητή και στο χώρο των κενών "...", γράψτε την αριθμητική τιμή της μεταβλητής, ενώ στις γραμμές 4 και 7 διαγράψτε μια από τις δύο λέξεις "Αληθής" ή "Ψευδής" έτσι ώστε αυτή που θα απομείνει να εκφράζει τη λογική τιμή κάθε συνθήκης. Στην τελευταία στήλη (Γ) έχουν συμπληρωθεί οι δύο πρώτες τιμές, ενώ δεν θα συμπληρωθούν οι γραμμές 6, 9 και 11. Θέμα Β από GI_V_EIY_0_19373 4
10. Σε μια εξέταση καλών τεχνών οι υποψήφιοι εξετάζονται προφορικά και γραπτά και βαθμολογούνται από το 1 έως το 20 σε κάθε εξέταση. Να αναπτύξετε αλγόριθμο ο οποίος: α. Να διαβάζει το όνομα, την προφορική και τη γραπτή βαθμολογία ενός υποψηφίου. β. Να εμφανίζει το μήνυμα «Άριστα» αν ο υποψήφιος έγραψε 20 και στις δύο εξετάσεις. γ. Να εμφανίζει το μήνυμα «Υψηλός Προφορικός Βαθμός» όταν η προφορική βαθμολογία του είναι υψηλότερη τουλάχιστον κατά 3 μονάδες από τη γραπτή βαθμολογία του. 11. Σας δίνεται ο παρακάτω αλγόριθμος: Α 20 ιάβασε Χ Αν Χ < 20 τότε Α Α + Χ (εντολή 1) Αλλιώς Α Α - Χ (εντολή 2) Τέλος_Αν Εμφάνισε Α Παραλλαγή από θέμα Δ από GI_V_EIY_0_19421 Να απαντήστε στο γραπτό σας στις ακόλουθες ερωτήσεις: α. Να γράψετε τέσσερις αριθμούς οι οποίοι δίνονται στη μεταβλητή Χ (σε διαδοχικές εκτελέσεις. Οι δύο πρώτοι θα πρέπει να προκαλούν την εκτέλεση της εντολής 1, ενώ ο 3ος και 4ος να προκαλούν την εκτέλεση της εντολής 2. β. Υπάρχει αριθμός που μπορεί να δοθεί στη μεταβλητή Χ ώστε η εντολή Εμφάνισε Α να μην εκτελεστεί ποτέ; Αιτιολογήστε συνοπτικά την απάντησή σας. Θέμα Β από GI_V_EIY_0_19619 12. Να συμπληρώσετε τα κενά στις παρακάτω εντολές ώστε κατά την εκτέλεσή τους να εμφανίζουν τα δύο τμήματα των αλγορίθμων τον ίδιο αριθμό. Θέμα Β από GI_V_EIY_0_20623 13. ίνεται ο παρακάτω αλγόριθμος: Αλγόριθμος Α1 ιάβασε α Αν α > 0 τότε α α ^2 Τέλος_αν Εμφάνισε α Τέλος Α1 5
Συμπληρώστε τα παρακάτω στοιχεία που εμφανίζονται στον παραπάνω αλγόριθμο α. τις μεταβλητές β. τους σχεσιακούς τελεστές γ. τους αριθμητικούς τελεστές δ. τις λογικές εκφράσεις ε. τις εντολές εκχώρησης Θέμα Β από GI_V_EIY_0_20624 14. ίνεται ο παρακάτω αλγόριθμος Αλγόριθμος Β2 1. ιάβασε Μ, Ν 2. Μ Μ + Ν 3. Ν Μ Ν 4. Μ Μ Ν 5. Εμφάνισε Μ + 10*Ν+100*Μ Τέλος Β2 Να γράψετε στο γραπτό σας: α) την τιμή που θα εμφανιστεί κατά την εκτέλεση του παραπάνω αλγορίθμου στην οθόνη β) τις τιμές που αποδίδονται στις μεταβλητές των γραμμών 2, 3, 4 αν δοθούν από τον χρήστη οι αριθμοί 2 και 9 με αυτή τη σειρά. Θέμα Β από GI_V_EIY_0_20627 15. Ένας μαθητής όταν ξεπεράσει συνολικά τον αριθμό των 114 απουσιών στο διδακτικό έτος, πρέπει να επαναλάβει την τάξη χωρίς δικαίωμα στις εξετάσεις, ενώ αν δεν ξεπεράσει τον αριθμό αυτών των απουσιών έχει το δικαίωμα να εξεταστεί. Να γράψετε αλγόριθμο ο οποίος: α. να διαβάζει το πλήθος των απουσιών ενός μαθητή. β. Να εμφανίζει στη συνέχεια το μήνυμα Επανάληψη τάξης αν οι απουσίες είναι άνω των 114 και το μήνυμα Μπορεί να εξεταστεί αν οι απουσίες είναι από 114 και κάτω. Παραλλαγή από θέμα Δ από GI_V_EIY_0_20630 16. Να συμπληρώσετε τα κενά στις παρακάτω εντολές ώστε κατά την εκτέλεσή τους να εμφανίζουν τα δύο τμήματα των αλγορίθμων τον ίδιο αριθμό. Θέμα Β από GI_V_EIY_0_20631 6
17. Να συμπληρώσετε τις παρακάτω εντολές ώστε κατά την εκτέλεσή τους να εμφανίζουν τα τμήματα των δύο αλγορίθμων τον αριθμό 10. Θέμα Β από GI_V_EIY_0_20632 18. Ένας μαθητής έγραψε διαγώνισμα στην Πληροφορική και στα Μαθηματικά. α. Να διαβάζει το όνομα του μαθητή και τους βαθμούς στα δύο αυτά μαθήματα β. Να εμφανίζει το μήνυμα «Μαθηματικά» αν ο μαθητής έγραψε καλύτερα στα Μαθηματικά από ότι στην Πληροφορική. γ. Να εμφανίζει το όνομά όταν έχει γράψει 20 και στα δύο μαθήματα. Παραλλαγή από θέμα Δ από GI_V_EIY_0_20641 19. Σε ένα τραίνο υπάρχουν εισιτήρια Α Θέσης (κωδικός 1) προς 40 και Β θέσης (κωδικός 2) προς 25 το ένα. Μια παρέα μαθητών θα ταξιδέψει με αυτό το τραίνο. Να γράψετε αλγόριθμο, ο οποίος: α. Να διαβάζει το πλήθος των μαθητών και την κατηγορία εισιτηρίου που επέλεξαν. β. Να εμφανίζει την κατηγορία θέσης που επέλεξαν οι μαθητές (Α θέση ή Β θέση). γ. Να εμφανίζει το συνολικό ποσό που πλήρωσαν όλοι οι μαθητές. Παραλλαγή από θέμα Δ από GI_V_EIY_0_20643 20. Σε ένα διαγωνισμό ο υποψήφιος εξετάζεται προφορικά και γραπτά και βαθμολογείται από το 1 έως το 100 σε κάθε εξέταση. Θα προκριθεί στην επόμενη φάση του διαγωνισμού όταν και οι δύο βαθμολογίες είναι άνω του 60. α. Να διαβάζει το όνομα, την προφορική και τη γραπτή βαθμολογία του υποψηφίου. β. Να εμφανίζει στη συνέχεια το μήνυμα «Προκρίθηκε» σύμφωνα με τα παραπάνω. γ. Να εμφανίζει στη συνέχεια το μήνυμα «Η προφορική βαθμολογία είναι μεγαλύτερη από τη γραπτή», στην περίπτωση που αυτό συμβαίνει. δ. Να εμφανίζει το μέσο όρο της προφορικής και γραπτής βαθμολογίας. Παραλλαγή από θέμα Δ από GI_V_EIY_0_20644 7