1. Να γραφεί πρόγραμμα σε Python το οποίο θα διαβάζει αριθμούς από το πληκτρολόγιο μέχρι να δοθεί ως είσοδος ο αριθμός 0. Για κάθε αριθμό που θα εισάγεται θα εμφανίζεται ο διπλάσιος του. Το πρόγραμμα θα υπολογίζει και θα εμφανίζει το ποσοστό των διψήφιων αριθμών που διαβάστηκαν και ποιος ήταν ο μεγαλύτερος και ποιος ο μικρότερος αριθμός. 2. Να γράψετε ένα πρόγραμμα σε Python το οποίο θα διαβάζει τυχαίους αριθμούς από το πληκτρολόγιο μέχρι να δοθεί ως είσοδος ο αριθμός 9999. Το πρόγραμμα θα υπολογίζει και θα εκτυπώνει το πλήθος των θετικών και το πλήθος των αρνητικών αριθμών πού δόθηκαν, το ποσοστό των θετικών αριθμών που διαβάστηκαν και με κατάλληλο μήνυμα θα εμφανίζει αν δόθηκε ο αριθμός 666 και πόσες φορές δόθηκε. 3. Ένας τουρίστας ενοικίασε ένα αυτοκίνητο με τον όρο να το επιστρέψει είτε μετά την πάροδο 5 ημερών είτε όταν διανύσει, περισσότερα από 5000 χλμ. Να γραφεί πρόγραμμα σε Python το οποίο θα διαβάζει τα επαναληπτικά τα χιλιόμετρα που διήνυσε ο τουρίστας με το αυτοκίνητο του μέχρι να περάσουν 5 ημέρες ή να ξεπεράσει τα 5000 χλμ. Το πρόγραμμα θα εμφανίζει μετά από κατάλληλα μηνύματα πόσα χιλιόμετρα διανύθηκαν συνολικά και σε πόσες ημέρες. Επίσης θα εμφανίζει πια ημέρα ο τουρίστας διένυσε τα περισσότερα χιλιόμετρα και πόσα ήταν αυτά. 4. Ο γραμματέας ενός σχολείου θέλει να φτιάξει ένα πρόγραμμα σε Python το οποίο θα διαβάζει τα ονόματα και τους βαθμούς των μαθητών της Γ Τάξης με σκοπό να εκτυπώσει το όνομα του μαθητή που θα είναι σημαιοφόρος. Το πρόγραμμα θα ζητάει τον αριθμό των μαθητών ο οποίος θα πρέπει να είναι οπωσδήποτε θετικός αριθμός και μικρότερος από 200 σε περίπτωση που δοθεί λάθος αριθμός να εμφανίζεται σχετικό μήνυμα. Να γράψετε πρόγραμμα το οποίο θα διαβάζει τους βαθμούς και τα ονόματα μαθητών και θα υπολογίζει και θα εμφανίζεται το όνομα και το βαθμό του σημαιοφόρου της Γ Τάξης. Αν ο βαθμός του μαθητή είναι μεγαλύτερος από 18,5 να εμφανίζει και το μήνυμα «Συγχαρητήρια είστε Αριστούχος». 5. Το λογιστήριο μιας εταιρείας θέλει να δώσει μια οικονομική ενίσχυση (bonus) στους υπαλλήλους της ανάλογα με τον μισθό τους σύμφωνα με τον παρακάτω πίνακα: Μισθός σε Βonus 200-650 10% 651-800 5% 801-1000 2% >1000 0% Να αναπτυχθεί πρόγραμμα σε Python το οποίο : α). θα ζητά και θα διαβάζει τους μισθούς και τα ονόματα των υπαλλήλων μιας εταιρίας. Η διαδικασία θα τερματίζεται όταν δοθεί ως όνομα υπαλλήλου η λέξη "STOP ". β). θα υπολογίζει και θα εμφανίζει ο ποσό που θα πρέπει να πληρώσει η εταιρεία συνολικά για bonus. γ). θα υπολογίζει και θα εμφανίζει το ποσοστό των υπαλλήλων που αμείβονται με μισθό πάνω από 1200. δ). θα υπολογίζει και θα εμφανίζει το μεγαλύτερο bonus που δώσει η εταιρεία και το όνομα ΕΠΑΛ ΜΕΓΑΛΟΠΟΛΗΣ Σελίδα 1 από 6 ΚΑΤΣΟΥΛΑΣ ΝΙΚΟΛΑΟΣ
του υπαλλήλου που θα το πάρει. 6. Ένας αυτόματος διαλογέας πορτοκαλιών δέχεται ένα προς ένα το βάρος πολλών πορτοκαλιών και χαρακτηρίζει τον τύπο του σύμφωνα με τον παρακάτω πίνακα. Βάρος σε gr Χαρακτηρισμός >=10 «Α Διαλογή» >10 έως 18 «Β Διαλογή» >18 «Γ Διαλογή» Η λειτουργία του σταματά όταν δοθεί ως 0 ή αρνητικός αριθμός. Να γραφεί πρόγραμμα σε Python το οποίο: α) θα διαβάζει το βάρος των πορτοκαλιών και θα εμφανίζει το κατάλληλο μήνυμα ανάλογα με το τύπο διαλογής, β) Θα εμφανίζει πόσα πορτοκάλια υπάρχουν από κάθε τύπο διαλογής, γ) Θα εμφανίζεται το μήνυμα «Α» ή «Β» ή «Γ» ανάλογα με τον τύπο που υπήρχαν περισσότερα πορτοκάλια. 7. Στον ΑΣΕΠ κάθε εκπαιδευτικός παίρνει 2 βαθμούς: τον βαθμό στα παιδαγωγικά (Π) και τον βαθμό στο μάθημα ειδικότητας (Ε). Να γραφεί πρόγραμμα το θα διαβάζει το ονοματεπώνυμο και τους βαθμούς Π, Ε πολλών εκπαιδευτικών. Όταν το ονοματεπώνυμο είναι " " (κενό) το πρόγραμμα θα σταματά. Επίσης οι βαθμοί γίνονται δεκτοί αν είναι μεγαλύτεροι από 0 και μέχρι και 100. α) Να εμφανιστεί το ονοματεπώνυμο κάθε καθηγητή και το μήνυμα "ΕΠΙΤΥΧΙΑ" ή "ΑΠΟΤΥΧΙΑ". Ένας καθηγητής επιτυγχάνει στις εξετάσεις αν το άθροισμα των 2 βαθμών του ξεπερνά το 120 και η διαφορά των δύο βαθμών είναι μικρότερη από 30. β) Για τους επιτυχόντες να εμφανιστεί ο τελικός τους βαθμός. Ο τελικός βαθμός υπολογίζεται ως το άθροισμα του μεγαλύτερου από τους Π και Ε επί τον συντελεστή 0,6 και του μικρότερου από τους Π, Ε επί συντελεστή 0,4. γ) Να εμφανιστεί το ποσοστό των επιτυχόντων στο τέλος του προγράμματος, δ) Να εμφανιστεί ο μέσος όρος βαθμολογίας του διαγωνισμού στα παιδαγωγικά. 8. Η ΔΕΗ υπολογίζει την αξία του ηλεκτρικού ρεύματος των καταναλωτών της σύμφωνα με τον επόμενο πίνακα: Ημερήσια Κατανάλωση Νυχτερινή Κατανάλωση Κατανάλωση (KWh) Τιμή /KWh Κατανάλωση (KWh) Τιμή /KWh 1 έως 800 0,065 Ανεξάρτητα από 801 έως 1200 0,075 κατανάλωση 1201 έως 1600 0,083 1601 και πάνω 0,090 0,035 Στην ημερήσια κατανάλωση η χρέωση γίνεται κλιμακωτά. Για παράδειγμα η αξία μιας κατανάλωσης 1255 KWh υπολογίζεται ως εξής: Οι πρώτες 800 KWh υπολογίζονται προς 0,065 / KWh, οι επόμενες 400 προς 0,075 και οι τελευταίες 55 KWh προς 0,083 /KWh. Στην αξία της ημερήσιας χρέωσης προστίθεται η αξία της νυχτερινής και ένα πάγιο 20,00, έτσι ώστε να προκύψει η συνολική αξία του ρεύματος που καταναλώθηκε. Να κατασκευαστεί πρόγραμμα σε Python το οποίο: α) να διαβάζει τον αριθμό του ρολογιού (μετρητή της ΔΕΗ), την ημερήσια και τη νυχτερινή κατανάλωση αγνώστου πλήθους καταναλωτών. ΕΠΑΛ ΜΕΓΑΛΟΠΟΛΗΣ Σελίδα 2 από 6 ΚΑΤΣΟΥΛΑΣ ΝΙΚΟΛΑΟΣ
β) να υπολογίζει και να εμφανίζει την αξία του ρεύματος που καταναλώθηκε ανά ρολόι. γ) να υπολογίζει και να εμφανίζει το συνολικό ποσό που πρέπει να εισπράξει η εταιρεία από όλους τους καταναλωτές της για την αξία του ρεύματος που κατανάλωσαν. δ) να υπολογίζει και να εμφανίζει την μεγαλύτερη κατανάλωση και τον αριθμό του ρολογιού που την έκανε. ε). να υπολογίζει και εμφανίζει το ποσοστό των καταναλωτών που είχαν νυχτερινή κατανάλωση μεγαλύτερη από 200 KWh. Το πρόγραμμα θα πρέπει να λειτουργεί για άγνωστο αριθμό καταναλωτών και να τερματίζει όταν δοθεί η τιμή 0 στον αριθμό του ρολογιού. 9. Για κάθε υπάλληλο της εταιρείας θα δίνονται: ο μηνιαίος βασικός μισθός και ο αριθμός των παιδιών του. Δεχόμαστε ότι ο υπάλληλος μπορεί να έχει μέχρι και 9 παιδιά και ότι ο μηνιαίος βασικός μισθός του κυμαίνεται από 500,00 μέχρι και 1500,00. Οι συνολικές αποδοχές του υπολογίζονται ως το άθροισμα του μηνιαίου βασικού μισθού και του οικογενειακού επιδόματος του. Το οικογενειακό Επίδομα υπολογίζεται ως εξής: 30,00 για κάθε παιδί μέχρι και τρία παιδιά, και 40,00 για κάθε παιδί πέραν των τριών (4ο, 5ο, 6ο κ.τ.λ.). Να γράψετε πρόγραμμα το οποίο: α) Εισάγει τα κατάλληλα δεδομένα και ελέγχει την ορθή καταχώριση τους. β) Υπολογίζει και εμφανίζει το οικογενειακό επίδομα του κάθε υπαλλήλου. γ) Υπολογίζει και εμφανίζει τις συνολικές αποδοχές του υπαλλήλου. δ) Υπολογίζει και εμφανίζει το πλήθος των τρίτεκνων υπαλλήλων. ε) Στο τέλος ο αλγόριθμος θα ρωτάει αν θέλετε να εισάγετε στοιχεία για επόμενο υπάλληλο και θα σταματάει μόλις δώσετε «ΟΧΙ». 10. Ένας μαθητής που τελείωσε το γυμνάσιο με άριστα ζήτησε από τους γονείς του να του αγοράσουν ένα υπολογιστικό σύστημα αξίας 850,00. Οι γονείς του δήλωσαν ότι μπορούν να του διαθέσουν σταδιακά το ποσό, δίνοντας του κάθε εβδομάδα ποσό διπλάσιο από την προηγούμενη, αρχίζοντας την πρώτη εβδομάδα με 15,00. Να αναπτύξετε πρόγραμμα σε Python το οποίο: α) να υπολογίζει και να εμφανίζει μετά από πόσες εβδομάδες θα μπορέσει να αγοράσει το υπολογιστικό σύστημα ο μαθητής, β) να υπολογίζει, να ελέγχει και να εμφανίζει πιθανό περίσσευμα χρημάτων. 11. Να αναπτυχθεί πρόγραμμα το οποίο θα ζητά και θα διαβάζει από τον χρήστη τους βαθμούς και τα ονόματα των μαθητών μιας τάξης. Το πρόγραμμα θα υπολογίζει και θα εμφανίζει: τον μέσο όρο των βαθμών της τάξης, το πλήθος των μαθητών με βαθμό μεγαλύτερο του 16, καθώς και το όνομα του καλύτερου μαθητή. Σε περίπτωση όπου δεν υπάρχει κανένας μαθητής, θα πρέπει να εμφανίζεται αντίστοιχο μήνυμα. Η διαδικασία θα τερματίζεται όταν δοθεί σαν όνομα μαθητή η λέξη "ΤΕΛΟΣ". Ο αλγόριθμος θα πρέπει ακόμη να ελέγχει την τιμή που δίνεται ως βαθμός. Αν η τιμή δεν βρίσκεται στο επιτρεπτό εύρος τιμών (1-20), θα πρέπει να εμφανίζεται μήνυμα το οποίο θα ενημερώνει τον χρήστη ότι έχει γίνει λάθος, ενώ θα ζητά νέα τιμή (έλεγχος τιμής). 12. Μια ασφαλιστική εταιρία στον κλάδο του αυτοκινήτου προσφέρει τις παρακάτω τιμές ετήσιου ασφαλίστρου ανάλογα με τον κυβισμό του αυτοκινήτου. Κυβισμός σε cc Τιμή ετήσιου ασφαλίστρου σε Έως και 1000 150 Από 1001 έως και 2000 200 ΕΠΑΛ ΜΕΓΑΛΟΠΟΛΗΣ Σελίδα 3 από 6 ΚΑΤΣΟΥΛΑΣ ΝΙΚΟΛΑΟΣ
Πάνω από 2000 300 Σε περίπτωση που ο οδηγός είναι νέος, δηλαδή έχει ηλικία μικρότερη ή ίση των 23 ετών, τότε τα ασφάλιστρα αυξάνονται κατά 40. Στην τιμή που προκύπτει από όλα τα προηγούμενα προστίθεται ΦΠΑ 23%. Να γραφεί πρόγραμμα σε python το οποίο: Α). Να διαβάζει τον κυβισμό ενός αυτοκινήτου καθώς και την ηλικία του οδηγού. Ο αλγόριθμος θα τελειώνει μόλις διαβάσει αρνητική ηλικία οδηγού. Β). Να υπολογίζει τα ετήσια ασφάλιστρα του αυτοκινήτου με βάση τον κυβισμό του και την ηλικία του οδηγού. Γ). Να υπολογίζει και να εμφανίζει το τελικό ποσό ετήσιων ασφαλίστρων συμπεριλαμβανομένου του ΦΠΑ. Δ). Να υπολογίζει το ποσοστό των νέων οδηγών. 13. Το υπουργείο οικονομίας αποφάσισε ότι έπρεπε να συγκεντρώσει το ποσό των 500 χιλιάδων ευρώ, για να καλύψει μία έκτακτη ανάγκη. Για τον σκοπό αυτό, αποφάσισε να φορολογήσει κλιμακωτά τους ιδιοκτήτες περιπτέρων, σύμφωνα με την επιφάνεια που καλύπτει το περίπτερο τους και ως εξής: Επιφάνεια σε τετραγωνικά μέτρα Φόρος σε ευρώ μέχρι και 6 τ.μ. 10 / τ.μ. πάνω από 6 μέχρι και 10 τ.μ. 13 /τ.μ. πάνω από 10 16 /τ.μ. Να γραφεί πρόγραμμα σε Python το οποίο: α. θα διαβάζει την επιφάνεια που καλύπτει ένα περίπτερο, β. θα υπολογίζει το ποσό φόρου σε ευρώ που πρέπει να καταβάλλει ο ιδιοκτήτης περιπτέρου, γ. θα επαναλαμβάνει τα παραπάνω βήματα μέχρι να συγκεντρωθεί ποσό που θα είναι τουλάχιστον ίσο των 500 χιλιάδων ευρώ από τη φορολόγηση των περιπτέρων, δ. να υπολογίζει και να εμφανίζει πόσα περίπτερα φορολογήθηκαν, για να καλυφθεί το απαιτούμενο ποσό χρημάτων. 14. Σε ένα πολυκατάστημα αποφασίστηκε να γίνεται κλιμακωτή έκπτωση στους πελάτες ανάλογα με το ποσό των αγορών τους, με βάση τον παρακάτω πίνακα: Ποσό αγορών Έκπτωση έως και 300 2% πάνω από 300 έως και 400 5% πάνω από 400 7% Να γραφεί πρόγραμμα το οποίο: α. για κάθε πελάτη, 1. να διαβάζει το όνομά του και το ποσό των αγορών του. 2. να υπολογίζει την έκπτωση που δικαιούται. 3. να εμφανίζει το όνομά του και το ποσό που θα πληρώσει μετά την έκπτωση. β. να επαναλαμβάνει τη διαδικασία μέχρι να δοθεί ως όνομα πελάτη η λέξη ΤΕΛΟΣ. γ. να εμφανίζει μετά το τέλος της διαδικασίας τη συνολική έκπτωση που έγινε για όλους τους πελάτες. δ. να εμφανίζει το όνομα του πελάτη με την μεγαλύτερη έκπτωση. ε. να εμφανίζει το ποσοστό των πελατών που το ποσό της έκπτωσης ήταν μεγαλύτερο από 20. ΕΠΑΛ ΜΕΓΑΛΟΠΟΛΗΣ Σελίδα 4 από 6 ΚΑΤΣΟΥΛΑΣ ΝΙΚΟΛΑΟΣ
15. Οι μαθητές της Γ Λυκείου θέλουν να συγκεντρώσουν χρήματα για να πάνε εκδρομή. Έτσι αποφάσισαν να πουλήσουν κάποια γλυκά που έφτιαξαν οι γονείς τους για τον σκοπό αυτό μέχρι να συγκεντρωθεί το ποσό των 1000. Να φτιάξετε πρόγραμμα σε Python το οποίο. α) θα διαβάζει το ποσό των χρημάτων που θέλει να δίνει κάποιος πολίτης ως οικονομική ενίσχυση. β) Να εμφανιστεί το ακριβές ποσό που συγκεντρώθηκε και πόσοι πολίτες συνέβαλλαν, γ) Να εμφανιστεί πόσο ήταν το μεγαλύτερο ποσό που δόθηκε, δ) Να υπολογίζει και να εμφανίζει το πλήθος των πολιτών που έδωσαν πάνω από 10. 16. Να αναπτυχθεί ένας πρόγραμμα σε Python που να προσομοιώνει το λογισμικό ενός CD Recorder για την εγγραφή ενός CD μουσικής. Αρχικά το πρόγραμμα διαβάζει τη χρονική διάρκεια - χωρητικότητα του CD (74 ή 80 λεπτά κάνοντας έλεγχο αποδεκτών τιμών). Στη συνέχεια εισάγετε η χρονική διάρκεια κάθε τραγουδιού και αυτό επαναλαμβάνεται έως ότου να μην "χωράει" στο CD άλλο τραγούδι. Ο αλγόριθμος πρέπει να εκτυπώνει το πλήθος των τραγουδιών που εισήχθησαν καθώς και την χρονική διάρκεια που αυτά καταλαμβάνουν. Τέλος το πρόγραμμα θα πρέπει να ενημερώνει με κατάλληλο μήνυμα εάν γέμισε ή όχι το CD. 17. Ένας κουβάς χωράει 10 λίτρα νερό. Θέλουμε να γεμίσουμε τον κουβά με νερό χρησιμοποιώντας ποτήρια διαφορετικού μεγέθους. Θα καταλάβουμε ότι ο κουβάς γέμισε, μόλις ξεχειλίσει. Να γράψετε κατάλληλο πρόγραμμα το οποίο να διαβάζει την ποσότητα του νερού κάθε ποτηριού που αδειάζουμε στον κουβά, και μόλις καταλάβουμε ότι ο κουβάς γέμισε, να εμφανίζει, πόσα ποτήρια χρειάστηκε να αδειάσουμε σε αυτόν, καθώς και πόσο νερό ξεχείλισε. 18. Να γράψετε τις κατάλληλες εντολές σε Python οι οποίες θα εμφανίζουν τους παρακάτω συνδυασμούς από αστεράκια: * ** *** **** 19. Μια επιχείρηση έχει 50 υπαλλήλους. Η διοίκηση έκλεισε συμφωνία για την παροχή πακέτων σύνδεσης με πρόσβαση στο ιαδίκτυο μέσω κινητού τηλεφώνου για κάθε υπάλληλο. Το πακέτο έχει πάγιο 3 ευρώ και η χρέωση είναι κλιμακωτή με βάση τον παρακάτω πίνακα: Όγκος δεδομένων σε GB(Gigabyte) Ευρώ ανά GB έως και 2 10 3 έως και 6 2,5 7 και άνω 1,5 Να γραφεί πρόγραμμα το οποίο: Γ1. Να διαβάζει το όνομα και τον όγκο δεδομένων σε GB κάθε υπαλλήλου. Γ2. Να υπολογίζει για καθέναν τη χρέωσή του, με το πάγιο. Γ3. Να εμφανίζει το όνομα και τη συνολική του χρέωση. Γ4. Να υπολογίζει και να εμφανίζει το μέσο όρο της χρέωσης όλων των υπαλλήλων, με το πάγιο. 20. To Υπουργείο Περιβάλλοντος αποφάσισε να παρακολουθήσει για τριάντα (30) ημέρες τα επίπεδα ενός ρύπου στην ατμόσφαιρα, πραγματοποιώντας μία μέτρηση την ημέρα. ΕΠΑΛ ΜΕΓΑΛΟΠΟΛΗΣ Σελίδα 5 από 6 ΚΑΤΣΟΥΛΑΣ ΝΙΚΟΛΑΟΣ
Έχουν καθοριστεί τρία επίπεδα μόλυνσης με βάση την τιμή του ρύπου, όπως φαίνεται στον παρακάτω πίνακα: Τιμές ρύπου Επίπεδα μόλυνσης έως και 1 «Φυσιολογικό» πάνω από 1 έως και 2 «Οριακό» πάνω από 2 «Επικίνδυνο» Να γράψετε πρόγραμμα το οποίο: Δ1. Για κάθε μία από τις τριάντα (30) ημέρες (μον. 1) να διαβάζει την τιμή του ρύπου με τη χρήση κατάλληλου μηνύματος (δε χρειάζεται να γίνεται έλεγχος ορθότητας τιμών) (μον. 2). Δ2. Να εμφανίζει για κάθε μέρα το επίπεδο μόλυνσης ανάλογα με την τιμή του ρύπου. Δ3. Να υπολογίζει και να εμφανίζει το πλήθος των ημερών κατά τη διάρκεια των οποίων η τιμή του ρύπου ξεπέρασε την τιμή 3. Δ3. Να υπολογίζει και να εμφανίζει τον μέσο όρο των τιμών του ρύπου για το διάστημα των τριάντα (30) ημερών. ΕΠΑΛ ΜΕΓΑΛΟΠΟΛΗΣ Σελίδα 6 από 6 ΚΑΤΣΟΥΛΑΣ ΝΙΚΟΛΑΟΣ