Θα προσπαθήσω να κάνω μία συνολική τοποθέτηση επί του θέματος της αναζήτησης, της ταξινόμησης και της εύρεσης min και max.
Οδηγός μου θα είναι το βιβλίο μαθητή.
Πρώτα από όλα θεωρώ ότι κανείς εκπαιδευτικός:
α) δεν παροτρύνει τους μαθητές και τις μαθήτριες να χρησιμοποιούν πάντα στην αναζήτηση τη
Για είτε ζητάει την ύπαρξη είτε ζητάει το πλήθος, είτε είναι, είτε δεν είναι ταξινομημένος. Άρα νομίζω ότι όλοι μας συμπορευόμαστε με το βιβλίο μαθητή και πράττουμε βάσει αυτού.
β) δεν υποκινεί τους μαθητές και τις μαθήτριες να κάνουν ταξινόμηση για να βρουν το max ή το min.
γ) δεν ενθαρρύνει τους μαθητές και τις μαθήτριες να κάνουν εύρεση του min και max με τη γνωστή διαδικασία, αν ο πίνακας είναι ταξινομημένος.
Πάμε τώρα στο βιβλίο. Στην αναζήτηση, σελ. 64, λέει τα ακόλουθα:
1. "
Το πρόβλημα της αναζήτησης (searching) ενός στοιχείου σε πίνακα είναι ιδιαίτερα ενδιαφέρον λόγω της χρησιμότητάς του σε πλήθος εφαρμογών. Υπάρχουν αρκετές μέθοδοι αναζήτησης σε πίνακα που εξαρτώνται κυρίως από το, αν ο πίνακας είναι ταξινομημένος ή όχι" (βιβλίο μαθητή, σελ. 64).
2. "
... ο προηγούμενος (εννοεί τον αλγόριθμο με το done και το
Όσο)
αλγόριθμος ισχύει για την περίπτωση όπου κάθε στοιχείο υπάρχει μία μόνο φορά στον πίνακα".
Άρα το κείμενο επεξηγεί στο μαθητή ότι στην περίπτωση της μοναδικής ύπαρξης στοιχείου πρέπει να προτιμήσει να χρησιμοποιήσει την
Όσο με τη χρήση λογικής μεταβλητής (θα μπορούσε η λογική να αντικατασταθεί από άλλο τύπο μεταβλητής. Δεν είναι εκεί η ουσία. Αν και αυτό έχει οφέλη σε περίπτωση που μας απασχολούσε η μνήμη που καταλαμβάνει η μεταβλητή. Η ουσία είναι ότι ο αλγόριθμος πρέπει να σταματά αν βρεθεί το ζητούμενο). Συνεχίζοντας λέει ότι αν το στοιχείο υπάρχει περισσότερες φορές τότε η λογική μεταβλητή είναι περιττή.
Από αυτό προκύπτει το συμπέρασμα ότι ο αλγόριθμος της αναζήτησης, στην περίπτωση που τα στοιχεία του πίνακα δεν είναι μοναδικά και δεν είναι ταξινομημένα μπορεί να υλοποιηθεί και με
Για (μετατροπή της
Όσο σε
Για).
Στη συνέχεια λέει "
αν τα στοιχεία του πίνακα είναι ταξινομημένα, τότε ο αλγόριθμος πρέπει να σταματήσει, μόλις συναντήσει κάποιο στοιχείο που είναι μεγαλύτερο από το αναζητούμενο".
Ακολουθεί σαφέστατο παράδειγμα λειτουργίας αυτού του αλγορίθμου με φραστικό τρόπο και άρα δεν μπορεί να ειπωθεί ότι είναι υπόδειξη αυτό που υπάρχει στο βιβλίο. Κατά τη γνώμη μου είναι αλγόριθμος σε ελεύθερο κείμενο.
Μάλιστα η λέξη
πρέπει είναι νομίζω πολύ ισχυρή λέξη και φυσικά ισχυρότερη από τη φράση "
είναι καλό να αποφεύγεται" που έχει σε άλλα σημεία.
Άρα νομίζω ότι η αναζήτηση αναλύεται επαρκώς και πρέπει να αξιολογείται σύμφωνα με το περίγραμμα του βιβλίου. Έτσι, θεωρώ ότι η αναζήτηση ύπαρξης με
Για είναι καλό να οδηγεί σε μείωση μονάδων. Επιπλέον η αναζήτηση σε ταξινομημένο πίνακα πρέπει (το λέει το βιβλίο ξεκάθαρα) να πραγματοποιείται έτσι ώστε να σταματά αν ξεπεράσουμε το στοιχείο που αναζητούμε. Δεν νομίζω ότι χρειάζεται ειδική μνεία σε ένα θέμα πανελληνίων. Σε αντιστοιχία έρχεται και το θέμα της αναζήτησης πλήθους σε ταξινομημένο.
Συνάδελφοι, όλοι δίνουμε στα παιδιά ένα παράδειγμα από την πραγματική τους ζωή (π.χ. έχει κάποιος μαζί του το βιβλίο του μαθήματος ΑΕΠΠ; ή πόσοι έχετε μαζί σας το βιβλίο του μαθήματος ΑΕΠΠ;) για να καταλάβουν την αναζήτηση και ελάχιστοι είναι οι μαθητές/τριες που δεν το αντιμετωπίζουν σωστά. Οι περισσότεροι για να μην πω όλοι δίνουν αμέσως τη σωστή αλγοριθμική λύση. Εμείς, λοιπόν, το μόνο που έχουμε να κάνουμε είναι να τους διευκολύνουμε να την αναπτύξουν σε ψευδογλώσσα.
Πάω τώρα στην εύρεση του min και max. Θεωρώ ότι στη σελίδα 199 η φράση "
Η εύρεση του μέγιστου ή του ελάχιστου στοιχείου ενός πίνακα παρουσιάστηκε στα προηγούμενα παραδείγματα. Αν ο πίνακας δεν είναι ταξινομημένος, τότε πρέπει να συγκριθούν τα στοιχεία ένα προς ένα, για να βρεθεί το μέγιστο ή το ελάχιστο.", προσδιορίζει πώς γίνεται η εύρεσή τους. Έτσι, νομίζω ότι είναι ορθό να αφαιρεθούν μονάδες σε λύση με πλήρη ταξινόμηση (το διαφοροποιώ από τη λύση με την ταξινόμηση ενός στοιχείου)...
Ομοίως το βιβλίο λέει (σελ. 199): "
Αν ο πίνακας είναι ταξινομημένος, τότε προφανώς το μέγιστο και το ελάχιστο βρίσκονται στα δύο ακριανά στοιχεία του πίνακα". Αν δεν το εντοπίσουν έτσι, σημαίνει ότι δεν έχουν μελετήσει καλά το βιβλίο, δεν έχουν κατανοήσει αυτά που διάβασαν και ως εκ τούτου είναι πρέπον να αφαιρεθούν μονάδες. Σκεφτείτε ότι πιθανώς ο σκοπός του θεματοδότη να είναι ο έλεγχος για το αν κατανόησαν αυτή τη φράση...
Έργαψα πολλά. Η αλήθεια είναι ότι υπάρχουν διάφορες αντιλήψεις και πολλές εγκαθιδρυμένες απόψεις. Με την παραπάνω προσέγγιση που έκανα, νομίζω ότι δεν παρεκκλίνουμε από το βιβλίο και δεν καταστρατηγούμε το δικαίωμα του μαθητή να βαθμολογηθεί για την επιστημονικά τεκμηριωμένη λύση του και ταυτόχρονα εφαρμόζουμε το ΠΣ και τη νομοθεσία περί αξιολόγησης των μαθητών.
Κώστα και Γιώργο η διαφωνία δεν είναι προσωπική. Αντίθετα θεωρώ ότι η συζήτηση βοηθάει να γίνει εκ νέου να γίνει μία συνολική κουβέντα για να υποστηρίξουμε τη δουλειά μας. Είμαι σίγουρος -και το λέω για δεύτερη φορά- ότι κανείς από εσάς και πιστεύω και από όλους τους συναδέλφους, δεν παροτρύνει τα παιδιά να χρησιμοποιούν τη
Για στην περίπτωση της αναζήτησης ύπαρξης ή την ταξινόμηση για την εύρεση του max. Άρα ας πάνε στο καλό οι "κακές" λύσεις. Αφαιρώντας μάλιστα μονάδες, τότε πάνε σίγουρα στο καλό...
Τέλος, θα ήθελα να επανέλθω σε κάτι που όλοι το συζητάμε και το θέλουμε.
Επιθυμούμε οι μαθητές μας, να εφαρμόζουν, να αποδέχονται, να υιοθετούν, να εκτιμούν και να αμφισβητούν όποτε χρειάζεται αυτά που τους περιγράφουμε, τους αντιπαραθέτουμε και τους εξηγούμε. Αν εμείς τους επεξηγούμε, τους επιδεικνύουμε και χρησιμοποιούμε τις κατάλληλες αλγοριθμικές προσεγγίσεις, είμαι βέβαιος ότι και οι μαθητές μας και οι μαθήτριές μας θα τις προτιμήσουν και τότε
θα έχουμε επιτύχει ως δάσκαλοι.