(Πηγή: Βιβλίο Μαθητή, Πληροφορική Β΄ Γυμνασίου, Κεφάλαιο 6 «Δομές Δεδομένων», σελ. 63-67 (§6.1-6.3). Το κεφάλαιο ΔΕΝ έχει δικό του "Ερωτήσεις"/"Ασκήσεις" section στο ΠΕΡΙΕΧΟΜΕΝΑ και δεν είχε κανένα lyseis αρχείο από τη Φάση 1. Οι 5 «Δραστηριότητα 1-5» παρακάτω είναι τοπικά αριθμημένα κουτιά ενσωματωμένα μέσα στη θεωρία του §6.3 «Λειτουργίες λιστών», αμέσως μετά το Παράδειγμα 3 «Οι έσχατοι έσονται πρώτοι». Οι εκφωνήσεις είναι αυτούσιες από το σχολικό βιβλίο, με μία μικρή διόρθωση διατύπωσης έναντι του πηγαίου JSON στη Δραστηριότητα 2, επιβεβαιωμένη οπτικά πάνω στο PDF.)
Βρείτε όλα τα πλακίδια που αναφέρονται στις λίστες, περιγράψτε τη λειτουργία τους και τοποθετήστε τα στο κεντρικό σημείο.
Σκέψη / Μεθοδολογία: Η δραστηριότητα ζητά να μαζέψουμε σε ένα σημείο (π.χ. αφίσα ή φύλλο εργασίας) όλα τα πλακίδια χειρισμού λιστών που παρουσίασε η θεωρία του §6.3, μαζί με τη σύντομη επεξήγηση της λειτουργίας τους. Το §6.3 παρουσιάζει ρητά, με τη μορφή εικόνας-πίνακα πάνω στο παράδειγμα της λίστας «Οι φίλοι μου», ακριβώς 7 τέτοια πλακίδια.
Λύση — τα 7 πλακίδια λιστών:
Οργάνωση στο «κεντρικό σημείο»: τίτλος «ΛΙΣΤΑ – Πλακίδια χειρισμού» στο κέντρο και γύρω του τα 7 πλακίδια, προαιρετικά ομαδοποιημένα σε (α) πλακίδια που τροποποιούν τη λίστα: πρόσθεσε, διάγραψε, βάλε στη θέση, αντικατέστησε στοιχείο, (β) πλακίδια που διαβάζουν/ελέγχουν τη λίστα χωρίς να την αλλάζουν: στοιχείο Ν, περιέχει..., μήκος λίστας, και (γ) η βοηθητική εντολή «Δημιουργία Λίστας» (καρτέλα Μεταβλητές) που δημιουργεί τη λίστα πριν χρησιμοποιηθεί οποιοδήποτε από τα 7 πλακίδια.
Απάντηση: 7 πλακίδια συνολικά — πρόσθεσε, διάγραψε, βάλε στη θέση, αντικατέστησε στοιχείο, στοιχείο Ν, περιέχει...;, μήκος λίστας — καθένα με τη λειτουργία του όπως παραπάνω.
Πρόσεξε:
- Έστω ότι, στο παράδειγμα 2, την τελευταία στιγμή η Ηλέκτρα ενημερώνει ότι δε θα μπορέσει να έρθει στο πάρτι σας. Αφαιρέστε την από τη λίστα.
- Στη συνέχεια σας ενημερώνει η φίλη σας, η Αθηνά, ότι θα τα καταφέρει τελικά να έρθει και θα φέρει και την αδερφή της, τη Μυρσίνη. Να τις προσθέσετε στη λίστα. Πόσους καλεσμένους έχετε τώρα;
Σκέψη / Μεθοδολογία: Ξεκινάμε από τη γνωστή λίστα του Παραδείγματος 2: «Οι φίλοι μου» = [1.Φανή, 2.Εβελίνα, 3.Βανέσα, 4.Ηλέκτρα, 5.Οδυσσέας], μήκος 5. Η Ηλέκτρα είναι στη θέση 4 — «διάγραψε 4 από λίστα». Η Αθηνά δεν βρισκόταν καθόλου στην αρχική λίστα, οπότε η προσθήκη της (και της Μυρσίνης) είναι απλή προσθήκη δύο νέων ονομάτων στο τέλος, με δύο πλακίδια «πρόσθεσε».
Λύση:
Απάντηση: Τελική λίστα: 1.Φανή, 2.Εβελίνα, 3.Βανέσα, 4.Οδυσσέας, 5.Αθηνά, 6.Μυρσίνη. Έχετε τώρα 6 καλεσμένους.
Πρόσεξε:
Δημιουργήστε μια λίστα με τα ζώα που σας αρέσουν. Ονομάστε την Animals.
Σκέψη / Μεθοδολογία: Προσωπικού/δημιουργικού χαρακτήρα δραστηριότητα (τα ζώα διαφέρουν ανά μαθητή) — δίνουμε σαφή, ελέγξιμα βήματα υλοποίησης στο Scratch, ίδια λογική με το χτίσιμο της λίστας «Οι φίλοι μου» στο Παράδειγμα 2.
Λύση:
Απάντηση (ενδεικτική): Λίστα «Animals» με τα αγαπημένα ζώα του μαθητή, χτισμένη με «Δημιουργία Λίστας» + διαδοχικά πλακίδια «πρόσθεσε», ίδια μέθοδο με το Παράδειγμα 2 του βιβλίου.
Πρόσεξε:
Δημιουργήστε μια λίστα με όλους του ζυγούς αριθμούς που είναι μικρότεροι του 10. Στη συνέχεια δημιουργήστε μια δεύτερη λίστα με όλους τους μονούς αριθμούς που είναι μικρότεροι του 100.
Σκέψη / Μεθοδολογία: Θεωρούμε τους φυσικούς αριθμούς (0, 1, 2, …), οπότε το 0 μετράει ως ζυγός αριθμός μικρότερος του 10. Αντί για πολλά χειροκίνητα πλακίδια «πρόσθεσε», χτίζουμε κάθε λίστα αλγοριθμικά με επανάληψη + έλεγχο υπολοίπου διαίρεσης δια 2 (mod 2): υπόλοιπο 0 → ζυγός, υπόλοιπο 1 → μονός.
Λύση:
Λίστα «Ζυγοί» (ζυγοί < 10):
Δημιουργία Λίστας «Ζυγοί»
όρισε αριθμός σε 0
επανάλαβε μέχρι αριθμός = 10
αν (αριθμός mod 2 = 0) τότε πρόσθεσε αριθμός στη λίστα Ζυγοί
άλλαξε αριθμός κατά 1
Αποτέλεσμα: [0, 2, 4, 6, 8], μήκος 5.
Λίστα «Μονοί» (μονοί < 100), ίδια λογική:
Δημιουργία Λίστας «Μονοί»
όρισε αριθμός σε 0
επανάλαβε μέχρι αριθμός = 100
αν (αριθμός mod 2 = 1) τότε πρόσθεσε αριθμός στη λίστα Μονοί
άλλαξε αριθμός κατά 1
Αποτέλεσμα: [1, 3, 5, 7, 9, …, 97, 99], μήκος 50 (επαληθεύτηκε με εκτέλεση Python).
Απάντηση: Λίστα «Ζυγοί»: [0, 2, 4, 6, 8] (μήκος 5). Λίστα «Μονοί»: [1, 3, …, 97, 99] (μήκος 50).
Πρόσεξε:
Η ακολουθία Fibonacci ξεκινάει με τους αριθμούς 0 και 1 και, στη συνέχεια, κάθε επόμενος αριθμός είναι το άθροισμα των δυο προηγούμενων, δηλαδή 0, 1, 1, 2, 3, 5, 8, 13 κ.ο.κ. Να δημιουργήσετε μια λίστα με τους πρώτους 30 αριθμούς της ακολουθίας Fibonacci.
Σκέψη / Μεθοδολογία: Οι δύο πρώτοι όροι (0 και 1) μπαίνουν χειροκίνητα με δύο πλακίδια «πρόσθεσε». Κάθε επόμενος όρος είναι το άθροισμα των δύο αμέσως προηγούμενων στοιχείων της ίδιας λίστας: «στοιχείο (μήκος λίστας) της Fibonacci» + «στοιχείο (μήκος λίστας − 1) της Fibonacci». Χρειαζόμαστε 30 όρους συνολικά, άρα 28 ακόμη επαναλήψεις μετά τους 2 αρχικούς.
Λύση:
Δημιουργία Λίστας «Fibonacci»
πρόσθεσε 0 στη λίστα Fibonacci
πρόσθεσε 1 στη λίστα Fibonacci
επανάλαβε 28 φορές
πρόσθεσε (στοιχείο (μήκος λίστας Fibonacci) της Fibonacci + στοιχείο (μήκος λίστας Fibonacci − 1) της Fibonacci) στη λίστα Fibonacci
Επαλήθευση με εκτέλεση Python: παράγονται ακριβώς 30 όροι:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229.
Απάντηση: Λίστα «Fibonacci» με τους πρώτους 30 όρους όπως παραπάνω (30ός όρος = 514.229).
Πρόσεξε: