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

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 891
Μια "αιρετική" αναζήτηση
« στις: 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 που έχω δει ως τώρα), μια μεταβλητή για θέση και/ή μια λογική μεταβλητή, να το προσπεράσει εύκολα σαν λάθος.
Τι πιστεύετε;
Φιλικά,
Γιώργος Θαλασσινός

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

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

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



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

petrosp13

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

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

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

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

petrosp13

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

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 891
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #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

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3218
  • 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
  • *
  • Μηνύματα: 891
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3163
  • 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 μμ »
Είναι πιο αποδοτικός. Ο αλγόριθμος του βιβλίου έχει επιπλέον ένα Αν μέσα στην επανάληψη.

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

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2784
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #15 στις: 16 Φεβ 2014, 12:01:08 πμ »
3. Η χρήση λογικής μεταβλητής είναι άστοχη εδώ,(Νομίζω είναι και η πρώτη φορά που χρησιμοποιείται στο βιβλίο)εφ' όσον η αναζήτηση
    σταματάει με την εύρεση. Αν θέλεις να διδάξεις τη χρήση λογικής μεταβλητής θα ήταν εύστοχο να το κάνεις με χρήση Για.

Έστω και για μια φορά καλό είναι να δουν χρήση λογικής μεταβλητής. Άστοχη γιατί; Γιατί είναι πιο εύστοχο σε Για; Οι μαθητές μπορούν να πάρουν την ιδέα της λογικής μεταβλητής και να την χρησιμοποιήσουν και σε άλλες περιπτώσεις με μικρές προσαρμογές.

4. Αποδοτικότερος αλγόριθμος (εκτός ύλης, αλλά νομίζω πρέπει να αναφέρεται).

Δεν είναι πιο αποδοτικός...

Κανένας

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Μια "στρωτή" αναζήτηση
« Απάντηση #16 στις: 16 Φεβ 2014, 02:13:01 πμ »
Δεν θεωρώ άστοχη τη λογική μεταβλητή αλλά τη χρήση της (εκμάθησή της) στη σειριακή αναζήτηση του βιβλίου.
Τη λογική μεταβλητή τη διδάσκω με το εξής πρόβλημα (χωρίς χρήση πίνακα):
"Γράψτε αλγόριθμο που διαβάζει 100 αριθμούς,  τυπώνει το άθροισμά τους  και μας πληροφορεί  αν διάβασε τον αριθμό 17".

Αν ο αλγόριθμος σταμάταγε με το διάβασμα του 17 η χρήση της λογικής μεταβλητής θα ήταν περιττή (άστοχη χρήση) γιατί την πληροφορία (αν δόθηκε το 17) θα την έπαιρνα απ' την τιμή της μεταβλητής με την οποία διαβάζω τους αριθμούς (α=17).
Στην πρώτη περίπτωση αντίθετα, η 100η (τελευταία) τιμή που δόθηκε στην μεταβλητή α δεν μου εξασφαλίζει  αν δόθηκε το 17,κι έτσι η λογική μεταβλητή μπορεί και γίνεται χρήσιμη.
Ανάλογα τα πράγματα αν τα παραπάνω γίνουν  με χρήση πίνακα.
Τώρα σχετικά με την απόδοση:
Σ' ένα πίνακα με 1 εκατομμύριο στοιχεία και το αναζητούμενο στοιχείο στην τελευταία θέση, ο αλγόριθμος του βιβλίου θα έκανε 1 εκατομμύριο συγκρίσεις
περισσότερες απ' τον προτεινόμενο. (Η πολυπλοκότητα φυσικά είναι ίδια Ο(Ν). και οι δύο έχουν μια απλή επανάληψη).
ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ
ΓΕΛ ΝΑΞΟΥ

apoldem

  • Βετεράνος
  • ****
  • Μηνύματα: 86
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #17 στις: 16 Φεβ 2014, 10:08:31 πμ »
Έχεις δίκιο nobody6 για την απόδοση. Άλλο πολυπλοκότητα άλλο απόδοση. Για ίδια πολυπλοκότητα ένας αλγόριθμος μπορεί να είναι πιο αποδοτικός από κάποιον άλλον. Η πολυπλοκότητα είναι εκτός ύλης αλλά η απόδοση; Αν δεν ενδιαφέρει καθόλου η απόδοση σε εκμάθηση αλγορίθμων τότε καλώς καταργείται το μάθημα. Μην τα θέλουμε όλα δικά μας.
Ο αλγόριθμος αναζήτησης του βιβλίου είναι πράγματι απαράδεκτος. Αυτό που προτείνεις όμως χάνει την τελευταία θέση (αν αυτό που ψάχνουμε είναι στην τελευταία θέση). Γιατί να μην γίνει με Όσο, που είναι και η κλασική σειριακή αναζήτηση:
θ <- 1
Όσο θ<Ν και Α[θ]<>Query επανάλαβε
  θ<-θ+1
Τέλος_επανάληψης
βρέθηκε <- θ<=Ν

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 543
  • There can be only one...may it be AEPP.
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #18 στις: 16 Φεβ 2014, 10:30:31 πμ »
θ <- 1
Όσο θ<Ν και Α[θ]<>Query επανάλαβε
  θ<-θ+1
Τέλος_επανάληψης
βρέθηκε <- θ<=Ν

Έχω την εντύπωση πως και αυτός ο κώδικας δεν ελέγχει την τελευταία θέση.
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

Κανένας

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Απ: Μια "στρωτή" αναζήτηση
« Απάντηση #19 στις: 16 Φεβ 2014, 10:56:29 πμ »
Μετά το τέλος της επανάληψης μπαίνει ένα Αν έτσι κι αλλιώς, για να ελέγξουμε αν βρέθηκε το στοιχείο (εκεί γίνεται ο έλεγχος εύρεσης).
Με το Αν αυτό κανονίζουμε και τι θα επιστρέφει σαν αποτέλεσμα (ανάλογα αν η σειριακή είναι: τμήμα κώδικα, συνάρτηση, διαδικασία)

Αν Α[θ]=Query τότε
  !χρησιμοποιούμε την τιμή του θ αν είναι τμήμα κώδικα
  position<-θ            ! αν είναι συνάρτηση επιστρέφει position
  done<-ΑΛΗΘΗΣ      ! αν είναι διαδικασία επιστρέφει position και done
αλλιώς
  position<-0            ! αν είναι συνάρτηση επιστρέφει position
 
  done<-ΨΕΥΔΗΣ      ! αν είναι διαδικασία επιστρέφει position και done
Τέλος_Αν
« Τελευταία τροποποίηση: 16 Φεβ 2014, 12:37:29 μμ από Κανένας »
ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ
ΓΕΛ ΝΑΞΟΥ

apoldem

  • Βετεράνος
  • ****
  • Μηνύματα: 86
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #20 στις: 16 Φεβ 2014, 11:39:51 πμ »
Σωστά nikolasmer! Ξέχασα ένα '='. Η συνθήκη στο Όσο είναι

Όσο θ<=Ν και Α[θ]<>Query επανάλαβε

μ' αρέσει που ξανάγραψα ολόκληρο τον αλγόριθμο για να ξανακάνει το ίδιο λάθος ;D

Κανένας

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #21 στις: 16 Φεβ 2014, 12:12:52 μμ »
Τώρα είναι λάθος!
Είναι πιθανό ο συγγραφέας της σειριακής του βιβλίου να κατέφυγε στη χρήση της λογικής μεταβλητής
θέλοντας να διορθώσει αυτό το λάθος.
Βγάζει τη συνθήκη Α[θ]<>Query (που δημιουργεί το λάθος) απ' το Όσο και τη βάζει μέσα στην επανάληψη
με τη μορφή του Αν και στη θέση της βάζει τη λογική μεταβλητή που παίρνει τιμή τερματισμού μέσα στο Αν.
Φυσικά είναι απλούστερο να διορθωθεί αν αντί θ<=Ν μπει θ<Ν.
Την τελευταία θέση την ελέγχει το εξωτερικό Αν το οποίο είναι έτσι κι αλλιώς απαραίτητο.

Επισυνάπτω σχετικό φύλλο εργασίας.
« Τελευταία τροποποίηση: 16 Φεβ 2014, 01:03:21 μμ από Κανένας »
ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ
ΓΕΛ ΝΑΞΟΥ

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 543
  • There can be only one...may it be AEPP.
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #22 στις: 16 Φεβ 2014, 12:15:13 μμ »
Σωστά nikolasmer! Ξέχασα ένα '='. Η συνθήκη στο Όσο είναι

Όσο θ<=Ν και Α[θ]<>Query επανάλαβε

μ' αρέσει που ξανάγραψα ολόκληρο τον αλγόριθμο για να ξανακάνει το ίδιο λάθος ;D
Νομίζω ότι βγαίνει εκτός ορίων του πίνακα οταν και εφόσον γίνεται πλήρης αποσαφήνιση των λογικών τελεστών.
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

apoldem

  • Βετεράνος
  • ****
  • Μηνύματα: 86
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #23 στις: 16 Φεβ 2014, 01:13:07 μμ »
Εννοείται ότι δεν κάνουμε πλήρη αποτίμηση λογικών εκφράσεων. Δεν νομίζω να υπάρχει καμία δέσμευση από την πλευρά του βιβλίου, εκτός αν υπάρχει οδηγία από το υπουργείο και την αγνοώ.

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2784
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #24 στις: 17 Φεβ 2014, 01:45:47 πμ »
Εννοείται ότι δεν κάνουμε πλήρη αποτίμηση λογικών εκφράσεων. Δεν νομίζω να υπάρχει καμία δέσμευση από την πλευρά του βιβλίου, εκτός αν υπάρχει οδηγία από το υπουργείο και την αγνοώ.

Αυτό που λες είναι αυθαίρετο! Δεν προκύπτει από πουθενά! Επομένως μάλλον με το αντίθετο πρέπει βαδίζουμε, ότι δηλαδή έχουμε πλήρη αποτίμηση... που είναι και η συντηρητικότερη εκδοχή και που είναι συμβατή με το σύνολο των γλωσσών. Αυτή η συζήτηση έχει γίνει πολλές φορές στο Στέκι και ποτέ δεν καταλήξαμε στην υιοθέτηση της μερικής αποτίμησης...

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3218
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #25 στις: 17 Φεβ 2014, 10:54:27 μμ »
βασικός στόχος του μαθήματος δεν είναι οι μαθητές να μάθουν να σκέφτονται και να διατυπώνουν σωστά και ολοκληρωμένα τη σκέψη τους;;

η μερική αποτίμηση δεν είναι σκέψη αλλά προγραμματιστικά τρικ, όπως τα άλματα στον κώδικα, το σπάσιμο της δομής Για και αρκετά άλλα

φιλικά, Π.

apoldem

  • Βετεράνος
  • ****
  • Μηνύματα: 86
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #26 στις: 18 Φεβ 2014, 01:52:03 πμ »
@Νίκος Αδαμόπουλος
Αυτή η συντηρητική προσέγγιση κατάντησε να διδάσκουμε προγραμματισμό δεκαετίας 90 στα παιδιά. Η σύντομη αποτίμηση δεν είναι συμβατή με καμιά σημερινή γλώσσα (εκτός της Visual Basic, που και αυτή είναι παραγκωνισμένη έως ανύπαρκτη αυτή την στιγμή)

@Παναγιώτης Τσιωτάκης
Η σύντομη αποτίμηση εμποδίζει τα παιδιά να σκέφτονται; Προγραμματιστικό τρικ είναι επίσης όλος ο αντικειμενοστραφής προγραμματισμός. Να ξεχάσουμε όλες τις εξελίξεις στον προγραμματισμό τα 20 τελευταία χρόνια και να γυρίσουμε στην pascal και την basic.

Το βιβλίο μυρίζει μούχλα και ναφθαλίνη (γραμμένο στα τέλη της δεκαετίας του 90). Ας μην το κάνουμε χειρότερο απ' ότι είναι. Ο σημερινός προγραμματισμός δεν έχει καμία σχέση με αυτά που μαθαίνουν τα παιδιά. Η σύντομη αποτίμηση είναι στάνταρντ παντού. Η εντολή Για δεν υπάρχει πουθενά με την μορφή που την διδάσκουμε. Όλες οι γλώσσες υποστηρίζουν με τον έναν ή τον άλλον τρόπο ForEach για μια συλλογή δεδομένων. Κάποιες έχουν τελεστή hasNext για να ελέγχεις αν υπάρχει επόμενο στοιχείο στην συλλογή. Προγραμματισμός με δείκτη i που τρέχει τα στοιχεία ενός πίνακα είναι μακρινό παρελθόν. Ακόμη και οι πίνακες με το περιβόητο i, χρησιμοποιούνται πολύ λίγο πλέον και μόνο για συγκεκριμένες δουλειές. Και ναι, παρόλα αυτά, οι σημερινοί προγραμματιστές συνεχίζουν να σκέφτονται και να εκφράζουν την σκέψη τους μέσα από κώδικα και μάλιστα με πολύ μεγαλύτερη σαφήνεια απ' ότι πριν 20 χρόνια.

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Μια "στρωτή" αναζήτηση
« Απάντηση #27 στις: 18 Φεβ 2014, 01:55:47 πμ »
Τώρα σχετικά με την απόδοση:
Σ' ένα πίνακα με 1 εκατομμύριο στοιχεία και το αναζητούμενο στοιχείο στην τελευταία θέση, ο αλγόριθμος του βιβλίου θα έκανε 1 εκατομμύριο συγκρίσεις
περισσότερες απ' τον προτεινόμενο. (Η πολυπλοκότητα φυσικά είναι ίδια Ο(Ν). και οι δύο έχουν μια απλή επανάληψη).

Aυτό δεν έχει νόημα σαν συζήτηση. Δεν μπορείς να ξέρεις την απόδοση του αλγόριθμου άμα δεν κάνεις profile το runtime του. Αν υπάρχει ας πούμε μερική διάταξη στα δεδομένα του πίνακα ( και σε πραγματικά δεδομένα δεν θα ήταν καθόλου περίεργο) τότε ο branch predictor θα βελτιώσει τον χρόνο εκτέλεσης.

Έχεις δίκιο nobody6 για την απόδοση. Άλλο πολυπλοκότητα άλλο απόδοση. Για ίδια πολυπλοκότητα ένας αλγόριθμος μπορεί να είναι πιο αποδοτικός από κάποιον άλλον. Η πολυπλοκότητα είναι εκτός ύλης αλλά η απόδοση; Αν δεν ενδιαφέρει καθόλου η απόδοση σε εκμάθηση αλγορίθμων τότε καλώς καταργείται το μάθημα. Μην τα θέλουμε όλα δικά μας.

Ομολογώ ότι δεν καταλαβαίνω τι εννοείς. Μπορεί να φταίει το ότι δεν έχω κατανοήσει σε τι ακριβώς αναφέρεσαι ότι μιλάς για απόδοση, αλλά δεν βλέπω τι σχέση έχει με το μάθημα;

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1322
  • There are always possibilities...
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #28 στις: 18 Φεβ 2014, 08:23:05 πμ »
H μερική αποτίμηση (δηλ. (Αληθης ή _ ) = Αληθής, (Ψευδής και _ ) = Ψευδής, (Ψευδής ή _ ) = _, (Αληθής και _) = _) δεν είναι προγραμματιστικό τρικ. Είναι άμεση συνέπεια του ορισμού των λογικών πράξεων και υπάρχει διδακτική αξία στο να το επισημάνεις στους μαθητές.

Αν στα μαθηματικά είχαμε πολλαπλασιασμό μιας παράστασης με το μηδέν θα καθόμασταν ποτέ να υπολογίσουμε την παράσταση;
A man provided with paper, pencil, and rubber, and subject to strict discipline is in effect a universal machine - Alan Turing

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2784
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #29 στις: 18 Φεβ 2014, 09:23:14 πμ »
@Νίκος Αδαμόπουλος
Αυτή η συντηρητική προσέγγιση κατάντησε να διδάσκουμε προγραμματισμό δεκαετίας 90 στα παιδιά. Η σύντομη αποτίμηση δεν είναι συμβατή με καμιά σημερινή γλώσσα (εκτός της Visual Basic, που και αυτή είναι παραγκωνισμένη έως ανύπαρκτη αυτή την στιγμή)

Όταν μιλάω για συμβατότητα, εννοώ ότι μια έκφραση που έχει συνταχθεί για να λειτουργεί με πλήρη αποτίμηση, θα λειτουργήσει ακόμα κι αν υλοποιηθεί σε γλώσσα που εφαρμόζει μερική αποτίμηση. Το αντίθετο όμως όχι...

Έχω καταλάβει ότι όταν κάποιος είναι ακόμα νέος στο χώρο της εκπαίδευσης αρχικά μιλάει για προγραμματισμό (δεν εννοώ τριτοβάθμια εκπαίδευση). Όσο όμως ωριμάζουν οι σκέψεις για το χαρακτήρα και τη χρησιμότητα του μαθήματος, τότε αυτό αλλάζει... Εγώ θεωρώ ότι διδάσκουμε αλγοριθμική και όχι προγραμματισμό... Αν λέμε ότι διδάσκουμε προγραμματισμό τότε θα πρέπει να κάνουμε εξετάσεις μέσω υπολογιστών, κλπ. Επίσης τότε το σχολικό βιβλίο θα έπρεπε να είναι εγχειρίδιο κάποιας γλώσσας. Έχουν όμως όλα αυτά σχέση με το Γενικό Λύκειο; Μήπως κάπως έτσι πέρασε η άποψη ότι η ΑΕΠΠ είναι προγραμματισμός οπότε δεν μπορεί  να είναι πανελλαδικά εξεταζόμενο; Επίσης, μέσα σε όλα αυτά μιλάμε καθόλου για διδακτική ή τα προσπερνάμε όλα;

Υ.Γ.

Σχετικά με την δημοτικότητα των γλωσσών προγραμματισμού:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

(Δες το υπότιτλο του άρθρου... Πολλές φορές τα πράγματα δεν είναι όπως τα νομίζουμε!)

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #30 στις: 18 Φεβ 2014, 04:46:36 μμ »
Υ.Γ.

Σχετικά με την δημοτικότητα των γλωσσών προγραμματισμού:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

(Δες το υπότιτλο του άρθρου... Πολλές φορές τα πράγματα δεν είναι όπως τα νομίζουμε!)

To ΤΙΟΒΕ στηρίζεται σε search engine hits*, δεν είναι αντιπροσωπευτικό της χρήσης μιας γλώσσας (Ούτε απαραίτητα της δημοτικότητάς της). Εννοώ ότι θα μπορούσαν εκατομμύρια σελίδες να κράζουν την VB, παρόλα αυτά το index στο TIOBE θα αυξανόταν, επειδή ακριβώς συζητιέται.

* http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2784
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #31 στις: 18 Φεβ 2014, 06:32:16 μμ »
Έχουμε κάποιον άλλο καλύτερο δείκτη;

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #32 στις: 18 Φεβ 2014, 07:41:32 μμ »
Έχουμε κάποιον άλλο καλύτερο δείκτη;

Όχι, γιατί κανένας δεν βγάζει νόημα. Το SO ας πούμε είναι αρκέτα biased ως προς την C#, αυτό δεν λέει τίποτα για την γλώσσα. Όπως επίσης δεν λέει τίποτα το ότι το subreddit της Haskell έχει πιο πολλούς χρήστες από αυτό της C#.   Γενικά δεν μπορείς να εκφράσεις μια μετρική που θα σου λύνει το πρόβλημα της δημοτικότητας εύκολα.

Σαφώς και η VB είναι σχετικά παραγκωνισμένη όταν έχεις C# + F# για να κάνεις τη δουλειά σου.



Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2784
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #33 στις: 18 Φεβ 2014, 10:53:19 μμ »
Σαφώς και η VB είναι σχετικά παραγκωνισμένη όταν έχεις C# + F# για να κάνεις τη δουλειά σου.

Ok. Άλλο όμως "σχετικά παραγκωνισμένη" και άλλο "παραγκωνισμένη έως ανύπαρκτη"...
Στην ουσία δεν αλλάζει τίποτα στη συζήτηση... Εγώ, όπως είπα, δεν είμαι υπέρ της διδασκαλίας κάποιας συγκεκριμένης γλώσσας...

thaaanos

  • Οπαδός
  • **
  • Μηνύματα: 19
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #34 στις: 18 Φεβ 2014, 11:39:27 μμ »
Νομίζω οτι ξεφύγαμε... προσωπικά πιστεύω οτι η μερική αποτίμηση δεν είναι προγραμματιστικό τρικ. Είναι ένα ολόκληρο προγραμματιστικό παράδειγμα. Δεν γίνεται συναρτησιακός προγραμματισμός χωρίς μερική αποτίμηση.

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #35 στις: 19 Φεβ 2014, 01:50:23 πμ »
Ok. Άλλο όμως "σχετικά παραγκωνισμένη" και άλλο "παραγκωνισμένη έως ανύπαρκτη"...
Στην ουσία δεν αλλάζει τίποτα στη συζήτηση... Εγώ, όπως είπα, δεν είμαι υπέρ της διδασκαλίας κάποιας συγκεκριμένης γλώσσας...

Συμφωνώ στο ότι δεν πρέπει να διδάσκεται συγκεκριμένη γλώσσα.

Νομίζω οτι ξεφύγαμε... προσωπικά πιστεύω οτι η μερική αποτίμηση δεν είναι προγραμματιστικό τρικ. Είναι ένα ολόκληρο προγραμματιστικό παράδειγμα. Δεν γίνεται συναρτησιακός προγραμματισμός χωρίς μερική αποτίμηση.

Mια χαρά γίνεται, οι  Erlang , ML, Scala, F# είναι απλά παραδείγματα όπου δεν είναι το lazy evaluation η default προσέγγιση της γλώσσας.

thaaanos

  • Οπαδός
  • **
  • Μηνύματα: 19
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #36 στις: 19 Φεβ 2014, 12:22:50 μμ »
Mια χαρά γίνεται, οι  Erlang , ML, Scala, F# είναι απλά παραδείγματα όπου δεν είναι το lazy evaluation η default προσέγγιση της γλώσσας.

Για το "μια χαρά" θα διαφωνήσω. Γίνεται specialization χωρίς partial evaluation;

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3218
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #37 στις: 19 Φεβ 2014, 01:27:01 μμ »
Αρα 0*(1/0) κανει 0

Και βέβαια

Ψευδής και α[-5] = 3 κανει ψευδής


Και τελικα η γη κανει κυκλική ή ελλειπτικη τροχιά;;
Η αεππ ειναι εξεταζόμενο μάθημα;

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1322
  • There are always possibilities...
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #38 στις: 19 Φεβ 2014, 01:58:45 μμ »
Δηλαδή χρησιμοποιούμε τις λογικές συνθήκες για να ελέγξουμε αν οι μαθητές ξέρουν να σέβονται τα όρια του πίνακα ή τη διαίρεση με το 0;

Θα μπορούσαμε να πούμε ότι πρέπει να ικανοποιείται η καθοριστικότητα για να έχουμε μερική αποτίμηση, ώστε να έχουμε και την πίτα ολόκληρη και το σκύλο χορτάτο.

Όμως, για μένα δεν πρέπει να είναι θεολογικό το θέμα, ώστε να προσπαθήσουμε να  προσαρμοστούμε στο θέσφατο του βιβλίου το οποίο δεν ξέρουμε σε τι συνθήκες γράφτηκε. Για παράδειγμα οι πρώτοι παράγραφοι του κεφάλαιου των δομών δεδομένων, μπορεί να διαπιστώσει εύκολα κανείς ότι αποτελούν αντιγραφή του κλασικού βιβλίου του Μανωλόπουλου που πολλοί κάναμε στο πανεπιστήμιο στη δεκαετία του 90. Είναι παιδαγωγικά ορθή η αντιγραφή πανεπιστημιακού υλικού για μαθητές δευτεροβάθμιας ή η δημιουργία βιβλίου με copy - paste;

Αυτό λοιπόν που πρέπει να μας απασχολήσει είναι η ουσία δηλ. αν κερδίζουμε κάτι επιτρέποντας τη  μερική αποτίμηση, ακόμα και αν δεν ορίζεται η δεύτερη έκφραση.  Οι σχεδιαστές γλωσσών προγραμματισμού, έχουν αποφανθεί ναι και έχει προκύψει το όλο ρεύμα με τις lazy evaluation γλώσσες, με τα πολλά πλεονεκτήματα (infinite streams, sequences). Φυσικά αυτό δεν αφορά κάποια super-duper γλώσσα του 2014, αλλά υπάρχει στην Lisp. Επιπλέον δεν είναι τεχνικό τό θέμα, αλλά καθαρά αλγοριθμικό γιατί δείχνει πώς κάποιοι χρησιμοποίησαν πρωτότυπα αυτόν τον όρισμό των λογικών πράξεων και έλυσαν προβλήματα ή εισήγαγαν νέες δυνατότητες. Αυτόγια μένα έχει διδακτική αξία.

Κλείνοντας νομίζω ότι τα παιδιά του λυκείου ξέρουν ότι η Γη έχει ελλειπτική τροχιά.
A man provided with paper, pencil, and rubber, and subject to strict discipline is in effect a universal machine - Alan Turing

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #39 στις: 19 Φεβ 2014, 02:36:40 μμ »
Για το "μια χαρά" θα διαφωνήσω. Γίνεται specialization χωρίς partial evaluation;

Το specialization είναι ένα optimization, δεν επηρρεάζει τα semantics της γλώσσας που χρησιμοποιείς. (Εκτός άμα εννοείς κάτι άλλο με το specialization) Ακόμα και tail elimination να μην έχεις, αυτό και πάλι δεν επηρρεάζει κάτι semantically.


Και βέβαια

Ψευδής και α[-5] = 3 κανει ψευδής

Bασικά ναι

Α   Β   Α AND b
T   T        T
T   F        F
F   T        F
F   F        F
T   ⊥        ⊥
⊥   T        ⊥
F   ⊥        F
⊥   F        ⊥

Αλλά δεν διαφωνώ στο ότι δεν χρειάζεται να διδάσκεται.

thaaanos

  • Οπαδός
  • **
  • Μηνύματα: 19
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #40 στις: 19 Φεβ 2014, 07:08:54 μμ »
Σε επίπεδο software development, specialization, partial evaluation, επιτρέπουν design patterns και modularity.
Μην βλέπεις την αποτίμηση απλά σε μια αριθμητική έκφραση, φαντάσου εκφράσεις για τις οποίες η συγκεκριμένη συνάρτηση δεν έχει context για να αποτιμήσει.

Το call-by-name στην πραγματικότητα δεν είναι τίποτα άλλο παρά μασκαρεμένο partial evaluation.

Εγώ προσωπικά πιστεύω οτι τα διάφορα evaluation strategies πρέπει να διδάσκονται. Εάν δεν μιλήσουμε για την Eval() και την διαφορά έκφρασης και τιμής τότε γιατί θα πούμε;
« Τελευταία τροποποίηση: 19 Φεβ 2014, 07:21:52 μμ από thaaanos »

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #41 στις: 19 Φεβ 2014, 09:01:00 μμ »
Σε επίπεδο software development, specialization, partial evaluation, επιτρέπουν design patterns και modularity.
Μην βλέπεις την αποτίμηση απλά σε μια αριθμητική έκφραση, φαντάσου εκφράσεις για τις οποίες η συγκεκριμένη συνάρτηση δεν έχει context για να αποτιμήσει.

Το call-by-name στην πραγματικότητα δεν είναι τίποτα άλλο παρά μασκαρεμένο partial evaluation.

Δεν διαφωνώ στη σημασία που έχει το evaluation stategy στην υλοποιήση διάφορων idioms. Αυτό  που λέω είναι ότι το αν είναι μια γλώσσα functional δεν καθόριζεται μόνο από το evaluation strategy που εφαρμόζει. Γενικά το από τι καθορίζεται είναι μια διαφωνία που ακόμα παίζει και δεν πιστεύω ότι θα υπάρξει ομοφωνία στο κοντινό μέλλον. Η Erlang πχ, είναι επιτυχημένη σε αυτό που κάνει, είναι referentially transparent et al. Αλλά είναι και strict. Δεν είναι functional; Δεν νομίζω.

Εγώ προσωπικά πιστεύω οτι τα διάφορα evaluation strategies πρέπει να διδάσκονται. Εάν δεν μιλήσουμε για την Eval() και την διαφορά έκφρασης και τιμής τότε γιατί θα πούμε;

Noμίζω ότι είναι λίγο υπερβολικό να διδάσκονται. Μια χαρά μπορείς να διδάξεις αλγόριθμους χωρίς να θίξεις αυτό το θέμα.

« Τελευταία τροποποίηση: 19 Φεβ 2014, 09:25:00 μμ από itt »

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2784
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #42 στις: 19 Φεβ 2014, 11:09:29 μμ »
Ξεχνάμε ότι έχουμε συγκεκριμένο βιβλίο για την ΑΕΠΠ, συγκεκριμένη ύλη που πρέπει να καλυφθεί, και συγκεκριμένο στόχο: να εξεταστούν οι μαθητές σε πανελλήνιες. Μην ξεχνάμε το πλαίσιο στο οποίο κινούμαστε... Βέβαια όταν το πλαίσιο αυτό αλλάξει (εύχομαι ποτέ!), και δεν θα υπάρχει το βαρίδι των εξετάσεων (!), θα έχουμε τη δυνατότητα να κάνουμε τους μαθητές πραγματικούς software developers...

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2223
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #43 στις: 19 Φεβ 2014, 11:42:45 μμ »
Οι εξετάσεις δεν είναι βαρίδι, αλλά κίνητρο
Αν θεωρείτε ότι σε μάθημα που δεν εξετάζεται, θα αναπτύξετε software developers, νομίζω ότι θα διαψευστείτε από την πρώτη χρονιά κιόλας
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

stpdt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 267
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #44 στις: 20 Φεβ 2014, 01:34:51 πμ »
Οι εξετάσεις δεν είναι βαρίδι, αλλά κίνητρο
Αν θεωρείτε ότι σε μάθημα που δεν εξετάζεται, θα αναπτύξετε software developers, νομίζω ότι θα διαψευστείτε από την πρώτη χρονιά κιόλας

Οι εξετάσεις είναι βαρίδι, με την έννοια ότι όλοι οι μαθητές εξετάζονται στα ίδια πράγματα, στην ίδια ύλη. Ενώ αυτό που συμβαίνει στην πραγματικότητα κατά την ανάπτυξη ενός λογισμικού είναι ακριβώς το αντίθετο.

Δεν έχουν όλοι οι developers την "ίδια ύλη", αντίθετα ο καθένας είναι εξειδικευμένος στο κομμάτι του κώδικα που γράφει, και όλοι μαζί συνθέτουν το τελικό αποτέλεσμα.  Εφόσον ο καθένας βρίσκεται στο "δικό του κόσμο" και επικοινωνεί με τους άλλους μέσω των specifications και του  interface που έχει προαποφασιστεί, δεν έχει νόημα η σύγκριση γιατί δεν είναι καθόλου εύκολο να συγκριθούν ανόμοια πράγματα μεταξύ τους. Δεν μπορείς να συγκρίνεις μήλα με πορτοκάλια.

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

Στο μάθημά μου, φυσικά όταν αυτό δεν είναι το μάθημα πανελληνίων, και όταν το αναλυτικό πρόγραμμα μου δίνει την δυνατότητα, προσπαθώ να εξετάζω διαφορετικά.

Βάζω τους μαθητές να κάνουν "παραγγελίες" προγραμματων ο ένας στον άλλο, και βαθμολογώ με καλό βαθμό όσους μαθητές φέρουν είς πέρας τις "παραγγελίες", λαμβάνοντας υπόψη και τον βαθμό δυσκολίας της "παραγγελίας" (εκεί είναι η δική μου κρίση). Θεωρώ αυτή την προσέγγιση πιο κοντά στην πραγματικότητα του software development.
« Τελευταία τροποποίηση: 20 Φεβ 2014, 01:58:29 πμ από stpdt »

Γιάννης Αναγνωστάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 817
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #45 στις: 20 Φεβ 2014, 11:43:35 πμ »
Οι εξετάσεις είναι βαρίδι, με την έννοια ότι όλοι οι μαθητές εξετάζονται στα ίδια πράγματα, στην ίδια ύλη. Ενώ αυτό που συμβαίνει στην πραγματικότητα κατά την ανάπτυξη ενός λογισμικού είναι ακριβώς το αντίθετο.

Δεν έχουν όλοι οι developers την "ίδια ύλη", αντίθετα ο καθένας είναι εξειδικευμένος στο κομμάτι του κώδικα που γράφει, και όλοι μαζί συνθέτουν το τελικό αποτέλεσμα.  Εφόσον ο καθένας βρίσκεται στο "δικό του κόσμο" και επικοινωνεί με τους άλλους μέσω των specifications και του  interface που έχει προαποφασιστεί, δεν έχει νόημα η σύγκριση γιατί δεν είναι καθόλου εύκολο να συγκριθούν ανόμοια πράγματα μεταξύ τους. Δεν μπορείς να συγκρίνεις μήλα με πορτοκάλια.

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

Στο μάθημά μου, φυσικά όταν αυτό δεν είναι το μάθημα πανελληνίων, και όταν το αναλυτικό πρόγραμμα μου δίνει την δυνατότητα, προσπαθώ να εξετάζω διαφορετικά.

Βάζω τους μαθητές να κάνουν "παραγγελίες" προγραμματων ο ένας στον άλλο, και βαθμολογώ με καλό βαθμό όσους μαθητές φέρουν είς πέρας τις "παραγγελίες", λαμβάνοντας υπόψη και τον βαθμό δυσκολίας της "παραγγελίας" (εκεί είναι η δική μου κρίση). Θεωρώ αυτή την προσέγγιση πιο κοντά στην πραγματικότητα του software development.

Το μάθημα έχει σαν πρωταρχικό στόχο την ανάπτυξη δεξιοτήτων και ικανοτήτων σχετικών με την αλγοριθμική και την ορθολογική χρήση τους στην καθημερινή ζωή.

Αν είναι να πούμε ότι θα τους κάνουμε software developers, ειδικά σε μία τάξη όπως η Γ Λυκείου, το χάσαμε το κορμί πατριώτη...


nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 543
  • There can be only one...may it be AEPP.
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #46 στις: 21 Ιούν 2014, 10:18:01 πμ »
Καλημέρα σε όλους.
Πρόσφατα κατέβασα μια εφαρμογή Εύρεσης Θέσης (GPS δηλαδή) στο κινητό μου και μου άρεσε η αναζήτηση που κάνει όταν πληκτρολογείς τη διεύθυνση που θέλεις να σε πάει.
Έχει αραδιασμένα τα γράμματα της ελληνικής αλφαβήτου, όπως και κάποια σύμβολα και σημεία στήξης. Αρχικά πριν πατήσω οποιοδήποτε γράμμα, σύμβολα είναι απενεργοποιημένα. Μετά την εισαγωγή του πρώτου χαρακτήρα απενεργοποιούνται άλλα γράμματα ή ενεργοποιούνται άλλα και πάει λέγοντας. Σε κάθε γράμμα που πληκτρολογεί κάποιος , προφανώς αναζητά σε μια βάση ονομάτων περιοχών αν καποιες τοποθεσίες συνεχίζονται με ενα συγκεκριμμένο χαρακτήρα και αν καμία από αυτές δεν έχει τέτοιο, τότε ο συγκεκριμένος χαρακτήρας απενεργοποιείται.
Αυτή η αναζήτηση έχει κάποιο όνομα; Μπορεί να υπολοιηθεί στα πλαίσια του μαθήματος;

Υ.Γ. Η εφαρμογή λέγεται GPS Navigation Be on road για όποιον ενδιαφέρεται να δει πώς λειτουργεί, γιατί η επεξήγηση που δίνω παραπάνω δεν είναι και η καλύτερη. (Αν υπάρχει βέβαια πρόβλημα με τη δημοσιοποίηση του ονόματος πολυ ευχαρίστως να το διαγράψω)
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #47 στις: 21 Ιούν 2014, 02:48:31 μμ »
Νομίζω αυτό που περιγράφεις υλοποιείται με ένα Trie
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 543
  • There can be only one...may it be AEPP.
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #48 στις: 21 Ιούν 2014, 03:20:51 μμ »
Νομίζω αυτό που περιγράφεις υλοποιείται με ένα Trie
Ναι αυτό είναι!!!
Σας ευχαριστώ πάρα πολύ!!
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 543
  • There can be only one...may it be AEPP.
Απ: Μια "αιρετική" αναζήτηση
« Απάντηση #49 στις: 25 Μάρ 2015, 12:02:49 μμ »
(απότίμηση των Λογικών τελεστών) :o

http://www.softlab.ntua.gr/~nickie/Courses/progintro/semfe/slides/slides07e.pdf

Διαφάνεια 6  :P
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής