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

summer

  • Θαμώνας
  • ***
  • Μηνύματα: 31
σειριακή αναζήτηση-flag
« στις: 05 Φεβ 2009, 02:36:26 μμ »
Καλησπέρα σε όλους.Eγώ θέλω να ρωτήσω κάτι άλλο σαν συνέχεια του προηγούμενου θέματος.Στον αλγόριθμο σειριακής όπως τον έχει το βιβλίο με ρώτησε μια μαθήτρια τι χρειάζεται το flag τη στιγμή που υπάρχει το Pos.Πρότεινε η μικρή την εξής λύση


j<--1
pos<--0
οσο j<=n και Pos=0 επανέλαβε 
    Αν Α[j]=key τότε
        pos<--j
    Τέλος_Αν
 j<--j+1
Τέλος επανάληψης

Αν pos=0 τότε Εμφάνισε 'Δε βρέθηκε το key'
αλλιώς Εμφάνισε 'Βρέθηκε το key στη θέση',Pos


τι λετε;δεν μπορεί το Pos έτσι να παίξει και ρόλο flag?(2 σε 1) ;)γιατί χρησιμοποιεί επιπλέον μεταβλητή;
« Τελευταία τροποποίηση: 05 Φεβ 2009, 03:23:32 μμ από tina28 »

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1465
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: σειριακή αναζήτηση-flag
« Απάντηση #1 στις: 05 Φεβ 2009, 02:57:22 μμ »
Αυτονόητα σωστό  :)
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1014
Απ: σειριακή αναζήτηση-flag
« Απάντηση #2 στις: 05 Φεβ 2009, 05:50:33 μμ »
Σωστό.

επανάλαβε

Αν το key  το βρω γιατί να αυξήσω το j ;

δλδ

Αν Α[j] = key  τότε
   pos <-- j
αλλιώς
   j <-- j+1
Τέλος_αν


alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4861
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: σειριακή αναζήτηση-flag
« Απάντηση #3 στις: 05 Φεβ 2009, 06:48:32 μμ »
τι λετε;δεν μπορεί το Pos έτσι να παίξει και ρόλο flag?(2 σε 1) ;)γιατί χρησιμοποιεί επιπλέον μεταβλητή;
Φυσικά και το pos μπορεί να παίξει ρόλο flag.

Κατά τη γνώμη μου το βιβλίο χρησιμοποιεί δύο μεταβλητές για να φανεί ξεκάθαρα ότι ο αλγόριθμος έχει δύο αποτελέσματα, το ΑΝ βρέθηκε, και το ΠΟΥ βρέθηκε.
Το {αν pos <> 0 θεωρούμε ότι βρέθηκε} είναι μια σύμβαση η οποία θέλει εξήγηση, δεν είναι ξεκάθαρο αποτέλεσμα.

Το βιβλίο καθηγητή έχει μία συζήτηση στη σελίδα 65 για ένα παραπλήσιο (αλλά όχι ταυτόσημο) ερώτημα.

summer

  • Θαμώνας
  • ***
  • Μηνύματα: 31
Απ: σειριακή αναζήτηση-flag
« Απάντηση #4 στις: 05 Φεβ 2009, 09:32:22 μμ »
Σωστό αυτό που λες απλώς το έκανε έτσι η μαθήτρια και μιας και το είδα έτσι λυμένο σε σχολικό βοήθημα(Λαζαρίδη) είπα να μην της το χαλάσω.Πολλές φορές αυτό είναι ένα πρόβλημα γιατί σε ρωτάνε "γιατί δεν πρέπει έτσι?δεν τρέχει???"




Σωστό.

επανάλαβε

Αν το key  το βρω γιατί να αυξήσω το j ;

δλδ

Αν Α[j] = key  τότε
   pos <-- j
αλλιώς
   j <-- j+1
Τέλος_αν



andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1014
Απ: σειριακή αναζήτηση-flag
« Απάντηση #5 στις: 05 Φεβ 2009, 10:25:16 μμ »
Πολλές φορές αυτό είναι ένα πρόβλημα γιατί σε ρωτάνε "γιατί δεν πρέπει έτσι?δεν τρέχει???"

Φυσικά και 'τρέχει'. Απλά εγώ ως διορθωτής - βαθμολογητής εισπράττω μήνυμα.  Που ενδεχομένως μπορεί να το λάβω υπόψιν,  μπορεί και όχι. Ανάλογα με τη συνολική εικόνα του γραπτού.

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: σειριακή αναζήτηση-flag
« Απάντηση #6 στις: 05 Φεβ 2009, 10:43:49 μμ »
Πάντως άσχετα με την ορθότητα του αλγορίθμου, πιστεύω ότι η σειριακή αναζήτηση (έτσι όπως την έχει το βιβλίο) είναι ένα πάρα πολύ καλό σημείο για να εξηγήσεις στους μαθητές την χρησιμότητα των λογικών μεταβλητών, αν βέβαια δεν το έχεις κάνει πιο νωρίς.

Θα προτιμούσα βέβαια να ήταν κάπως έτσι :
Κώδικας: Text
  1. Όσο δεν_βρέθηκε και ι <= ν επανάλαβε
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3170
  • I love you 3000
    • Panagiotis Tsiotakis

EleniK

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 708
Απ: σειριακή αναζήτηση-flag
« Απάντηση #8 στις: 16 Φεβ 2009, 01:28:23 πμ »
Μια χαρά είναι. Αρκεί να καταλαβαίνουν πως δουλεύει και αν βάλουν flag ή pos δεν πειράζει.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

Καρκαμάνης Γεώργιος

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1087
Απ: σειριακή αναζήτηση-flag
« Απάντηση #9 στις: 16 Φεβ 2009, 01:39:36 πμ »
 Συμφωνώ με την Ελένη