Αποστολέας Θέμα: Διευκρίνιση  (Αναγνώστηκε 2740 φορές)

dimpapp

  • Νέος
  • *
  • Μηνύματα: 5
Διευκρίνιση
« στις: 08 Μάρ 2012, 12:39:13 πμ »
υπάρχει διαφορά ανάμεσα σε αυτό

θέση <- 0
Ι <- 1
Οσο  Ι<= Ν και θέση=0 επανάλαβε
  Αν Π[Ι]= key τοτε
       θεση <- Ι
   αλλιώς
       Ι <- Ι+1
  Τελος_αν
Τελος_επαναληψης


και στο παρακάτω;

θέση <- 0
Ι <- 1
Οσο  Ι<= Ν και θέση=0 επανάλαβε
  Αν Π[Ι]= key τοτε
       θεση <- Ι
   Τέλος_αν
       Ι <- Ι+1
Τελος_επαναληψης

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2225
Απ: Διευκρίνιση
« Απάντηση #1 στις: 08 Μάρ 2012, 01:01:00 πμ »
Προφανώς το πρώτο δεν προχωράει στην επόμενη θέση όταν βρει το ζητούμενο και ταιριάζει με την λογικη "Αν στην θέση που είμαστε δεν υπάρχει το ζητούμενο, πάνε στην επόμενη"
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 680
Απ: Διευκρίνιση
« Απάντηση #2 στις: 12 Φεβ 2014, 11:54:19 πμ »
ήθελα και εγώ μία ερώτηση "παραλλαγής" στην κλασσική  αναζήτηση, δεν ανοίγω νέο θέμα, την βάζω εδώ

αν κάνουμε μία αναζήτηση με την "κλασσική" μορφή του βιβλίου και στο τέλος πούμε πχ

θέση <- 0
Ι <- 1
Οσο  Ι<= Ν και θέση=0 επανάλαβε
  Αν Π[Ι]= key τοτε
       θεση <- Ι
   αλλιώς
       Ι <- Ι+1
  Τελος_αν
Τελος_επαναληψης
ΑΝ έλεγος=αληθής τότε
   εμφάνισε "βρέθηκε στην θέση", i                
Αλλιώς                                               
   εμφάνισε "δεν βρέθηκε"           
Τέλος_αν


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

σωστή η σκέψη ή μου διαφεύγει κάτι ??

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2225
Απ: Διευκρίνιση
« Απάντηση #3 στις: 12 Φεβ 2014, 12:10:04 μμ »
Σωστή η σκέψη σου
Απλά, ο αλγόριθμος σειριακής αναζήτησης, όπως ορίζεται στο βιβλίο, περιέχει 2 μεταβλητές εκτός από το i (λογική και θέση) και καλό θα είναι να χρησιμοποιούνται όταν η εκφώνηση προσδιορίζει να χρησιμοποιήσουμε τον αλγόριθμο
Αν και είναι περιττές και οι 2
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 680
Απ: Διευκρίνιση
« Απάντηση #4 στις: 12 Φεβ 2014, 12:33:08 μμ »
Βασικά και εγώ τους λέω καλύτερα να συμβαδίζουμε με το βιβλίο, απλά σαν σκέψη ήθελα να δω....να ρωτήσω, λες είναι περιττές και οι δύο ... είναι περιττές και οι δύο μαζί υποθέτω, όχι και οι δύο γενικά, την μία την θέλουμε να σταματήσει την επανάληψη για περιττούς ελέγχους, σωστα ??

ευχαριστώ

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2225
Απ: Διευκρίνιση
« Απάντηση #5 στις: 12 Φεβ 2014, 02:17:58 μμ »
Η επανάληψη μπορεί να σταματήσει και με το i

i<--1
Όσο (i <= N) επανάλαβε
    Αν (Α=ζητούμενο) τότε
          Εμφάνισε ...
          i <-- N+100
    Αλλιώς
          i <-- i + 1
    Τέλος_Αν
Τέλος_Επανάληψης

Αν (i = N+100) τότε
     Εμφάνισε 'Δεν βρέθηκε'
Τέλος_Αν
   
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 680
Απ: Διευκρίνιση
« Απάντηση #6 στις: 12 Φεβ 2014, 04:47:29 μμ »
ναι σωστά ευχαριστώ...

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: Διευκρίνιση
« Απάντηση #7 στις: 12 Φεβ 2014, 07:58:12 μμ »
Ο παρακάτω αλγόριθμος έχει το πρόβλημα ότι δεν κρατάς τη θέση του ζητούμενου κατι που εχει ζητηθει πολλες φορες στις εξετασεις. Άρα η μεταβλητή θέση θα έλεγα ότι μάλλον ειναι απαραίτητη.
Επίσης ο παρακάτω αλγοριθμος

Κώδικας: [Επιλογή]
Όσο (i <= N) επανάλαβε
    Αν (Α(i)=ζητούμενο) τότε
          Εμφάνισε ...
          i <-- N+100
    ΤΑ
     i <-- i + 1
    Τέλος_Αν
Τέλος_Επανάληψης

δεν ειναι ισοδυναμος με αυτον?
(όπου ισοδυναμος = έχουν το ιδιο διάγραμμα ροης)

Κώδικας: [Επιλογή]
i<--1
Για ι από 1 μεχρι Ν
    Αν (Α(i)=ζητούμενο) τότε
          Εμφάνισε ...
          i <-- N+100
    ΤΑ
    Τέλος_Αν
Τέλος_Επανάληψης

Γιατι ο ένας να ειναι κακη πρακτικη και ο άλλος όχι?

Να σημειώσω ότι η παρακάτω τεχνική θεωρείται πολύ καλή σε αρκετές σύγχρονες γλώσσες προγραμματισμού


Κώδικας: [Επιλογή]
i<--1
Για ι από 1 μεχρι Ν
    Αν (Α(i)=ζητούμενο) τότε
          Εμφάνισε ...
          break;
    ΤΑ
    Τέλος_Αν
Τέλος_Επανάληψης


@mkouv
το σκεπτικό σου ειναι πολύ σωστό, μπορείς  να πεις στους μαθητες σου να το χρησιμοποιουν αφοβα
« Τελευταία τροποποίηση: 12 Φεβ 2014, 08:08:37 μμ από evry »
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 680
Απ: Διευκρίνιση
« Απάντηση #8 στις: 12 Φεβ 2014, 10:18:36 μμ »
καλησπέρα

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

τώρα σχετικά με το Για, δεν διακόπτει τις επαναλήψεις, οπότε "στα πλαίσια του μαθήματος" δεν το χρησιμοποιούμε...

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

καλό βράδυ σε όλους



itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Διευκρίνιση
« Απάντηση #9 στις: 13 Φεβ 2014, 12:27:34 πμ »
Ο παρακάτω αλγόριθμος έχει το πρόβλημα ότι δεν κρατάς τη θέση του ζητούμενου κατι που εχει ζητηθει πολλες φορες στις εξετασεις. Άρα η μεταβλητή θέση θα έλεγα ότι μάλλον ειναι απαραίτητη.

Δεν νομίζω ότι μπορείς να πεις ότι ειναι απαραίτητη άμα δεν θες να κρατάς την θέση.


Γιατι ο ένας να ειναι κακη πρακτικη και ο άλλος όχι?

Να σημειώσω ότι η παρακάτω τεχνική θεωρείται πολύ καλή σε αρκετές σύγχρονες γλώσσες προγραμματισμού

Υποθέτω στα πλαίσια του μαθήματος, καλό είναι αυτό που θεωρείται περισσότερο δομημένο, οπότε και οι δύο αντιμετωπίσεις ειναι αρκετά άκομψες.

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

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

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: Διευκρίνιση
« Απάντηση #10 στις: 13 Φεβ 2014, 10:19:19 μμ »
Δεν νομίζω ότι μπορείς να πεις ότι ειναι απαραίτητη άμα δεν θες να κρατάς την θέση.
Απαραίτητη για τις εξετάσεις είναι, γιατί η συντριπτική πλειοψηφία των θεμάτων που έχει πέσει με σειριακή αναζήτηση σου ζητάει τη θέση.

Παράθεση
Υποθέτω στα πλαίσια του μαθήματος, καλό είναι αυτό που θεωρείται περισσότερο δομημένο, οπότε και οι δύο αντιμετωπίσεις ειναι αρκετά άκομψες.
προφανώς το ερώτημα ήταν ρητορικό
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Διευκρίνιση
« Απάντηση #11 στις: 13 Φεβ 2014, 10:56:43 μμ »
Παράθεση
Απαραίτητη για τις εξετάσεις είναι, γιατί η συντριπτική πλειοψηφία των θεμάτων που έχει πέσει με σειριακή αναζήτηση σου ζητάει τη θέση.

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

Παράθεση
προφανώς το ερώτημα ήταν ρητορικό

Είναι όμως ενδιαφέρον.

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: Διευκρίνιση
« Απάντηση #12 στις: 13 Φεβ 2014, 11:17:07 μμ »
Δυστυχώς, όταν δουλεύεις σε φροντιστήριο η ουσία είναι τα παιδιά να πετύχουν στις εξετάσεις κάτι που δεν συνεπάγεται αυτόματα κριτική αντιμετώπιση.
Για αυτό απάντησα με σκεπτικό που πρέπει να δώσουν βάρος σε σχέση πάντα με τα θέματα που μπαίνουν.

Νομίζα ότι η ουσία είναι τα παιδιά να αποκτήσουν μια κριτική αντιμετώπιση, όχι να σκέφτονται με ποσόδειξη. Τελοσπάντων, δεν διαφωνούμε σε κάτι ουσιώδες.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 680
Απ: Διευκρίνιση
« Απάντηση #13 στις: 14 Φεβ 2014, 09:14:59 πμ »
Δυστυχώς, όταν δουλεύεις σε φροντιστήριο η ουσία είναι τα παιδιά να πετύχουν στις εξετάσεις κάτι που δεν συνεπάγεται αυτόματα κριτική αντιμετώπιση.
Για αυτό απάντησα με σκεπτικό που πρέπει να δώσουν βάρος σε σχέση πάντα με τα θέματα που μπαίνουν.


καλημέρα σε όλους...

ήθελα να πω την άποψη μου πάνω σε αυτό...εγώ είμαι κάπου στη μέση σαν φιλοσοφία....δηλαδή τα παιδιά και να αποκτήσουν κριτική σκέψη, όμως μέσα σε ένα πιο "περιορισμένο" πλάισιο... και αυτό γιατί έχουν και άλλα μαθήματα, περιορισμένο χρόνο, πίεση, και μη ξεχνάμε ότι τα βλέπουν πρώτη φορά...εγώ που διδάσκω για παράδειγμα 3 χρόνια το μάθημα, είμαι δηλαδή νέος, ακόμη μελετάω κάθε χρόνο για να γίνω όσο το δυνατόν καλύτερος, πόσο μάλλον οι μαθητές που μπαίνουν πρώτη φορά στην λογική αυτή....το ότι δίνουν πανελλήνιες είναι μία πραγματικότητα, οπότε ο σκοπός είναι να πετύχουν στις πανελλήνιες...δεν γίνεται να μην το λάβουμε αυτό δεδομένο... οπότε μπορούμε να τους οδηγήσουμε στην κριτική/αλγοριθμική σκέψη, μέσα σε ένα πλαίσιο που δεν πολύ-ξεφεύγει και από το πνεύμα των εξετάσεων

ευχαριστώ

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Διευκρίνιση
« Απάντηση #14 στις: 15 Φεβ 2014, 02:51:50 μμ »
Μιλάμε όμως για κάτι που έχει εξαιρετικά μικρό cognitive load, πολύ μικρότερο σε σχέση π.χ με τα θεωρήματα του απειροστικού λογισμού. Επίσης μιλάμε για κάτι relatively straigthforward που δείχνει και την κατανόηση του πρόβληματος. Ie, κατα πόσον εξετάζω την ύπαρξη vs ψάχνω τη θέση ενός στοιχείου.