ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ _ ΦΥΛΛΟ2 ΑΣΚΗΣΕΙΣ ΣΤΗ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1. Δίνεται ο παρακάτω αλγόριθμος : Αλγόριθμος Παράδειγμα_1 Διάβασε α Αν α > 0 τότε α α mod 5 Τέλος_αν Εκτύπωσε α Τέλος Παράδειγμα_1 Να καταγράψετε: α. τις σταθερές β. τις μεταβλητές γ. τους λογικούς τελεστές δ. τους αριθμητικούς τελεστές ε. τις λογικές εκφράσεις στ. τις εντολές εκχώρησης που υπάρχουν στον παραπάνω αλγόριθμο. 2. Να συμπληρωθεί εντολή που λείπει, ώστε το παρακάτω τμήμα αλγόριθμου να εμφανίζει πάντα την μεγαλύτερη από τις τιμές των μεταβλητών κ, λ διάβασε κ, λ αν κ < λ τότε.. τέλος_αν εμφάνισε κ 3. Σε τρεις διαφορετικούς αγώνες πρόκρισης για την Ολυμπιάδα του Σίδνεϋ στο άλμα εις μήκος, ένας αθλητής πέτυχε τις επιδόσεις a, b, c. Να αναπτύξετε αλγόριθμο ο οποίος: α) θα διαβάζει τις τιμές των επιδόσεων a, b, c, β) θα υπολογίζει και να εμφανίζει τη μέση τιμή των παραπάνω τιμών και γ) θα εμφανίζει το μήνυμα ΠΡΟΚΡΙΘΗΚΕ, αν η παραπάνω μέση τιμή είναι μεγαλύτερη των 8 μέτρων. 4. Μια οικογένεια κατανάλωσε Χ Kwh (κιλοβατώρες) ημερήσιου ρεύματος και Υ Kwh νυχτερινού ρεύματος. Το κόστος ημερήσιου ρεύματος είναι 10 λεπτά ανά Kwh και του νυχτερινού 5 λεπτά ανά Kwh. Να αναπτύξετε έναν αλγόριθμο ο οποίος: α) θα διαβάζει τα Χ, Υ β) θα υπολογίζει και εμφανίζει το συνολικό κόστος της κατανάλωσης ρεύματος της οικογένειας και γ) θα εμφανίζει το μήνυμα ΥΠΕΡΒΟΛΙΚΗ ΚΑΤΑΝΑΛΩΣΗ, αν το συνολικό κόστος είναι μεγαλύτερο από 500 ευρώ. 5. Ο μηνιαίος μισθός ενός υπαλλήλου υπολογίζεται αν στο βασικό του μισθό προσθέσουμε τα οικογενειακά επιδόματα. Ποιο αναλυτικά: προστίθενται 35 μηνιαίως αν ο υπάλληλος είναι παντρεμένος και 18 μηνιαίως για κάθε παιδί. Να γραφεί αλγόριθμος ο οποίος θα ζητάει το βασικό μισθό ενός υπαλλήλου, θα Μαλούτα Θεανώ Σελίδα 1
ρωτάει αν είναι παντρεμένος ( ΝΑΙ ή ΟΧΙ ) και πόσα παιδιά έχει, και θα υπολογίζει και εμφανίζει το μηνιαίο μισθό του. 6. Να γραφεί αλγόριθμος που θα υπολογίζει και εμφανίζει την εβδομαδιαία αμοιβή ενός εργάτη βασισμένος στις ώρες που εργάστηκε και το ωρομίσθιο. Να λάβετε υπ όψιν ότι αν οι ώρες εργασίας είναι πάνω από 40, το ωρομίσθιο είναι αυξημένο κατά 30% (για τις παραπάνω ώρες). 7. Να δοθεί αλγόριθμος που θα ζητά σαν είσοδο έναν πραγματικό αριθμό και αφού υπολογίζει, θα εμφανίζει τον αντίστροφό του. Σε περίπτωση που δεν υπάρχει αντίστροφος θα εμφανίζει κατάλληλο μήνυμα. 8. Αν X=15, Y=-3 και Ζ=2, να χαρακτηρίσετε στο τετράδιό σας τις ακόλουθες εκφράσεις χρησιμοποιώντας μία από τις λέξεις ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ. α) X>Z β) OXI (X+Υ>8) γ) (X >Y) ΚΑΙ (Z<3) δ) (X>10) Ή ((Y>2) ΚΑΙ (Z>Y)) 9. Αν η μεταβλητή Χ έχει τιμή 10 και η μεταβλητή Υ έχει τιμή 20 τι θα τυπώσει το παρακάτω τμήμα αλγορίθμου; αν (Χ < 10 ή Υ > 10 ) και (Χ < 0 ή Υ > 0) τότε εμφάνισε Χ αλλιώς εμφάνισε Υ τέλοςαν 10. Να γράψεις έναν αλγόριθμο που θα διαβάζει από το πληκτρολόγιο έναν πραγματικό αριθμό Β. Ο αλγόριθμος θα εξετάζει αν ο αριθμός αυτός αποτελεί αποδεκτή βαθμολογία μαθητή (δηλ αν ανήκει στο διάστημα [0-20]). Αν κάτι τέτοιο ισχύει να εμφανίζεται το μήνυμα αποδεκτή βαθμολογία αλλιώς να εμφανίζεται το μήνυμα λάθος βαθμολογία. 11. Να γράψεις έναν αλγόριθμο που θα διαβάζει από το πληκτρολόγιο έναν πραγματικό αριθμό ar. Ο αλγόριθμος θα εξετάζει αν ο αριθμός αυτός είναι διψήφιος ή όχι και ανάλογα να εμφανίζει κατάλληλο μήνυμα 12. Να γράψεις έναν αλγόριθμο που διαβάζει τις δύο πλευρές ενός ορθογωνίου και θα υπολογίζει και θα εμφανίζει το εμβαδόν του μόνο αν και οι δύο πλευρές του είναι θετικοί αριθμοί, σε αντίθετη περίπτωση θα τυπώνει κατάλληλο μήνυμα. (Ε=α*β). 13. Να γραφεί αλγόριθμος ο οποίος να αποφασίζει αν ένας μαθητής προβιβάστηκε ή όχι σύμφωνα με τα αποτελέσματα των γραπτών του σε 4 μαθήματα. Ο μαθητής προβιβάζεται αν ο μέσος όρος των βαθμών του στα 4 μαθήματα είναι τουλάχιστον 10 υπό την προϋπόθεση ότι δεν πήρε σε κανένα μάθημα βαθμό κάτω από 8. 14. Να γραφεί αλγόριθμος που θα διαβάζει το μέτρο μιας γωνίας σε μοίρες και θα εμφανίζει το είδος της, δηλαδή οξεία, ορθή ή αμβλεία. 15. Να γραφεί αλγόριθμος ο οποίος θα ζητά το ονοματεπώνυμο ενός μαθητή και το σύνολο των απουσιών του και θα εμφανίζει τον αντίστοιχο χαρακτηρισμό Μαλούτα Θεανώ Σελίδα 2
φοίτησης. Δίνεται ότι για 0-100 απουσίες η φοίτηση χαρακτηρίζεται επαρκής, για 101-150 απουσίες χαρακτηρίζεται ελλιπής και για περισσότερες απουσίες χαρακτηρίζεται ανεπαρκής. 16. Να κατασκευαστεί αλγόριθμος ο οποίος θα διαβάζει το μήνα (από 1 έως 12) και στη συνέχεια θα εκτυπώνει την αντίστοιχη εποχή του έτους. 17. Ένας πωλητής πληρώνεται με προμήθεια: 3% στην τιμή πώλησης αν ο κωδικός του προϊόντος που πουλά είναι 11 5% >> >> 12 8% >> >> 13 11% >> >> 14 12% αν ο κωδικός του προϊόντος είναι κάποιος άλλος. Να γραφεί αλγόριθμος που θα διαβάζει τη τιμή και το κωδικό ενός προϊόντος και θα υπολογίζει και εμφανίζει την προμήθεια που αντιστοιχεί στον πωλητή. 18. Να αναπτύξετε αλγόριθμο ο οποίος αφού διαβάσει έναν θετικό ακέραιο αριθμό από 1 έως 999, θα εκτυπώνει ανάλογα ένα από τα μηνύματα: ΜΟΝΟΨΗΦΙΟΣ, ΔΙΨΗΦΙΟΣ, ΤΡΙΨΗΦΙΟΣ, ΕΚΤΟΣ ΟΡΙΩΝ. 19. Κάποια δημοτική αρχή ακολουθεί την εξής τιμολογιακή πολιτική για την κατανάλωση νερού ανά μήνα: Χρεώνει πάγιο ποσό 2 ευρώ και εφαρμόζει κλιμακωτή χρέωση σύμφωνα με τον παρακάτω πίνακα: Κατανάλωση σε κυβικά μέτρα Χρέωση ανά κυβικό από 0 έως και 5 από 5 έως και 10 από 10 έως και 20 από 20 και άνω δωρεάν 0,5 ευρώ 0,7 ευρώ 1,0 ευρώ Στο ποσό που προκύπτει από την αξία του νερού και το πάγιο υπολογίζεται ο Φ.Π.Α. με συντελεστή 18%. Το τελικό ποσό προκύπτει από την άθροιση της αξίας του νερού, το πάγιο, το Φ.Π.Α. και το δημοτικό φόρο που είναι 5 ευρώ. Να γράψετε αλγόριθμο ο οποίος: α. Να διαβάζει τη μηνιαία κατανάλωση του νερού. β. Να υπολογίζει την αξία του νερού που καταναλώθηκε σύμφωνα με την παραπάνω τιμολογιακή πολιτική. γ. Να υπολογίζει το Φ.Π.Α. δ. Να υπολογίζει και να εκτυπώνει το τελικό ποσό. 20. Εσπερινό 2001 - Να αναπτύξετε αλγόριθμο ο οποίος υλοποιεί τη λειτουργία ενός αυτόματου τυποποιητή πορτοκαλιών που είναι η παρακάτω: Για κάθε πορτοκάλι που εισάγεται στον τυποποιητή, διαβάζεται η τιμή του βάρους του (Β) και η διάμετρός του (Δ). Το πορτοκάλι κατατάσσεται ανάλογα με το βάρος και τη διάμετρό του ως εξής: Αν 100 Β 150 και 8 Δ < 10, τότε τυπώνεται το μήνυμα "πρώτη διαλογή". Αν 6 < Δ < 8, τότε, ανεξαρτήτως βάρους, τυπώνεται το μήνυμα "δεύτερη διαλογή". Σε κάθε άλλη περίπτωση τυπώνεται το μήνυμα "χυμοποίηση". 21. Επαναληπτικές 2000 - Ο τελικός βαθμός ενός μαθητή σ' ένα μάθημα υπολογίζεται με βάση την προφορική και τη γραπτή βαθμολογία του με την ακόλουθη διαδικασία: Αν η διαφορά των δύο βαθμών είναι μεγαλύτερη από δύο Μαλούτα Θεανώ Σελίδα 3
μονάδες, τότε ο προφορικός βαθμός προσαρμόζεται (δηλαδή αυξάνεται ή μειώνεται) έτσι, ώστε η αντίστοιχη διαφορά να μειωθεί στις δύο μονάδες, αλλιώς ο προφορικός βαθμός παραμένει αμετάβλητος. Ο τελικός βαθμός είναι ο μέσος όρος των δύο βαθμών. Παράδειγμα προσαρμογής προφορικού βαθμού: Αν ο γραπτός βαθμός είναι 18 και ο προφορικός 11, τότε ο προφορικός γίνεται 16, ενώ, αν ο γραπτός είναι 10 και ο προφορικός 19, τότε ο προφορικός γίνεται 12. Να αναπτύξετε έναν αλγόριθμο ο οποίος: α) θα διαβάζει τους δύο βαθμούς β) θα υπολογίζει τον τελικό βαθμό σύμφωνα με την παραπάνω διαδικασία γ) θα εμφανίζει τον τελικό βαθμό και, αν αυτός είναι μεγαλύτερος ή ίσος του 10, το μήνυμα ΠΡΟΑΓΕΤΑΙ, αλλιώς το μήνυμα ΑΠΟΡΡΙΠΤΕΤΑΙ. 22. Επαναληπτικές 2002 - Σε ένα κέντρο νεοσύλλεκτων υπάρχει η πρόθεση να δημιουργηθούν δύο ειδικές διμοιρίες. Η διμοιρία Α θα αποτελείται από νεοσύλλεκτους πτυχιούχους τριτοβάθμιας εκπαίδευσης, ηλικίας από 24 έως και 28 χρόνων. Η διμοιρία Β θα αποτελείται από νεοσύλλεκτους απόφοιτους δευτεροβάθμιας εκπαίδευσης, ηλικίας από 18 έως και 24 χρόνων. Οι υπόλοιποι νεοσύλλεκτοι δεν κατατάσσονται σε καμία από αυτές τις διμοιρίες. Να αναπτύξετε αλγόριθμο ο οποίος: α) διαβάζει το ονοματεπώνυμο, την ηλικία και έναν αριθμό που καθορίζει το επίπεδο σπουδών του νεοσύλλεκτου και παίρνει τιμές από 1 έως 3 (1: τριτοβάθμια εκπαίδευση, 2: δευτεροβάθμια εκπαίδευση, 3: κάθε άλλη περίπτωση) β) εκτυπώνει: i) το ονοματεπώνυμο του νεοσύλλεκτου και ii) το όνομα της διμοιρίας (Α ή Β), εφόσον ο νεοσύλλεκτος κατατάσσεται σε μία από αυτές. 23. Να γίνει διερεύνηση - λύση της πρωτοβάθμιας εξίσωσης αx+β=0 με αλγόριθμο (με ψευδογλώσσα και διάγραμμα ροής) 24. Ιούνιος 2002 - Με το νέο σύστημα πληρωμής των διοδίων, οι οδηγοί των τροχοφόρων έχουν τη δυνατότητα να πληρώνουν το αντίτιμο των διοδίων με ειδική μαγνητική κάρτα. Υποθέστε ότι υπάρχει μηχάνημα το οποίο διαθέτει είσοδο για την κάρτα και φωτοκύτταρο. Το μηχάνημα διαβάζει από την κάρτα το υπόλοιπο των χρημάτων και το αποθηκεύει σε μία μεταβλητή Υ και, με το φωτοκύτταρο, αναγνωρίζει τον τύπο του τροχοφόρου και το αποθηκεύει σε μία μεταβλητή Τ. Υπάρχουν τρεις τύποι τροχοφόρων: δίκυκλα (Δ), επιβατικά (Ε) και φορτηγά (Φ), με αντίτιμο διοδίων 1, 2 και 3 Ευρώ αντίστοιχα. Να αναπτύξετε αλγόριθμο, ο οποίος: α) ελέγχει τον τύπο του τροχοφόρου και εκχωρεί στη μεταβλητή Α το αντίτιμο των διοδίων, ανάλογα με τον τύπο του τροχοφόρου και β) ελέγχει την πληρωμή των διοδίων με τον παρακάτω τρόπο: Αν το υπόλοιπο της κάρτας επαρκεί για την πληρωμή του αντιτίμου των διοδίων, αφαιρεί το ποσό αυτό από την κάρτα. Αν η κάρτα δεν έχει υπόλοιπο, το μηχάνημα ειδοποιεί με μήνυμα για το ποσό που πρέπει να πληρωθεί. Αν το υπόλοιπο δεν επαρκεί, μηδενίζεται η κάρτα και δίνεται με μήνυμα το ποσό που απομένει να πληρωθεί. 25. Η βαθμολογία ενός μαθητή χαρακτηρίζεται: Άριστη αν είναι > 18 και <= 20 Πολύ Καλή αν είναι > 15 και <= 18 Καλή αν είναι >= 12 και <= 15 Μέτρια αν είναι >= 10 και < 12 Κακή αν είναι < 10 Να γραφεί αλγόριθμος που θα διαβάζει τη βαθμολογία ενός μαθητή και θα εμφανίζει τον αντίστοιχο χαρακτηρισμό. Μαλούτα Θεανώ Σελίδα 4
26. Τα έτη που διαιρούνται ακριβώς με το 4 και δεν διαιρούνται ακριβώς με το 100 είναι δίσεκτα. Επίσης δίσεκτα είναι και όσα έτη διαιρούνται ακριβώς με το 400 (πχ το 2000). Να γίνει με βάση αυτού αλγόριθμος που θα ελέγχει αν είναι δίσεκτο ένα έτος που εισάγουμε και θα εκτυπώνει αντίστοιχο μήνυμα. 27. Σε κάποια εξεταστική δοκιμασία κάθε γραπτό αξιολογείται αρχικά από δύο βαθμολογητές και υπάρχει περίπτωση το γραπτό να χρειάζεται αναβαθμολόγηση από τρίτο βαθμολογητή. Στην περίπτωση αναβαθμολόγησης ο τελικός βαθμός υπολογίζεται ως εξής: i. Αν ο βαθμός του τρίτου βαθμολογητή είναι ίσος με το μέσο όρο (Μ.Ο.) των βαθμών των δύο πρώτων βαθμολογητών, τότε ο τελικός βαθμός είναι ο Μ.Ο. ii. Αν ο βαθμός του τρίτου βαθμολογητή είναι μικρότερος από το μικρότερο βαθμό (ΜΙΝ) των δύο πρώτων βαθμολογητών, τότε ο τελικός βαθμός είναι ο ΜΙΝ. iii. Διαφορετικά, ο τελικός βαθμός είναι ο μέσος όρος του βαθμού του τρίτου βαθμολογητή με τον πλησιέστερο προς αυτόν βαθμό των δύο πρώτων βαθμολογητών. Να αναπτύξετε αλγόριθμο υπολογισμού του τελικού βαθμού ενός γραπτού με αναβαθμολόγηση, ο οποίος: α. να διαβάζει τους βαθμούς του πρώτου, του δεύτερου και του τρίτου βαθμολογητή ενός γραπτού. β. να υπολογίζει και να εκτυπώνει το μεγαλύτερο (ΜΑΧ) και το μικρότερο (ΜΙΝ) από τους βαθμούς του πρώτου και του δεύτερου βαθμολογητή. γ. να υπολογίζει και να εκτυπώνει τον τελικό βαθμό του γραπτού σύμφωνα με την παραπάνω διαδικασία. 28. Να γραφεί αλγόριθμος ο οποίος α) θα διαβάζει το όνομα ενός αθλητή και τη βαθμολογία του σε τρεις προσπάθειες. (σε κλίμακα 1-500, 0 για άκυρη προσπάθεια) β) θα εκτυπώνει την ένδειξη "Προκρίνεται" αν σε κάποια προσπάθεια ξεπερνάει τους 350 βαθμούς γ) θα βρίσκει και θα εκτυπώνει ποια ήταν η καλύτερή του προσπάθεια δ) θα υπολογίζει και θα εκτυπώνει το μέσο όρο των έγκυρων προσπαθειών του Μαλούτα Θεανώ Σελίδα 5