Σε αυτήν την ενότητα θα αναφερθούμε στην έννοια της αναδρομής. Οι μαθητές πρέπει να κατανοήσουν αρχικά την έννοια της Αναδρομής μέσα από παραδείγματα της καθημερινότητας και στην συνέχεια την εφαρμογή της στον προγραμματισμό μέσα από το περιβάλλον του scratch.
Μετά το τέλος αυτής της ενότητας οι μαθητές πρέπει να είναι σε θέση:
- να περιγράφουν τι είναι η αναδρομή στον προγραμματισμό
- να αναγνωρίζουν πότε ένα πρόγραμμα έχει αναδρομή
- να κωδικοποιούν πολύ απλά προβλήματα χρησιμοποιώντας
αναδρομή.
Στον προγραμματισμό, η αναδρομή είναι μια τεχνική όπου μια συνάρτηση καλεί τον εαυτό της για να λύσει ένα πρόβλημα, διαιρώντας το σε μικρότερα, παρόμοια υποπροβλήματα. Κάθε αναδρομική κλήση πρέπει να έχει ένα βήμα διακοπής (termination condition) για να αποφευχθεί η ατελείωτη επανάληψη και να οδηγήσει σε τελική λύση.
Παραδείγματα ανάδρομου αλγορίθμου από την καθημερινότητα
1. Σπάσιμο σοκολάτας σε κομμάτια:
Αν η σοκολάτα έχει μόνο ένα
κομμάτι → σταμάτα.
Αλλιώς:
Σπάσε τη σοκολάτα στη μέση.
Εφάρμοσε την ίδια διαδικασία στο
κάθε μισό.
2. Αναζήτηση αντικειμένου σε στοίβα κουτιών:
Αν το πάνω κουτί έχει το
αντικείμενο → σταμάτα.
Αλλιώς:
Άνοιξε το πάνω κουτί.
Αντικατάστησε το πρόβλημα με τη
στοίβα που μένει (χωρίς το πάνω κουτί).
Εφάρμοσε την ίδια διαδικασία.
- Φύλλο εργασίας 1
- Φύλλο εργασίας 2
Πύργος του Ανόι – Οδηγίες
Στόχος είναι να μεταφέρεις όλους τους δίσκους από τον αριστερό πύργο
στον δεξιό. Πρέπει να ακολουθήσεις δύο κανόνες:
- Μπορείς να μετακινήσεις μόνο τον πάνω δίσκο από έναν πύργο.
- Δεν μπορείς να βάλεις μεγαλύτερο δίσκο πάνω σε μικρότερο.
Διαδραστικό Τρίγωνο του Sierpinski
Το τρίγωνο Sierpinski είναι ένα fractal που κατασκευάζεται με τον εξής αναδρομικό αλγόριθμο:

