====== 10. Ασκήσεις Επανάληψης ====== {{https://www.python.org/static/img/python-logo.png?150|Python}} Σύμφωνα με το [[https://www.iep.edu.gr/wp-content/uploads/2025/01/21-0227-01_V1_Pliroforiki_G-Gymnasiou_Vivlio-Mathiti_Sympliromatiko-Ekpaideutiko-Yliko.pdf|Βιβλίο Πληροφορικής Γ’ Γυμνασίου (ΙΕΠ)]], ο προγραμματισμός είναι μια πρακτική δεξιότητα που εμπεδώνεται μέσα από τη δοκιμή, τον εντοπισμό σφαλμάτων (debugging) και την επίλυση προβλημάτων. Μπορείτε να τις δουλέψετε στο **JupyterHub** ή στο Thonny ή στο **EduBlocks**. --- ===== 🟢 Επίπεδο 1: Βασικές Γνώσεις (Μεταβλητές, Τύποι, Είσοδος/Έξοδος) ===== ==== Άσκηση 1: Ο Ψηφιακός Χαιρετισμός ==== Γράψτε ένα πρόγραμμα που να ζητάει το όνομα του μαθητή και να εμφανίζει το μήνυμα: ''"Καλώς ήρθες στην Python, [Όνομα]!"''. ==== Άσκηση 2: Υπολογιστής Ηλικίας το 2030 ==== Ζητήστε από τον χρήστη το έτος γέννησής του. Υπολογίστε και εκτυπώστε πόσων χρονών θα είναι το έτος **2030** (Θυμηθείτε: μετατροπή σε ''int()''). ==== Άσκηση 3: Μετατροπέας Ευρώ σε Δολάρια ==== Φτιάξτε ένα πρόγραμμα που ζητάει ένα ποσό σε Ευρώ (€) και εμφανίζει την αξία του σε Δολάρια ($). Θεωρήστε ότι 1€ = 1.12 δολάρια. ==== Άσκηση 4: Εμβαδόν Ορθογωνίου ==== Ζητήστε από τον χρήστη το μήκος και το πλάτος ενός ορθογωνίου παραλληλογράμμου. Υπολογίστε και εμφανίστε το εμβαδόν του. ==== Άσκηση 5: 🔎 Εύρεση Τύπου Δεδομένων ==== Τι τύπο δεδομένων (int, float, str, bool) έχει καθεμία από τις παρακάτω μεταβλητές; α = 12 β = "3.14" γ = 19.5 δ = True ==== Άσκηση 6: 🧮 Αριθμητικοί Τελεστές ==== Χωρίς να τρέξετε τον κώδικα, βρείτε τι θα εμφανίσει στην οθόνη το παρακάτω πρόγραμμα: x = 13 y = 4 print(x // y) print(x % y) print(2 ** 3) --- ===== 🟡 Επίπεδο 2: Δομές Ελέγχου (if, elif, else) ===== ==== Άσκηση 7: Έλεγχος Πυρετού ==== Ζητήστε από τον χρήστη τη θερμοκρασία του σώματός του. Αν είναι **πάνω από 37.2**, να εμφανίζεται το μήνυμα ''"Έχεις πυρετό"'', αλλιώς ''"Η θερμοκρασία είναι φυσιολογική"''. ==== Άσκηση 8: Έλεγχος Ορίου Ταχύτητας ==== Φτιάξτε ένα πρόγραμμα που ζητάει την ταχύτητα ενός οχήματος. Αν είναι **πάνω από 120**, εμφανίζει ''"Μειώστε ταχύτητα! ⚠️"''. Αν είναι **από 100 έως 120**, εμφανίζει ''"Προσοχή, είστε κοντά στο όριο"''. Σε κάθε άλλη περίπτωση εμφανίζει ''"Κανονική ταχύτητα"''. ==== Άσκηση 9: Μονός ή Ζυγός; ==== Ζητήστε έναν ακέραιο αριθμό. Χρησιμοποιήστε τον τελεστή ''%'' (modulo) για να ελέγξετε αν ο αριθμός είναι μονός ή ζυγός και εμφανίστε το κατάλληλο μήνυμα. ==== Άσκηση 10: Έλεγχος Κωδικού Πρόσβασης ==== Ζητήστε από τον χρήστη έναν κωδικό. Αν ο κωδικός είναι ''"python123"'', εμφανίστε ''"Πρόσβαση Επετράπη"''. Σε αντίθετη περίπτωση εμφανίστε ''"Λάθος Κωδικός"''. --- ===== 🟠 Επίπεδο 3: Δομές Επανάληψης (for, while) & Λίστες ===== ==== Άσκηση 11: Η Προπαίδεια του 7 ==== Χρησιμοποιώντας μια επανάληψη ''for'' και τη συνάρτηση ''range()'', εκτυπώστε την προπαίδεια του 7 (από 1 x 7 έως 10 x 7). ==== Άσκηση 12: Άθροισμα 1 έως 100 ==== Φτιάξτε ένα πρόγραμμα με ''for'' που υπολογίζει και εμφανίζει το άθροισμα όλων των αριθμών από το 1 έως και το 100 (1 + 2 + 3 + ... + 100). ==== Άσκηση 13: 🔐 Επαναλαμβανόμενος Έλεγχος (while) ==== Τροποποιήστε την Άσκηση 10, έτσι ώστε το πρόγραμμα να ζητάει συνεχώς τον κωδικό πρόσβασης με μια ''while'', μέχρι ο χρήστης να πληκτρολογήσει τον σωστό κωδικό (''"python123"''). ==== Άσκηση 14: Διαχείριση Λίστας Φρούτων ==== Δίνεται η λίστα: `frouta = ["μήλο", "μπανάνα", "ροδάκινο"]`. Γράψτε εντολές για να: 1. Προσθέσετε το "πορτοκάλι" στο τέλος της λίστας. 2. Διαγράψετε τη "μπανάνα". 3. Εμφανίσετε το πλήθος των στοιχείων της λίστας. ==== Άσκηση 15: Εκτύπωση Στοιχείων Λίστας ==== Δημιουργήστε μια λίστα με 5 αγαπημένα σας φαγητά. Με τη χρήση μιας επανάληψης ''for'', εκτυπώστε τα στοιχεία της λίστας το ένα κάτω από το άλλο με μια παύλα ( - ) μπροστά. ==== Άσκηση 16: Ο Ψηφιακός Κουμπαράς ==== Γράψτε ένα πρόγραμμα που θέτει έναν στόχο αποταμίευσης (π.χ. 50€). Με μια ''while'', ζητάει συνεχώς από τον χρήστη να εισάγει ποσά, μέχρι το άθροισμά τους να φτάσει ή να ξεπεράσει τον στόχο. --- ===== 🔴 Επίπεδο 4: Προχωρημένα Θέματα (Συναρτήσεις & Αναδρομή) ===== ==== Άσκηση 17: Συνάρτηση Εμβαδόν Τριγώνου ==== Δημιουργήστε μια συνάρτηση με όνομα ''emvadon_trig(b, h)'', η οποία δέχεται ως παραμέτρους τη βάση (b) και το ύψος (h) ενός τριγώνου, υπολογίζει το εμβαδόν και το **επιστρέφει (return)**. Δοκιμάστε τη στο κύριο πρόγραμμα. ==== Άσκηση 18: Συνάρτηση Έλεγχος Βαθμού ==== Φτιάξτε μια συνάρτηση που δέχεται έναν βαθμό. Αν ο βαθμός είναι 10 και πάνω επιστρέφει ''True'', αλλιώς επιστρέφει ''False''. Στο κύριο πρόγραμμα, χρησιμοποιήστε τη για να εμφανίσετε "Πέρασες" ή "Απορρίφθηκες". ==== Άσκηση 19: 🔄 Αναδρομική Αντίστροφη Μέτρηση ==== Γράψτε μια αναδρομική συνάρτηση ''antistrofi(n)'' η οποία θα εκτυπώνει τους αριθμούς από το n μέχρι το 1 και στο τέλος θα εμφανίζει το μήνυμα "Τέλος Χρόνου! ⏱️". ==== Άσκηση 20: 🧩 Εύρεση Αναδρομικού Αποτελέσματος ==== Μελετήστε την παρακάτω αναδρομική συνάρτηση. Αν τη χρησιμοποιήσουμε στο κύριο πρόγραμμα ως ''print(mystiko(4))'', ποιο θα είναι το αποτέλεσμα που θα εμφανιστεί στην οθόνη; def mystiko(n): if n == 1: return 2 else: return 2 * mystiko(n - 1) --- ===== 🛠️ Οδηγός Αντιμετώπισης Σφαλμάτων (Debugging Tip) ===== > **Όταν ο κώδικας βγάζει "IndentationError":** \\ Ελέγξτε αν οι εντολές σας μέσα σε ένα ''if'', ''for'' ή ''while'' είναι σωστά στοιχισμένες (πιο μέσα) κατά 4 κενά ή ένα Tab! ---- 🧭 Διαχειριστής Υποδομής: **Μακρυπόδης Διονύσιος**, Καθηγητής Πληροφορικής & Διευθυντής 2ου Γυμνασίου Ναυπλίου