ΘΕΜΑ Α
Α1. Αν η μεταβλητή Α έχει την τιμή 7, η μεταβλητή Β έχει την τιμή 5 και η μεταβλητή Γ την τιμή 2, να υπολογιστούν οι λογικές τιμές των παρακάτω εκφράσεων:
1. Α > Β
2. ΟΧΙ (Β>Α)
3. Α < Γ
4. Γ <= Β
5. (Α > Β) ΚΑΙ (Α < Γ)
6. ((Α<Β) ΚΑΙ (Α<Γ)) Ή (Γ<=Β)
7. (Α<Β) ΚΑΙ ((Α<Γ) Ή (Γ<=Β)) Μονάδες 7
Α2. Δίνεται το παρακάτω τμήμα αλγορίθμου σε φυσική γλώσσα:
“Αν η βαθμολογία είναι μεγαλύτερη ή ίση του 17 και μικρότερη ή ίση του 20, να εμφανίζεται «ΑΡΙΣΤΑ», αν η βαθμολογία είναι μεγαλύτερη ή ίση του 15 και μικρότερη του 17, να εμφανίζεται «ΠΟΛΥ ΚΑΛΑ», αν η βαθμολογία είναι μεγαλύτερη ή ίση του 13 και μικρότερη του 15, να εμφανίζεται «ΚΑΛΑ», αν η βαθμολογία είναι μεγαλύτερη ή ίση του 10 και μικρότερη του 13, να εμφανίζεται «ΜΕΤΡΙΑ», αν η βαθμολογία είναι μεγαλύτερη ή ίση του 0 και μικρότερη του 10, να εμφανίζεται «ΑΠΟΡΡΙΠΤΕΤΑΙ»”.
Να γραφεί το αντίστοιχο τμήμα προγράμματος σε ΓΛΩΣΣΑ με χρήση της εντολής ΑΝ... ΤΟΤΕ... ΑΛΛΙΩΣ_ΑΝ... Σημείωση: Η βαθμολογία είναι ακέραιος αριθμός από το 0 μέχρι και το 20.
Μονάδες 10
Α3. Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο δημιουργεί:
1. Πίνακα 5 γραμμών και 7 στηλών, όπου σε κάθε θέση του, με χρήση επαναληπτικών δομών, να εισάγεται ένας αριθμός που ισούται με το άθροισμα του αριθμού γραμμής και του αριθμού στήλης της θέσης.
2. Μονοδιάστατο πίνακα με 10 στοιχεία, όπου σε κάθε θέση του, με χρήση επαναληπτικών δομών, να εισάγεται στην πρώτη θέση ο αριθμός 300 και σε κάθε επόμενη το μισό της τιμής της προηγούμενης, δηλαδή στη δεύτερη θέση το 150, στην τρίτη το 75 κ.ο.κ. Μονάδες 10
Α4. Να αναφέρετε τους κανόνες που πρέπει να ακολουθούν οι λίστες των παραμέτρων στη χρήση υποπρογραμμάτων. Μονάδες 6
Α5. Να περιγράψετε τις κύριες λειτουργίες σε μια στοίβα και να αναφέρετε τι πρέπει να ελέγχει κάθε λειτουργία, προκειμένου να μην παρουσιάζεται πρόβλημα στη λειτουργία της στοίβας. Μ.7
ΘΕΜΑ Β
Δίνεται τo παρακάτω τμήμα αλγορίθμου, στο οποίο έχουν αριθμηθεί οι γραμμές. Θεωρήστε ότι οι τιμές που εισάγονται είναι ακέραιες και μεγαλύτερες του μηδενός.
1. ΔΙΑΒΑΣΕ x, y
2. ΑΝ x < y ΤΟΤΕ
3. z <-- x
4. ΑΛΛΙΩΣ
5. z <-- y
6. ΤΕΛΟΣ_ΑΝ
7. ΟΣΟ z <> 0 ΕΠΑΝΑΛΑΒΕ
8. z <-- x MOD y
9. x <-- y
10. y <-- z
11. ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Β1. Να αναπαραστήσετε με διάγραμμα ροής το παραπάνω τμήμα αλγορίθμου. Μονάδες 6
Β2. Δίνεται το ακόλουθο υπόδειγμα πίνακα τιμών:
αριθμός γραμμής
|
x
|
y
|
Z
|
1
|
150
|
35
| |
…
|
…
|
…
|
…
|
Στη στήλη με τίτλο «αριθμός γραμμής» καταγράφεται ο αριθμός γραμμής της εντολής που εκτελείται. Στη συνέχεια του πίνακα υπάρχει μια στήλη για κάθε μεταβλητή του αλγορίθμου.
Να μεταφέρετε τον πίνακα στο τετράδιό σας και να τον συμπληρώσετε, εκτελώντας τις εντολές του τμήματος αλγορίθμου για x = 150 και y = 35 ως εξής:
Για κάθε εντολή που εκτελείται να γράψετε σε μία νέα γραμμή του πίνακα τον αριθμό της γραμμής της και το αποτέλεσμα της εκτέλεσης της εντολής.
Σημείωση: Στον πίνακα τιμών έχει συμπληρωθεί η εκτέλεση της πρώτης εντολής του αλγορίθμου. Μονάδες 10
Β3. Να μετατραπεί η δομή ΟΣΟ... ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ του παραπάνω αλγορίθμου σε ισοδύναμη με τη χρήση της δομής ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ... ΜΕΧΡΙΣ_ΟΤΟΥ. Μονάδες 4
ΘΕΜΑ Γ
Ένα σύστημα υπολογιστή χρησιμοποιεί για τον έλεγχο πρόσβασης των χρηστών του έναν πίνακα 1000 γραμμών και 3 στηλών με τα στοιχεία τους. Σε κάθε γραμμή του αποθηκεύει, στην πρώτη στήλη το όνομα πρόσβασης του χρήστη, στη δεύτερη στήλη το συνθηματικό του και στην τρίτη έναν από τους χαρακτήρες «Σ» ή «Α». (Ο χαρακτήρας «Σ» δηλώνει ότι το συνθηματικό συνεχίζει να ισχύει, ενώ ο χαρακτήρας «Α» δηλώνει ότι το συνθηματικό πρέπει να αλλάξει).
Θεωρήστε ότι υπάρχει ένα κύριο πρόγραμμα που υλοποιεί τα παραπάνω και καλεί τη διαδικασία ΕΛΕΓΧΟΣ η οποία ελέγχει την πρόσβαση του χρήστη στο σύστημα.
Να γράψετε τη διαδικασία ΕΛΕΓΧΟΣ η οποία να περιλαμβάνει:
Γ1. Τμήμα δηλώσεων. Μονάδες 2
Κύριο τμήμα το οποίο:
Γ2. Διαβάζει το όνομα και το συνθηματικό του χρήστη. Ελέγχει αν το όνομα πρόσβασης και το συνθηματικό είναι έγκυρα, δηλαδή υπάρχουν στον πίνακα χρηστών και αναφέρονται στον ίδιο χρήστη. Αν υπάρχουν, εμφανίζει το μήνυμα «ΚΑΛΩΣ ΗΡΘΑΤΕ», διαφορετικά εμφανίζει το μήνυμα «ΛΑΘΟΣ ΟΝΟΜΑ ΠΡΟΣΒΑΣΗΣ Ή ΣΥΝΘΗΜΑΤΙΚΟ» και ζητά εκ νέου την εισαγωγή των δύο αυτών στοιχείων (ονόματος πρόσβασης και συνθηματικού) μέχρι να δοθούν έγκυρα στοιχεία. Μονάδες 8
Γ3. Μετά την εμφάνιση του μηνύματος «ΚΑΛΩΣ ΗΡΘΑΤΕ» ελέγχει αν το συνθηματικό χρειάζεται αλλαγή. Αν χρειάζεται, ζητά από τον χρήστη την εισαγωγή νέου συνθηματικού δύο φορές (η δεύτερη ως επιβεβαίωση) μέχρις ότου το συνθηματικό και η επιβεβαίωσή του ταυτιστούν. Όταν ταυτιστούν, η διαδικασία αντικαθιστά το παλιό συνθηματικό με το νέο και τον αντίστοιχο χαρακτήρα «Α» της τρίτης στήλης με το «Σ». Μονάδες 10
ΘΕΜΑ Δ
Ερευνητές που ασχολούνται με μοντέλα προσομοίωσης εξάπλωσης επιδημιών χρησιμοποιούν για τις μελέτες τους ένα αριθμητικό πίνακα Μ[5000]. Κάθε κελί του πίνακα αυτού αντιπροσωπεύει ένα άτομο σε μια περιοχή 5.000 κατοίκων στην οποία υπάρχουν εστίες μιας συγκεκριμένης μολυσματικής ασθένειας (επιδημίας). Από σύμβαση η τιμή μηδέν 0 σε ένα κελί αντιπροσωπεύει ένα υγιές άτομο, ενώ η τιμή -1 αντιπροσωπεύει ένα άτομο που έχει τη συγκεκριμένη ασθένεια (μολυσμένο άτομο). Κάθε άτομο έρχεται σε επαφή με τα γειτονικά του και η ασθένεια μπορεί να μεταδοθεί από τον ένα στον άλλο. (Γειτονικά χαρακτηρίζονται δύο άτομα, όταν τα κελιά του πίνακα που τα αντιπροσωπεύουν έχουν μια κοινή πλευρά).
Θεωρήστε ότι δίνεται ο πίνακας Μ που περιέχει ήδη έναν αριθμό μολυσμένων ατόμων. Να υλοποιήσετε αλγόριθμο ο οποίος:
Δ1. Υπολογίζει και εμφανίζει με κατάλληλο μήνυμα τον συνολικό αριθμό των μολυσμένων ατόμων που υπάρχουν στο σύνολο του πληθυσμού.
Μονάδες 4
Δ2. Αποθηκεύει σε κάθε κελί του πίνακα Μ που αντιπροσωπεύει ένα υγιές άτομο έναν αριθμό ο οποίος δείχνει με πόσα μολυσμένα άτομα γειτονεύει το υγιές. Μονάδες 8
Δ3. Βρίσκει αν υπάρχει έστω και μία «σημαντική» εστία μόλυνσης. Αν υπάρχει, εμφανίζει το μήνυμα «Υπάρχει σημαντική εστία μόλυνσης» μαζί με τη θέση του πρώτου κελιού της εστίας. Αν δεν υπάρχει, εμφανίζει το μήνυμα «Δεν υπάρχει σημαντική εστία μόλυνσης». (Μια εστία μόλυνσης χαρακτηρίζεται σημαντική, όταν δύο ή περισσότερα μολυσμένα άτομα βρίσκονται σε συνεχόμενα γειτονικά κελιά). Μονάδες 8