e-ΜΑΘΗΜΑΤΑ |
Πανελλαδικές 2021 - Θέμα Β1 |
!Ε2016-Γ
!Στο πλαίσιο μιας μελέτης, ένας φιλόλογος θέλει να ελέγξει τη χρήση ενός
!δείγματος εκατό (100) ναυτικών λέξεων σε σύγχρονα νεοελληνικά κείμενα.
!Για τον σκοπό αυτό:
!Γ1. Να κατασκευάσετε υποπρόγραμμα, με όνομα ΑΝΑΖΗΤΗΣΗ, το οποίο να δέχεται
! ένα μονοδιάστατο πίνακα χαρακτήρων Π[100],
! μια ακέραια μεταβλητή Ν,
! μια αλφαριθμητική μεταβλητή Χ
! και να επιστρέφει
! μια λογική μεταβλητή ΒΡΕΘΗΚΕ και
! μια ακέραια μεταβλητή ΘΕΣΗ.
! Το υποπρόγραμμα να αναζητά μια λέξη, την τιμή της μεταβλητής Χ στις θέσεις 1 έως Ν
! του πίνακα Π.
! Αν βρεθεί η λέξη, το υποπρόγραμμα να επιστρέφει την τιμή ΑΛΗΘΗΣ
! και τη θέση που βρέθηκε.
! Αν δεν βρεθεί, να επιστρέφει την τιμή ΨΕΥΔΗΣ και την τιμή 0.
!Στη συνέχεια να κατασκευάσετε κύριο πρόγραμμα το οποίο :
!Γ2. Να ζητά 100 ναυτικές λέξεις και να τις καταχωρίζει σε πίνακα ΛΕΞΕΙΣ[100].
! Κάθε λέξη που δίνεται να τη δέχεται, μόνο εφόσον ελέγξει ότι δεν έχει ήδη
! καταχωριστεί στον πίνακα.
! Ο έλεγχος να γίνεται με τη χρήση του υποπρογράμματος ΑΝΑΖΗΤΗΣΗ.
!Γ3. Να ζητά, με τη σειρά, τις λέξεις ενός νεοελληνικού κειμένου.
! Η εισαγωγή να τερματίζεται όταν δοθεί ως λέξη η ακολουθία χαρακτήρων
! «ΤΕΛΟΣ_ΚΕΙΜΕΝΟΥ».
!Γ4. Να εμφανίζει τις σπανιότερες ναυτικές λέξεις του δείγματος που υπάρχουν
! στο νεοελληνικό κείμενο, δηλαδή τις λέξεις με τη μικρότερη συχνότητα εμφάνισης,
! χρησιμοποιώντας κατάλληλα το υποπρόγραμμα ΑΝΑΖΗΤΗΣΗ.
ΠΡΟΓΡΑΜΜΑ ΜΑΡΑΜΠΟΥ
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: ΛΕΞΕΙΣ[100], νεα_λέξη, τεμπΛ
ΑΚΕΡΑΙΕΣ: i, j, πληθος, ΘΕΣΗ, πλ[100], τεμπ
ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ
ΑΡΧΗ
ΓΡΑΨΕ 'Εισαγωγή Ναυτικών Λέξεων'
πληθος <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΔΙΑΒΑΣΕ νεα_λέξη
ΚΑΛΕΣΕ ΑΝΑΖΗΤΗΣΗ ( ΛΕΞΕΙΣ, πληθος, νεα_λέξη, ΒΡΕΘΗΚΕ, ΘΕΣΗ)
ΑΝ ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ ΤΟΤΕ
πληθος <- πληθος + 1
ΛΕΞΕΙΣ[πληθος] <- νεα_λέξη
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Υπάρχει ήδη'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!Γ3. Να ζητά, με τη σειρά, τις λέξεις ενός νεοελληνικού κειμένου. Η εισαγωγή να τερματίζεται όταν δοθεί ως λέξη η ακολουθία χαρακτήρων «ΤΕΛΟΣ_ΚΕΙΜΕΝΟΥ».
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ πληθος
πλ[i] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΕΙΣΑΓΩΓΗ ΚΕΙΜΕΝΟΥ'
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ νεα_λέξη
ΑΝ νεα_λέξη <> 'ΤΕΛΟΣ_ΚΕΙΜΕΝΟΥ' ΤΟΤΕ
ΚΑΛΕΣΕ ΑΝΑΖΗΤΗΣΗ ( ΛΕΞΕΙΣ, πληθος, νεα_λέξη, ΒΡΕΘΗΚΕ, ΘΕΣΗ)
ΑΝ ΒΡΕΘΗΚΕ = ΑΛΗΘΗΣ ΤΟΤΕ
πλ[ΘΕΣΗ] <- πλ[ΘΕΣΗ] + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ νεα_λέξη = 'ΤΕΛΟΣ_ΚΕΙΜΕΝΟΥ'
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ πληθος
ΓΙΑ j ΑΠΟ πληθος ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
ΑΝ πλ[j - 1] > πλ[j] ΤΟΤΕ
τεμπ <- πλ[j]
πλ[j] <- πλ[j - 1]
πλ[j - 1] <- τεμπ
τεμπΛ <- ΛΕΞΕΙΣ[j]
ΛΕΞΕΙΣ[j] <- ΛΕΞΕΙΣ[j - 1]
ΛΕΞΕΙΣ[j - 1] <- τεμπΛ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!Γ4. Να εμφανίζει τις σπανιότερες ναυτικές λέξεις του δείγματος που υπάρχουν στο νεοελληνικό κείμενο, δηλαδή τις λέξεις με τη μικρότερη συχνότητα εμφάνισης, χρησιμοποιώντας κατάλληλα το υποπρόγραμμα ΑΝΑΖΗΤΗΣΗ.
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ πληθος
ΑΝ πλ[i] <> 0 ΤΟΤΕ
ΓΡΑΨΕ ΛΕΞΕΙΣ[i], πλ[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! ----------------------------------------------------------
ΔΙΑΔΙΚΑΣΙΑ ΑΝΑΖΗΤΗΣΗ ( Π, Ν, Χ, ΒΡΕΘΗΚΕ, ΘΕΣΗ)
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: Π[100], Χ
ΑΚΕΡΑΙΕΣ: Ν, ΘΕΣΗ, i
ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ
ΑΡΧΗ
ΒΡΕΘΗΚΕ <- ΨΕΥΔΗΣ
ΘΕΣΗ <- 0
i <- 1
ΟΣΟ ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ ΚΑΙ i <= Ν ΕΠΑΝΑΛΑΒΕ
ΑΝ Π[i] = Χ ΤΟΤΕ
ΒΡΕΘΗΚΕ <- ΑΛΗΘΗΣ
ΘΕΣΗ <- i
ΑΛΛΙΩΣ
i <- i + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
|