Professional Documents
Culture Documents
Σειριακή Αναζήτηση
Σειριακή Αναζήτηση
3.6 Κεφάλαιο 3ο
Να εξηγηθεί η σειριακή αναζήτηση.
Η λειτουργία της αναζήτησης σε πίνακα είναι η εύρεση της θέσης στην οποία υπάρχει
μια συγκεκριμένη τιμή που ενδιαφέρει το χρήστη.
Οι πιο γνωστές μέθοδοι αναζήτησης είναι:
Η σειριακή και , Η σειριακή μέθοδος είναι αρκετά απλή στην υλοποίηση αλλά όχι τόσο αποδοτική.
Η δυαδική. Η δυαδική είναι πιο αποδοτική , αλλά απαιτεί να είναι ο πίνακας ταξινομημένος.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
3.6 Κεφάλαιο 3ο
Να εξηγηθεί η σειριακή αναζήτηση.
Σειριακή αναζήτηση
=160 ?????
Ας υποθέσουμε ότι έχουμε έναν πίνακα 10 στοιχείων.
1 2 3 4 5 6 7 8 9 10
27 76 5 6 7 -2 160 4 4 16
Και έστω ότι θέλουμε να βρούμε τη θέση του πίνακα που υπάρχει η τιμή 160.
Τα βήματα του αλγορίθμου της σειριακής αναζήτησης είναι:
1 2 3 4 5 6 7 8 9 10
4 76 5 6 7 -2 160 4 4 16
Τέλος Σειριακή_Αναζήτηση_Εμφάνιση_Όλων
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Κεφάλαιο 3ο
Εμφάνιση της πρώτης θέσης.
Η επανάληψη θα τερματίζει
• είτε όταν βρεθεί η τιμή που αναζητούμε,
• είτε όταν η Λογική μεταβλητή γίνει Αληθής .
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Κεφάλαιο 3ο
Εμφάνιση της πρώτης θέσης
Αλγόριθμος Σειριακή_Αναζήτηση_Πρώτη_Εμφάνιση
Αν τη βρούμε στη θέση 1, θα εκχωρήσουμε στη μεταβλητή της θέσης την τιμή 1.
Αν τη βρούμε στη θέση 17, θα εκχωρήσουμε στη μεταβλητή της θέσης την τιμή 17.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Κεφάλαιο 3ο
Εμφάνιση της τελευταίας θέσης
Αλγόριθμος Σειριακή_Αναζήτηση_Τελευταία_Εμφάνιση
Εμφάνισε “Δώσε τον πλήθος των στοιχείων του πίνακα.”
Διάβασε Ν
Εμφάνισε “Δώσε την τιμή χ του πίνακα που αναζητούμε.”
Διάβασε X Αλλιώς
Για i από 1 μέχρι Ν γράφω Δεδομένα //Ν,Π,χ//
Εμφάνισε “Δώσε το στοιχείο ”, i
Διάβασε Π[i]
Τέλος_επανάληψης
βρέθηκε← Ψευδής
Ο αλγόριθμος είναι ο
Για i από 1 μέχρι Ν
ακόλουθος:
Αν Π[i] = X τότε
θέση ← i
βρέθηκε← Αληθής
Τέλος_αν
Τέλος_επανάληψης
Αν βρέθηκε = Ψευδής τότε
Εμφάνισε “Η τιμή δεν βρέθηκε στο πίνακα ”
Αλλιώς
Εμφάνισε “Η τιμή βρέθηκε στο πίνακα στη θέση ”,θέση
Τέλος_αν
Τέλος Σειριακή_Αναζήτηση_Τελευταία_Εμφάνιση
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Κεφάλαιο 3ο
Πότε δικαιολογείται η χρήση της σειριακής μεθόδου αναζήτησης;
Τέλος Λογιστικό_Γραφείο
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
3.33 Κεφάλαιο 3ο
Σε ένα σχολείο η Β΄ Λυκείου , στην οποία φοιτούν 100 άτομα, αποφάσισε να πάει εκδρομή. Ο πρόεδρος
της Β΄ Λυκείου συγκέντρωσε έναν κατάλογο με τα ονόματα όλων των μαθητών και τα χρήματα που
έδωσαν. Αν κάποιος μαθητής δεν έδωσε τα χρήματα , τότε θεωρούμε ότι έδωσε 0 Ευρώ. Να γραφεί
αλγόριθμος που θα
α) εμφανίζει πόσοι και ποιοι μαθητές δεν πλήρωσαν.
β) αν ο μαθητής “Κωνσταντίνου” έδωσε χρήματα.
Θα χρησιμοποιήσουμε 2 πίνακες. Στον πίνακα Χρήματα θα υπάρχει ο αριθμός 0 , αν κάποιος μαθητής δεν έδωσε χρήματα.
Όνομα Χρήματα
Γουγάς 4
Διαμάντης 0 π.χ.
…………….. ……….
Παπαδήμα 7
Δούκα 3
Αρκεί να εφαρμόσουμε τον αλγόριθμο αναζήτησης όλων των εμφανίσεων της τιμής 0
στον πίνακα Χρήματα.
Κάθε φορά που θα βρίσκουμε την τιμή 0, στον πίνακα Χρήματα θα εμφανίζουμε το αντίστοιχο όνομα.
Επίσης θα αυξάνουμε και μια μεταβλητή η οποία θα μετρά πόσα άτομα δεν έδωσαν χρήματα.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Για i από 1 μέχρι 100
Εμφάνισε “Δώσε το όνομα του ”, i, “μαθητή”
Τέλος Εκδρομή_Λυκείου
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
3.34 Κεφάλαιο 3ο
Στη βιβλιοθήκη ενός σχολείου υπάρχουν πολλά βιβλία.
Έστω ότι κάθε βιβλίο έχει ένα μοναδικό κωδικό
και καταχωρείται σε ηλεκτρονικό υπολογιστή ο τίτλος και ο συγγραφέας κάθε βιβλίου.
Να γραφεί αλγόριθμος που θα διαβάζει το όνομα ενός συγγραφέα
και θα βρίσκει τον κωδικό (ή τους κωδικούς!-επανάληψη! )
και τον τίτλο (ή τους τίτλους )
των βιβλίων αυτού του συγγραφέα που υπάρχουν στη βιβλιοθήκη.
Τέλος Βιβλιοθήκη