Αποστολέας Θέμα: Μια "αιρετική" αναζήτηση  (Αναγνώστηκε 9130 φορές)

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 887
Μια "αιρετική" αναζήτηση
« στις: 20 Ιαν 2011, 01:15:30 μμ »
Ένας μαθητής μου που γενικά δεν δέχεται να μαθαίνει πράγματα, αφού του έδειξα τη σειριακή αναζήτηση με τον τρόπο του βιβλίου (σχεδόν), άρχισε να λύνει τις ασκήσεις κάπως έτσι
Κώδικας: [Επιλογή]
  Εμφάνισε 'Δώσε στοιχείο προς αναζήτηση'
  Διάβασε x
  i← 1
  k← 1
  Όσο k=1 επανάλαβε
Αν A[i]=x τότε
k← 0
αλλιώς_αν i=N τότε
k← 2
Τέλος_αν
i← i+1
  Τέλος_επανάληψης

  Αν k=0 τότε
Εμφάνισε 'Βέθηκε στη θέση ',i-1
  αλλιώς
Εμφάνισε 'Δεν βρέθηκε'
  Τέλος_αν
όπου Ν το μέγεθος του πίνακα βέβαια.

Η πρώτη μου αντίδραση ήταν "τι κάνεις εκεί !" αλλά μετά είδα ότι δεν έχει λάθος.
Είναι η πιο παρανοϊκή-αντιδραστική αναζήτηση που έχει τύχει να δω αλλά είναι σωστή (νομίζω).
Του είπα μόνο ότι ρισκάρει στη βιασύνη της διόρθωσης, σε μια τόσο τετριμμένη λειτουργία, ένα μάτι που έχει συνηθίσει να περιμένει διπλή συνθήκη στην όσο (η i<=N δεν λείπει από καμιά version που έχω δει ως τώρα), μια μεταβλητή για θέση και/ή μια λογική μεταβλητή, να το προσπεράσει εύκολα σαν λάθος.
Τι πιστεύετε;
Φιλικά,
Γιώργος Θαλασσινός

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3178
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #1 στις: 20 Ιαν 2011, 01:20:13 μμ »
ουσιαστικά χρησιμοποιεί την κ ως λογική μεταβλητή
άρα λειτουργεί σχεδόν όπως ο αλγόριθμος του βιβλίου

θα του έλεγα πως "είναι σα να πίνει γαλλικό καφέ σε ποτήρι κρασιού"



στον κλασσικό αλγόριθμο ξεδιπλώνεις και τη σκέψη σου:  "όσο δεν έχει εξαντληθεί ο πίνακας και δεν έχει βρεθεί το στοιχείο"

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2214
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #2 στις: 20 Ιαν 2011, 01:27:52 μμ »
Ο αλγόριθμος του βιβλίου έχει πάρα πολλές αδυναμίες (περιττή λογική μεταβλητή κ.α.) και ένας καλός νους τις αντιλαμβάνεται αμέσως και σπεύδει να τις διορθώσει. Κάνουμε τέτοια κουβέντα στην τάξη με όσους νιώθουν
Εγώ θα τον επιβράβευα φυσικά και απλά θα του έλεγα ότι στους 2-3 τυποποιημένους αλγορίθμους που έχει το βιβλίο, καλό είναι να μην ρισκάρει αλλαγές στις εξετάσεις
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3178
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #3 στις: 20 Ιαν 2011, 01:32:23 μμ »
Μια λογική μεταβλητή είναι πάντα περιττή και μπορεί να αντικατασταθεί, σαφώς...

Κατά τη γνώμη μου όμως, περιέχει παιδαγωγικά πλεονεκτήματα η χρήση της ως διακόπτης και επιτρέπει τη διαφοροποίηση του αλγορίθμου με Όσο από κάποιον που θα χρησιμοποιούσε το Για

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2214
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #4 στις: 20 Ιαν 2011, 01:36:39 μμ »
Εννοώ ότι στην θέση της λογικής μεταβλητής, μπορεί να χρησιμοποιηθεί η μεταβλητή Θέση (Όσο Θέση=0)
Αν και είναι περίεργη η ιδέα να επιστρέφεται ως θέση η τιμή μηδέν αν δεν βρεθεί το αναζητούμενο στοιχείο
Γενικά έχει πολλές αδυναμίες ο αλγόριθμος που παρουσιάζεται στο βιβλίο
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 887
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #5 στις: 20 Ιαν 2011, 01:50:23 μμ »
θα του έλεγα πως "είναι σα να πίνει γαλλικό καφέ σε ποτήρι κρασιού"
Μου άρεσε αυτό  ;D

Πέτρο συμφωνώ, η χρήση της θέσης και της λογικής μεταβλητής είναι πλεονασμός.
Βρίσκω ότι τα παιδιά συμπαθούν περισσότερο τον αλγόριθμο με τη θέση αλλά τους λέω και τον αλγόριθμο με τη λογική μεταβλητή (χωρίς θέση), ώστε να εξοικειώνονται με τις λογικές μεταβλητές. Ουσιαστικά είναι η πρώτη στιγμή που βλέπουν πώς μπορεί να χρησιμοποιηθεί μια λογική μεταβλητή.
Φιλικά,
Γιώργος Θαλασσινός

DaKnOb

  • Software Developer. Vulnerability Researcher.
  • Θαμώνας
  • ***
  • Μηνύματα: 38
  • Software Developer. Vulnerability Researcher.
    • DaKnOb
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #6 στις: 25 Ιαν 2013, 04:08:05 μμ »
Δεν ξέρω για εσάς, αλλά εγώ πρώτη φορά που το έκανα μόνος μου έκανα αυτό:

Κώδικας: [Επιλογή]
//Δεδομένα Α,Ν,Query//
!Α = Μονοδιάστατος Πίνακας
!Ν = Μέγεθος Πίνακα
!Query = Λέξη προς αναζήτηση

!Αναζήτηση
Για ι από 1 μέχρι Ν
Αν Α[ι] = Query τότε
Εμφάνισε "Βρέθηκε στην θέση #", ι
ι ← Ν + 1
Τέλος_Αν
Αν ι = Ν τότε
Εμφάνισε "Δεν βρέθηκε"
Τέλος_Αν
Τέλος_Επανάληψης

:P

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3178
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #7 στις: 25 Ιαν 2013, 11:34:50 μμ »
πιθανώς θα πρέπει να διερευνήσεις και την ύπαρξη της δομής Όσο
  :police:

DaKnOb

  • Software Developer. Vulnerability Researcher.
  • Θαμώνας
  • ***
  • Μηνύματα: 38
  • Software Developer. Vulnerability Researcher.
    • DaKnOb
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #8 στις: 25 Ιαν 2013, 11:48:47 μμ »
πιθανώς θα πρέπει να διερευνήσεις και την ύπαρξη της δομής Όσο
  :police:

Απλά μου αρέσουν οι εναλλακτικοί τρόποι σε όλα τα πράγματα. Γι αυτό ίσως και με έλκει το αντικείμενο.

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 887
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #9 στις: 26 Ιαν 2013, 04:36:33 πμ »
Ναι, πολλοί μαθητές προτείνουν μια λύση που μοιάζει, όμως στα πλαίσια του μαθήματος απαγορεύεται να μεταβάλλουμε το μετρητή της για.
Φιλικά,
Γιώργος Θαλασσινός

DaKnOb

  • Software Developer. Vulnerability Researcher.
  • Θαμώνας
  • ***
  • Μηνύματα: 38
  • Software Developer. Vulnerability Researcher.
    • DaKnOb
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #10 στις: 26 Ιαν 2013, 01:07:24 μμ »
Ναι, πολλοί μαθητές προτείνουν μια λύση που μοιάζει, όμως στα πλαίσια του μαθήματος απαγορεύεται να μεταβάλλουμε το μετρητή της για.

Για αυτό υπάρχει μια τεράστια διαφωνία, οπότε κάνουμε του βιβλίου ωστε και ο πιο άχρηστος διορθωτής να μην μπορεί να κόψει κάτι γιατί θα του "θυμίζει κάτι" αυτό.

Κανένας

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Απ: Μια "στρωτή" αναζήτηση
« Απάντηση #11 στις: 14 Φεβ 2014, 11:10:31 μμ »
και γιατι να μην κάνουμε αυτή:

θ<-0
Αρχή_επανάληψης
 θ<-θ+1
Μέχρις_ότου Α[θ]=Query ή θ=Ν

Επιχειρήματα υπέρ:
1. Δεν χρειάζεται αποστήθιση, πράγμα που κάνουν κατά κανόνα οι μαθητές στον αλγόριθμο του βιβλίου. (Μόνο οι μαθητές;)
2. Για να βρεθεί χρειάζεται τουλάχιστον ένας έλεγχος (1η θέση). Τι λέμε συνέχεια για τη Μέχρις_ότου;
3. Η χρήση λογικής μεταβλητής είναι άστοχη εδώ,(Νομίζω είναι και η πρώτη φορά που χρησιμοποιείται στο βιβλίο)εφ' όσον η αναζήτηση
    σταματάει με την εύρεση. Αν θέλεις να διδάξεις τη χρήση λογικής μεταβλητής θα ήταν εύστοχο να το κάνεις με χρήση Για.
4. Αποδοτικότερος αλγόριθμος (εκτός ύλης, αλλά νομίζω πρέπει να αναφέρεται).

« Τελευταία τροποποίηση: 16 Φεβ 2014, 02:28:11 πμ από nobody6 »
ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ
ΓΕΛ ΝΑΞΟΥ

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3145
  • to Iterate is human to Recurse divine
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #12 στις: 15 Φεβ 2014, 12:46:52 πμ »
Δεν είναι πιο αποδοτικός.
Την ίδια πολυπλοκότητα έχει με όλους τους άλλους Ο(n).

και γιατι να μην κάνουμε αυτή:

θ<-0
Αρχή_επανάληψης
 θ<-θ+1
Μέχρις_ότου Α[θ]=Query ή θ=Ν

Επιχειρήματα υπέρ:
1. Δεν χρειάζεται αποστήθιση, πράγμα που κάνουν κατά κανόνα οι μαθητές στον αλγόριθμο του βιβλίου. (Μόνο οι μαθητές;)
2. Για να βρεθεί χρειάζεται τουλάχιστον ένας έλεγχος (1η θέση). Τι λέμε συνέχεια για τη Μέχρις_ότου;
3. Η χρήση λογικής μεταβλητής είναι άστοχη εδώ,(Νομίζω είναι και η πρώτη φορά που χρησιμοποιείται στο βιβλίο)εφ' όσον η αναζήτηση
    σταματάει με την εύρεση. Αν θέλεις να διδάξεις τη χρήση λογικής μεταβλητής θα ήταν εύστοχο να το κάνεις με χρήση Για.
4. Αποδοτικότερος αλγόριθμος (εκτός ύλης, αλλά νομίζω πρέπει να αναφέρεται).


What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Κανένας

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Απ: Μια "στρωτή" αναζήτηση
« Απάντηση #13 στις: 15 Φεβ 2014, 01:34:16 μμ »
Είναι πιο αποδοτικός. Ο αλγόριθμος του βιβλίου έχει επιπλέον ένα Αν μέσα στην επανάληψη.
« Τελευταία τροποποίηση: 16 Φεβ 2014, 02:29:47 πμ από nobody6 »
ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ
ΓΕΛ ΝΑΞΟΥ

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #14 στις: 15 Φεβ 2014, 02:19:25 μμ »
Είναι πιο αποδοτικός. Ο αλγόριθμος του βιβλίου έχει επιπλέον ένα Αν μέσα στην επανάληψη.

Το επιπλέον Αν δεν επηρρεάζει την τάξη πολυπλοκότητας του αλγορίθμου.