This is an old revision of the document!
Table of Contents
9. Ασκήσεις & Δραστηριότητες
Σύμφωνα με το Βιβλίο Πληροφορικής Γ’ Γυμνασίου (ΙΕΠ), ο προγραμματισμός είναι μια πρακτική δεξιότητα που εμπεδώνεται μέσα από τη δοκιμή, τον εντοπισμό σφαλμάτων (debugging) και την επίλυση προβλημάτων.
Οι παρακάτω δραστηριότητες είναι χωρισμένες σε επίπεδα δυσκολίας. Μπορείτε να τις δουλέψετε στο Thonny ή στο EduBlocks.
—
🟢 Επίπεδο 1: Βασικές Γνώσεις (Μεταβλητές, Είσοδος/Έξοδος)
Άσκηση 1.1: Ο Υπολογιστής Ηλικίας
Γράψτε ένα πρόγραμμα το οποίο:
1. Θα ζητάει από τον μαθητή το όνομά του. 2. Θα ζητάει το έτος γέννησής του (προσοχή στη μετατροπή σε αριθμό!). 3. Θα υπολογίζει και θα εκτυπώνει ένα μήνυμα που θα λέει πόσων χρονών θα είναι ο μαθητής το έτος **2030**.
Άσκηση 1.2: Τι θα εμφανιστεί στην οθόνη;
Χωρίς να τρέξετε τον κώδικα, μπορείτε να βρείτε τι θα εκτυπώσει το παρακάτω πρόγραμμα;
α = 10 β = 4 print("Το αποτέλεσμα είναι:", α // β) print("Το υπόλοιπο είναι:", α % β)
—
🟡 Επίπεδο 2: Δομές Ελέγχου & Λίστες (if, for, while, lists)
Άσκηση 2.1: Έλεγχος Ορίου Ταχύτητας
Φτιάξτε ένα πρόγραμμα για ένα έξυπνο αυτοκίνητο.
- Θα ζητάει από τον οδηγό την τρέχουσα ταχύτητα (σε χλμ/ώρα).
- Αν η ταχύτητα είναι πάνω από 120, θα εμφανίζει το μήνυμα:
“Προσοχή! Μειώστε ταχύτητα! ⚠️” - Αν είναι από 100 έως και 120, θα εμφανίζει:
“Κινείστε κοντά στο όριο.” - Σε κάθε άλλη περίπτωση, θα εμφανίζει:
“Κανονική ταχύτητα.”
Άσκηση 2.2: Το Άθροισμα των Αριθμών
Χρησιμοποιώντας μια δομή επανάληψης for και τη συνάρτηση range(), φτιάξτε ένα πρόγραμμα που θα υπολογίζει και θα εκτυπώνει το άθροισμα όλων των ακέραιων αριθμών από το 1 μέχρι και το 100 (δηλαδή $1 + 2 + 3 + … + 100$).
Άσκηση 2.3: Η Λίστα των Απουσιολόγων
Δίνεται η παρακάτω λίστα:
apousies = ["Γιώργος", "Μαρία", "Νίκος"]
Γράψτε τις κατάλληλες εντολές Python ώστε:
1. Να προσθέσετε το όνομα "Ελένη" στο τέλος της λίστας. 2. Να εμφανίσετε στην οθόνη πόσους απουσιολόγους έχει συνολικά η λίστα (χρήση της ''len()''). 3. Με μια επανάληψη ''for'', να εκτυπώσετε τα ονόματα το ένα κάτω από το άλλο.
—
🔴 Επίπεδο 3: Προχωρημένες Ασκήσεις (Συναρτήσεις & Αναδρομή)
Άσκηση 3.1: Συνάρτηση Μετατροπής Θερμοκρασίας
Δημιουργήστε μια δική σας συνάρτηση με όνομα to_fahrenheit(celsius), η οποία θα δέχεται ως παράμετρο μια θερμοκρασία σε βαθμούς Κελσίου, θα τη μετατρέπει σε Φαρενάιτ σύμφωνα με τον τύπο: $F = C \times 1.8 + 32$ και θα επιστρέφει (return) το αποτέλεσμα.
Στο κύριο πρόγραμμα, ζητήστε τη θερμοκρασία από τον χρήστη και καλέστε τη συνάρτηση για να εμφανίσετε το αποτέλεσμα.
Άσκηση 3.2: Αναδρομικός Πολλαπλασιασμός
Με βάση το παράδειγμα της αντίστροφης μέτρησης που είδαμε στο Κεφάλαιο 7, προσπαθήστε να καταλάβετε τι υπολογίζει η παρακάτω αναδρομική συνάρτηση αν την καλέσουμε ως mystiko_re(3):
def mystiko_re(n): if n == 1: return 1 else: return n * mystiko_re(n - 1) # Δοκιμή κλήσης print(mystiko_re(3))
—
🛠️ Οδηγός Αντιμετώπισης Σφαλμάτων (Debugging Tip)
Όταν ο κώδικας βγάζει “SyntaxError”:
Ελέγξτε αν ξεχάσατε να κλείσετε κάποια παρένθεση `()`, κάποια εισαγωγικά `““` ή αν παραλείψατε την άνω-κάτω τελεία `:` στο τέλος ενόςif,forήwhile!
9. Ασκήσεις & Δραστηριότητες
Σύμφωνα με το Βιβλίο Πληροφορικής Γ’ Γυμνασίου (ΙΕΠ), ο προγραμματισμός είναι μια πρακτική δεξιότητα που εμπεδώνεται μέσα από τη δοκιμή, τον εντοπισμό σφαλμάτων (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 αγαπημένα σας φαγητά. Med τη χρήση μιας επανάληψης 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)), ποιο θα είναι το αποτέλεσμα που θα εμφανιστεί στην οθόνη;
<code python>
def mystiko(n):
if n == 1:
return 2
else:
return 2 * mystiko(n - 1)
</code >
—
🛠️ Οδηγός Αντιμετώπισης Σφαλμάτων (Debugging Tip)
Όταν ο κώδικας βγάζει “IndentationError”:
Ελέγξτε αν οι εντολές σας μέσα σε έναif,forήwhileείναι σωστά στοιχισμένες (πιο μέσα) κατά 4 κενά ή ένα Tab!

