====== 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ου Γυμνασίου Ναυπλίου