Καθηγητής Πληροφορικής, ΠΕ86

3.6

Αναζήτηση
 ΣΥΖΗΤΗΣΕΙΣ ΕΝΟΤΗΤΑΣ

ΘΕΩΡΙΑ – ΠΑΡΑΔΕΙΓΜΑΤΑ

Από το σχολικό βιβλίο:

Κ3Γ ΘΕΩΡΙΑ ΠΒ

Σημειώσεις – Διαφάνειες:

ΔΙΑΦΑΝΕΙΕΣ – (451η μέχρι 488η)

MORE…

Βιντεομαθήματα:

Σειριακή Αναζήτηση-Εισαγωγή – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

Σειριακή Αναζήτηση-Ασκήσεις – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

ΕΡΩΤΗΣΕΙΣ

Από το σχολικό βιβλίο:

Από άλλο υλικό:

ΑΣΚΗΣΕΙΣ

Από το σχολικό βιβλίο:

Από άλλο υλικό:

Άσκηση 1

(σειριακή αναζήτηση πρώτου στοιχείου- με χρήση λογικής μεταβλητής ΒΡΕΘΗΚΕ)
Μια εταιρεία κρατά σε λίστα τα ονόματα 100 προμηθευτών καθώς και τα χρήματα που χρωστάει στον καθένα.
Να φτιάξετε πρόγραμμα με το οποίο να καταχωρούνται τα παραπάνω στοιχεία σε δύο πίνακες Π[100] και Χ[100].
Να εμφανίζει το ή τα ονόματα των προμηθευτών στους οποίους η εταιρεία χρωστά τα περισσότερα χρήματα.
Να μπορεί να δέχεται ώς είσοδο το όνομα ενός προμηθευτή και να εμφανίζει το ποσό που του χρωστάει. Αν το όνομα δεν υπάρχει να εμφανίζει μήνυμα ότι ο συγκεκριμένος προμηθευτής δεν υπάρχει.

Λύση

ΠΡΟΓΡΑΜΜΑ ΜΠ1
​ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ : Π[100], Χ[100], ΜΑΧ
ΑΚΕΡΑΙΕΣ : ι
ΧΑΡΑΚΤΗΡΕΣ : ΠΡΟΜΗΘΕΥΤΗΣ
ΛΟΓΙΚΕΣ : ΒΡΕΘΗΚΕ
ΑΡΧΗ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 100 !ΓΕΜΙΣΜΑ ΠΙΝΑΚΩΝ
ΔΙΑΒΑΣΕ Π[ι], Χ[ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΜΑΧ<- 0 !ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΧΡΕΟΥΣ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 100
ΑΝ Χ[ι]>ΜΑΧ ΤΟΤΕ
ΜΑΧ<-Χ[ι]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!ΣΑΡΩΣΗ ΠΙΝΑΚΑ ΧΡΕΩΝ ΚΑΙ ΕΛΕΧΓΟΣ ΓΙΑ ΚΑΘΕ ΘΕΣΗ ΑΝ ΕΙΝΑΙ ΙΣΟ ΜΕ ΜΑΧ
​ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 100 !ΚΑΙ ΕΜΦΑΝΙΣΗ ΠΡΟΜΗΘΕΥΤΗ
ΑΝ Χ[ι]=ΜΑΧ ΤΟΤΕ
ΓΡΑΨΕ Π[ι]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΒΑΣΕ ΠΡΟΜΗΘΕΥΤΗΣ !ΑΝΑΖΗΤΗΣΗ ΠΡΟΜΗΘΕΥΤΗ ΣΤΟΝ Π[100]
ΒΡΕΘΗΚΕ <- ΨΕΥΔΗΣ ! Η ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ ΣΤΑΜΑΤΑ ΜΟΛΙΣ ΒΡΕΘΕΙ Ο ΠΡΟΜΗΘΕΥΤΗΣ ΜΕ ΤΗ ΒΟΗΘΕΙΑ ΤΗΣ ΒΡΕΘΗΚΕ
ι<- 1
ΟΣΟ ι <=100 ΚΑΙ ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
ΑΝ Π[ι] = ΠΡΟΜΗΘΕΥΤΗΣ ΤΟΤΕ
ΓΡΑΨΕ Π[ι]
ΒΡΕΘΗΚΕ <- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ι<- ι +1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ ΤΟΤΕ !ΕΜΦΑΝΙΣΗ ΜΗΝΥΜΑΤΟΣ ΣΕ ΠΕΡΙΠΤΩΣΗ ΑΠΟΤΥΧΗΜΕΝΗΣ ΑΝΑΖΗΤΗΣΗΣ
ΓΡΑΨΕ ‘Ο ΠΡΟΜΗΘΕΤΗΣ ΠΟΥ ΔΩΣΑΤΕ ΔΕΝ ΥΠΑΡΧΕΙ ΣΤΟΝ ΠΙΝΑΚΑ ΠΡΟΜΗΘΕΤΩΝ’
ΤΕΛΟΣ_ΑΝ

​ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 2

(σειριακή αναζήτηση σε όλο τον πίνακα)
Ένα κατάστημα παιχνιδιών διαθέτει 10000 διαφορετικά προϊόντα προς πώληση. Να φτιάξετε πρόγραμμα το οποίο διαβάζει τους κωδικούς, το όνομα του παιχνιδιού και το όνομα του προμηθευτή του αντίστοιχου παιχνιδιού σε 3 πίνακες Κ[ι], Ο[ι] και Π[ι].
Στη συνέχεια να διαβάζει σε μία μεταβλητή το όνομα ενός προμηθευτή και μετά από αναζήτηση να εμφανίζει όλα τα διαθέσιμα παιχνίδια (κωδικό και όνομα παιχνιδιού) που αντιστοιχούν σε αυτόν. Σε περίπτωση που ο προμηθευτής δεν βρεθεί να εμφανίζει κατάλληλο μήνυμα στην οθόνη.

Λύση

ΠΡΟΓΡΑΜΜΑ ΜΠ2
​ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: Ο[10000], Π[10000]
ΑΚΕΡΑΙΕΣ : Κ[10000], i
ΑΡΧΗ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10000 !ΓΕΜΙΣΜΑ ΠΙΝΑΚΩΝ
ΔΙΑΒΑΣΕ Κ[ι], Ο[ι], Π[ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΒΡΕΘΗΚΕ<-ΨΕΥΔΗΣ
ΔΙΑΒΑΣΕ ΠΡΟΜΗΘΕΥΤΗ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10000 !ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ ΟΛΟΥ ΤΟΥ ΠΙΝΑΚΑ   ΓΙΑ ΕΥΡΕΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΜΗΘΕΥΤΩΝ
ΑΝ Π[ι] = ΠΡΟΜΗΘΕΥΤΗ ΤΟΤΕ
ΓΡΑΨΕ Κ[ι], Ο[ι], Π[ι]
ΒΡΕΘΗΚΕ<-ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ ΤΟΤΕ !ΕΜΦΑΝΙΣΗ ΜΗΝΥΜΑΤΟΣ ΣΕ ΠΕΡΙΠΤΩΣΗ ΠΟΥ ΔΕΝ ΒΡΕΘΗΚΕ Ο ΠΡΟΜΗΘΕΥΤΗΣ
ΓΡΑΨΕ ‘Ο ΠΡΟΜΗΘΕΥΤΗΣ ΔΕΝ ΒΡΕΘΗΚΕ’
ΤΕΛΟΣ_ΑΝ

​ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 3

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

Λύση

ΠΡΟΓΡΑΜΜΑ ΜΠ3
ΣΤΑΘΕΡΕΣ
Ν = 100
​ΜΕΤΑΒΛΗΤΕΣ
ΛΟΓΙΚΕΣ: βρ
ΑΚΕΡΑΙΕΣ : i, Α[Ν], Β[Ν]

ΑΡΧΗ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν
Β[ι] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΔΙΑΒΑΣΕ Α[ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

βρ<-ΨΕΥΔΗΣ
ΔΙΑΒΑΣΕ ζητ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν !ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ ΟΛΟΥ ΤΟΥ ΠΙΝΑΚΑ ΓΙΑ ΕΥΡΕΣΗ ΟΛΩΝ ΤΩΝ ζητ
ΑΝ Α[ι] = ζητ ΤΟΤΕ
Β[ι] <- ι
βρ<- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ βρ= ΨΕΥΔΗΣ ΤΟΤΕ !ΕΜΦΑΝΙΣΗ ΜΗΝΥΜΑΤΟΣ ΣΕ ΠΕΡΙΠΤΩΣΗ ΠΟΥ ΔΕΝ ΒΡΕΘΗΚΕ Ο ΠΡΟΜΗΘΕΥΤΗΣ
ΓΡΑΨΕ ‘Το ζητούμενο ΔΕΝ ΒΡΕΘΗΚΕ’
ΑΛΛΙΩΣ !ΕΜΦΑΝΙΣΗ ΘΕΣΕΩΝ ΑΠΟ ΤΟΝ Β ΠΟΥ ΒΡΕΘΗΚΕ ΤΟ ΖΗΤΟΥΜΕΝΟ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΑΝ Β[ι]<>0 ΤΟΤΕ ΓΡΑΨΕ Β[ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ

​ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 4

(Δυαδική αναζήτηση σε πίνακα ταξινομημένο κατά αύξουσα σειρά)
Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο να εφαρμόζει δυαδική αναζήτηση σε ένα ταξινομημένο (σε αύξουσα σειρά) πίνακα ακεραίων 500 θέσεων.

Λύση

ΠΡΟΓΡΑΜΜΑ ΜΠ12
​ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: αρ,δεξ,μεσ,Α[50],ΑΡΙΘΜΟΣ
ΛΟΓΙΚΕΣ: βρ
ΑΡΧΗ
αρ <- 1
δεξ <- 500
βρ <-ΨΕΥΔΗΣ
θ <- 0
ΔΙΑΒΑΣΕ ΑΡΙΘΜΟΣ

ΟΣΟ αρ <= δεξ ΚΑΙ βρ=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
μεσ <- (αρ + δεξ) DIV 2
ΑΝ Α[μεσ]< ΑΡΙΘΜΟΣ ΤΟΤΕ
αρ<- μεσ + 1
ΑΛΛΙΩΣ_ΑΝ Α[μεσ] > ΑΡΙΘΜΟΣ ΤΟΤΕ
δε<- μεσ – 1
ΑΛΛΙΩΣ
βρ <- ΑΛΗΘΗΣ
θ<-μεσ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ βρ=ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ ‘Ο ΑΡΙΘΜΟΣ ‘,ΑΡΙΘΜΟΣ, ‘ ΒΡΕΘΗΚΕ ΣΤΗΝ ΘΕΣΗ: ‘ ,θ
ΑΛΛΙΩΣ
ΓΡΑΨΕ ΄Ο ΑΡΙΘΜΟΣ ‘,ΑΡΙΘΜΟΣ, ‘ ΔΕΝ ΥΠΑΡΧΕΙ’
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

!Η Βασική επανάληψη ΟΣΟ που εφαρμόζει στην ουσία την δυαδική αναζήτηση μπορεί να είναι και η παρακάτω:

ΟΣΟ αρ <= δεξ ΚΑΙ βρ=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
μεσ <- (αρ + δεξ) DIV 2
ΑΝ Α[μεσ]= ΑΡΙΘΜΟΣ ΤΟΤΕ
θ <- Μ
βρ <-ΑΛΗΘΗΣ
ΑΛΛΙΩΣ
ΑΝ Α[μεσ] > ΑΡΙΘΜΟΣ ΤΟΤΕ
αρ<- μεσ + 1
ΑΛΛΙΩΣ
δε<- μεσ – 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Άσκηση 5

(Δυαδική αναζήτηση σε πίνακα ταξινομημένο κατά φθίνουσα σειρά)
Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο να εφαρμόζει δυαδική αναζήτηση σε ένα ταξινομημένο (σε φθίνουσα σειρά) πίνακα ακεραίων 500 θέσεων.

Λύση

ΠΡΟΓΡΑΜΜΑ ΜΠ12β
​ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: αρ,δεξ,μεσ,Α[50],ΑΡΙΘΜΟΣ
ΛΟΓΙΚΕΣ: βρ
ΑΡΧΗ
αρ <- 1
δεξ <- 500
βρ <-ΨΕΥΔΗΣ
θ <- 0
ΔΙΑΒΑΣΕ ΑΡΙΘΜΟΣ

ΟΣΟ αρ <= δεξ ΚΑΙ βρ=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
μεσ <- (αρ + δεξ) DIV 2
ΑΝ Α[μεσ]< ΑΡΙΘΜΟΣ ΤΟΤΕ
δε<- μεσ – 1
ΑΛΛΙΩΣ_ΑΝ Α[μεσ] > ΑΡΙΘΜΟΣ ΤΟΤΕ
αρ<- μεσ + 1
ΑΛΛΙΩΣ
βρ <- ΑΛΗΘΗΣ
θ<-μεσ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ βρ=ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ ‘Ο ΑΡΙΘΜΟΣ ‘,ΑΡΙΘΜΟΣ, ‘ ΒΡΕΘΗΚΕ ΣΤΗΝ ΘΕΣΗ: ‘ ,θ
ΑΛΛΙΩΣ
ΓΡΑΨΕ ΄Ο ΑΡΙΘΜΟΣ ‘,ΑΡΙΘΜΟΣ, ‘ ΔΕΝ ΥΠΑΡΧΕΙ’
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

!Η Βασική επανάληψη ΟΣΟ που εφαρμόζει στην ουσία την δυαδική αναζήτηση μπορεί να είναι και η παρακάτω:

ΟΣΟ αρ <= δεξ ΚΑΙ βρ=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
μεσ <- (αρ + δεξ) DIV 2
ΑΝ Α[μεσ]= ΑΡΙΘΜΟΣ ΤΟΤΕ
θ <- Μ
βρ <-ΑΛΗΘΗΣ
ΑΛΛΙΩΣ
ΑΝ Α[μεσ] > ΑΡΙΘΜΟΣ ΤΟΤΕ
δε<- μεσ -1
ΑΛΛΙΩΣ
αρ<- μεσ+1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Άσκηση 6

Να διαβάσετε ένα στοιχείο από το πληκτρολόγιο και να ελέγξετε αν υπάρχει στον πίνακα Α[9] = [10, 7, 4, 0, 11, 6, -24, 2, 9]. (Αναζήτηση ύπαρξης στοιχείου σε πίνακα)

Λύση

ΠΡΟΓΡΑΜΜΑ ΥΠΑΡΞΗ_ΣΤΟΙΧΕΙΟΥ_ΜΟΝΟΔΙΑΣΤΑΤΟΥ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[9], i
ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ
ΑΡΧΗ
Α[1] <- 10
Α[2] <- 7
Α[3] <- 4
Α[4] <- 0
Α[5] <- 11
Α[6] <- 6
Α[7] <- – 24
Α[8] <- 2
Α[9] <- 9
! ΥΠΑΡΞΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΜΟΝΟΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ
ΔΙΑΒΑΣΕ ΣΤΟΙΧΕΙΟ
!Α ΤΡΟΠΟΣ
i <- 1
ΒΡΕΘΗΚΕ <- ΨΕΥΔΗΣ
ΟΣΟ ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ ΚΑΙ Ι <= 9 ΕΠΑΝΑΛΑΒΕ
ΑΝ ΣΤΟΙΧΕΙΟ <> A[i] ΤΟΤΕ
i <- i + 1
ΑΛΛΙΩΣ
ΒΡΕΘΗΚΕ <- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ΒΡΕΘΗΚΕ = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΒΡΕΘΗΚΕ”
ΑΛΛΙΩΣ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΔΕ ΒΡΕΘΗΚΕ”
ΤΕΛΟΣ_ΑΝ

!Β ΤΡΟΠΟΣ
i <- 1
ΟΣΟ ΣΤΟΙΧΕΙΟ <> A[i] ΚΑΙ Ι <= 9 ΕΠΑΝΑΛΑΒΕ
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ i > 9 ΤΟΤΕ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΒΡΕΘΗΚΕ”
ΑΛΛΙΩΣ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΔΕ ΒΡΕΘΗΚΕ”
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 7

Επέκταση της άσκησης 6, να ελέγξετε αν και πόσες φορές υπάρχει το στοιχείο που αναζητάτε. (Αναζήτηση ύπαρξης και πλήθους στοιχείου σε πίνακα)

Λύση

! ΤΡΟΠΟΠΟΙΗΣΗ ΤΜΗΜΑΤΟΣ ΑΣΚΗΣΗΣ 6
ΠΛΗΘΟΣ <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 9
ΑΝ ΣΤΟΙΧΕΙΟ = A[i] ΤΟΤΕ
ΠΛΗΘΟΣ <- ΠΛΗΘΟΣ + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ΠΛΗΘΟΣ > 0 ΤΟΤΕ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΒΡΕΘΗΚΕ ”, ΠΛΗΘΟΣ, “ ΦΟΡΕΣ‘
ΑΛΛΙΩΣ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΔΕ ΒΡΕΘΗΚΕ”
ΤΕΛΟΣ_ΑΝ

Άσκηση 8

Επέκταση της άσκησης 6, να ελέγξετε αν, πόσες φορές και σε ποιες θέσεις υπάρχει το στοιχείο που αναζητάτε.(Αναζήτηση ύπαρξης, πλήθους, θέσης στοιχείου σε πίνακα)

Λύση

ΠΡΟΓΡΑΜΜΑ ΥΠΑΡΞΗ_ΠΛΗΘΟΣ_ΘΕΣΗ_ΣΤΟΙΧΕΙΩΝ_ΜΟΝΟΔΙΑΣΤΑΤΟΥ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[9], ΘΕΣΗ[9], i, j, ΠΛΗΘΟΣ
ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ
ΑΡΧΗ
Α[1] <- 10
Α[2] <- 7
Α[3] <- 4
Α[4] <- 0
Α[5] <- 11
Α[6] <- 6
Α[7] <- – 24
Α[8] <- 2
Α[9] <- 9
! ΥΠΑΡΞΗ, ΠΛΗΘΟΣ, ΘΕΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΜΟΝΟΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ
ΔΙΑΒΑΣΕ ΣΤΟΙΧΕΙΟ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 9
ΘΕΣΗ [j] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
j <- 1
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 9
ΑΝ ΣΤΟΙΧΕΙΟ = A[i] ΤΟΤΕ
ΘΕΣΗ [j] <- i
j <- j + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΠΛΗΘΟΣ <- j – 1
ΑΝ j > 1 ΤΟΤΕ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΒΡΕΘΗΚΕ ”, ΠΛΗΘΟΣ , “ ΦΟΡΕΣ‘
ΑΛΛΙΩΣ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΔΕ ΒΡΕΘΗΚΕ”
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 9

Επέκταση της άσκησης 6. Να διαβάσετε ένα στοιχείο από το πληκτρολόγιο και να ελέγξετε αν υπάρχει στον πίνακα Α[9] = [-24, -2, 0, 2, 4, 6, 9, 10, 11] . (Ταξινομημένος σε αύξουσα σειρά)

Λύση

!ΤΡΟΠΟΠΟΙΗΣΗ ΤΜΗΜΑΤΟΣ ΑΣΚΗΣΗΣ 6
i <- 1
! ΑΞΙΟΠΟΙΩ ΤΟ ΕΧΤRA ΔΕΔΟΜΕΝΟ ΤΩΝ ΤΑΞ.ΣΤΟΙΧΕΊΩΝ
ΟΣΟ i <= 9 ΚΑΙ ΣΤΟΙΧΕΙΟ >A[i] ΕΠΑΝΑΛΑΒΕ
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ i > 9 ΤΟΤΕ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΔΕ ΒΡΕΘΗΚΕ”
ΑΛΛΙΩΣ_ΑΝ Α[i] <> ΣΤΟΙΧΕΙΟ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΔΕ ΒΡΕΘΗΚΕ”
ΑΛΛΙΩΣ
ΓΡΑΨΕ “ΤΟ ΣΤΟΙΧΕΙΟ ΒΡΕΘΗΚΕ”
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΓΙΑ ΤΟ ΣΠΙΤΙ…

ΣΤΕΙΛΕ ΜΟΥ ΤΙΣ ΑΠΑΝΤΗΣΕΙΣ: ΕΔΩ

ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ