ΤΡΙΩΡΟ ΔΙΑΓΩΝΙΣΜΑ Α.Ε.Π.Π ΘΕΜΑ Α Α1 Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και τον αντίστοιχο χαρακτηρισμό ( Σ - σωστό, Λ - λάθος) 1. Αν οι δείκτης rear μιας ουράς υλοποιημένης με πίνακα 50 θέσεων είναι rear=50, αυτό σημαίνει πως η ουρά έχει 50 στοιχεία. 2. Αν σε μια ουρά ισχύει front = rear, αυτό σημαίνει πως η ουρά είναι άδεια. 3. Κάθε γλώσσα προγραμματισμού διαθέτει το μεταγλωττιστή της 4. Ο μεταγλωττιστής παράγει το εκτελέσιμο πρόγραμμα 5. Τα λογικά λάθη ενός προγράμματος εντοπίζονται στο στάδιο της μεταγλώττισης 6. Οι τεχνητές γλώσσες παρουσιάζουν μεγαλύτερη εξελιξιμότητα από τις φυσικές Μονάδες 12 Α2 Δίνεται τμήμα αλγορίθμου: Για i από -100 μέχρι 100 Για j από -100 μέχρι 100 Aν i = j τότε Εμφάνισε i + j/(i-1) αλλιώς Εμφάνισε i + j/(i-j) Τέλος_Αν α. Το παραπάνω τμήμα αλγορίθμου ικανοποιεί τα απαραίτητα αλγοριθμικά κριτήρια; Μονάδες 2 β. Να δικαιολογήσετε την απάντησή σας Α3 Ποιοι παράγοντες πρέπει να ικανοποιούνται κατά τη σύγκριση δυο προγραμμάτων ως προς την επίδοσή τους; Μονάδες 8 1
Α4 Δίνεται ο παρακάτω αλγόριθμος: Αλγόριθμος ΘΕΜΑ1Δ S 0 i 1 Όσο i <= 500 επανάλαβε Αν i mod 2 = 0 τότε S S + i i i + 1 Εμφάνισε S ΜΟ S / 500 Εμφάνισε ΜΟ Εμφάνισε i Τέλος ΘΕΜΑ1Δ α. Να τον μετατρέψετε σε ισοδύναμο, χωρίς τη χρήση Όσο επανάλαβε, με τη χρήση δομής επανάληψης Για από μέχρι. Μονάδες 6 β. Να χαρακτηρίσετε τις παρακάτω προτάσεις σωστές (Σ) ή λάθος (Λ) 1. Ο αλγόριθμος εμφανίζει το πλήθος των αρτίων από το 1 ως το 500 2. Ο αλγόριθμος εμφανίζει το άθροισμα των περιττών από το 1 ως το 500 3. Η τελική τιμή του i που εμφανίζεται είναι 500 4. Ο αλγόριθμος εμφανίζει το μέσο όρο των αρτίων από το 1 ως το 500 Μονάδες 8 ΘΕΜΑ Β Β1 Δίνεται ο παρακάτω αλγόριθμος, ο οποίος εκτελεί αναζήτηση ενός στοιχείου key σε έναν πίνακα Α μεγέθους n Αλγόριθμος Σειριακή_1 Δεδομένα // n, Α // Εμφάνισε "Δώστε στοιχείο προς αναζήτηση" Διάβασε key pos 0 Για i από 1 μέχριn Αν key = A[i] τότε pos i Εμφάνισε"Βρέθηκε στη θέση", i 2
Αν pos = 0 τότε Εμφάνισε"Δεν βρέθηκε" Τέλος Σειριακή_1 α) «Ο παραπάνω αλγόριθμος θα κάνει n επαναλήψεις σε κάθε περίπτωση, ανεξαρτήτως της θέσης του στοιχείου που αναζητείται» Να χαρακτηρίσετε την πρόταση σωστή ή λάθος. Δικαιολογήστε την απάντησή σας. Μονάδες 6 β) Να συμπληρώσετε στο τετράδιό σας τα αριθμημένα κενά στον παρακάτω (Σειριακή_2) αλγόριθμο, ώστε να χρειάζεται κατά μέσο όρο (n+1)/2 επαναλήψεις για να εκτελέσει την αναζήτηση Αλγόριθμος Σειριακή_2 Δεδομένα // n, Α // Εμφάνισε"Δώστε στοιχείο προς αναζήτηση" Διάβασε key pos 0 done ΨΕΥΔΗΣ i 1 Όσο ( i<= n ) ΚΑΙ (1) επανέλαβε Αν key = A[i] τότε pos (2) done ΑΛΗΘΗΣ αλλιώς i (3) Αν pos = (4) τότε Εμφάνισε"Δεν βρέθηκε" αλλιώς Εμφάνισε"Βρέθηκε στη θέση", pos Τέλος Σειριακή_2 Β2 Μονάδες 8 Δίνεται το παρακάτω κυρίως πρόγραμμα και δύο διαδικασίες. Αν για είσοδο δοθούν οι χαρακτήρες Α, Β, Χ, Δ, Α, Π, Μ, Ο, Π, Μ, Τ, Ζ να γράψετε στο τετράδιό σας τι θα εμφανιστεί στην οθόνη. ΠΡΟΓΡΑΜΜΑ B2 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, top ΛΟΓΙΚΕΣ: done ΧΑΡΑΚΤΉΡΕΣ: Χ, Stack[10] ΑΡΧΗ top<-- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 12 ΔΙΑΒΑΣΕ Χ ΚΑΛΕΣΕ ΩΘΗΣΗ (Stack, Χ, top, done) ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 6 3
ΚΑΛΕΣΕ ΑΠΩΘΗΣΗ (Stack, Χ, top, done) ΓΡΑΨΕ Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ ΩΘΗΣΗ (Α, στοιχείο, top, done) ΣΤΑΘΕΡΕΣ Ν = 10 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: top ΧΑΡΑΚΤΗΡΕΣ: στοιχείο, Α[Ν] ΛΟΓΙΚΕΣ: done ΑΡΧΗ ΑΝ top < Ν ΤΟΤΕ top <-- top + 1 Α[top] <-- στοιχείο done <-- ΑΛΗΘΗΣ ΑΛΛΙΩΣ done <-- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ ΑΠΩΘΗΣΗ (Α, στοιχείο, top, done) ΣΤΑΘΕΡΕΣ Ν = 10 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: top ΧΑΡΑΚΤΗΡΕΣ: στοιχείο, Α[Ν] ΛΟΓΙΚΕΣ: done ΑΡΧΗ ΑΝ top >=1 ΤΟΤΕ στοιχείο <-- Α[top] top <-- top - 1 done <-- ΑΛΗΘΗΣ ΑΛΛΙΩΣ done <-- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Μονάδες 6 ΘΕΜΑ Γ Ένας εφοριακός υλοποιεί την εκκαθάριση φορολογικών δηλώσεων που καταφθάνουν στο γραφείο του, επεξεργαζόμενος κάθε φορά την τελευταία από αυτές που δέχτηκε. Αυτή τη στιγμή έχει να επεξεργαστεί 40 δηλώσεις. Στο γραφείο του μπορεί να υπάρχουν 100 δηλώσεις το πολύ. Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο θα υλοποιεί στοίβα με τη χρήση πίνακα ΔΗΛΩΣΕΙΣ[100] στο οποίο θα υλοποιούνται τα παρακάτω: 1. Θα διαβάζονται οι ΑΦΜ (αριθμοί φορολογικού μητρώου) των 40 δηλώσεων που έχει ήδη ο εφοριακός προς επεξεργασία, και θα τοποθετούνται στη στοίβα. 4
Μονάδες 3 2. Θα διαβάζεται επαναληπτικά μια ενέργεια (Υ για παραλαβή νέας δήλωσης από τον εφοριακό και προσθήκη της στη στοίβα, Ε για εκκαθάριση υπάρχουσας δήλωσης της στοίβας και αφαίρεσή της από αυτήν) και θα εκτελεί την αντίστοιχη ενέργεια. Για κάθε εκκαθάριση να εμφανίζει το μήνυμα «ΕΚΚΑΘΑΡΙΣΗ ΔΗΛΩΣΗΣ» και τον αντίστοιχο ΑΦΜ. Μονάδες 5 3. Αν γίνουν 100 οι δηλώσεις, θα εμφανίζεται το μήνυμα «ΑΔΥΝΑΜΙΑ ΠΑΡΑΛΑΒΗΣ ΝΕΑΣ ΔΗΛΩΣΗΣ» και η επαναληπτική υποβολή/εκκαθάριση θα τερματίζει. 4. Αν ο εφοριακός ολοκληρώσει την εκκαθάριση όλων των δηλώσεων, θα εμφανίζεται το μήνυμα «ΕΠΙΤΥΧΗΣ ΟΛΟΚΛΗΡΩΣΗ ΕΚΚΑΘΑΡΙΣΗΣ» και και η επαναληπτική υποβολή/εκκαθάριση θα τερματίζει 5. Θα εμφανίζεται το πλήθος των δηλώσεων που εκκαθαρίστηκαν. ΘΕΜΑ Δ Σε έναν αγώνα τοξοβολίας συμμετέχουν 17 αθλητές. Κάθε αθλητής δικαιούται 8 προσπάθειες, η βαθμολογία των οποίων εξαρτάται από το σημείο (δακτύλιο) του στόχου που θα πετύχει, και κυμαίνεται από 0 (εάν δεν πετύχει καθόλου το στόχο) έως 10 (εάν πετύχει το κέντρο του στόχου). Νικητής αναδεικνύεται ο αθλητής που θα συγκεντρώσει τη μεγαλύτερη συνολική βαθμολογία. Να γράψετε αλγόριθμο ο οποίος: 1. Να διαβάζει για τους 17 αθλητές τα ονόματά τους και να τα αποθηκεύει σε κατάλληλο πίνακα Μονάδες 1 2. Να διαβάζει για τους 17 αθλητές τις 8 προσπάθειές τους και να τις αποθηκεύει σε κατάλληλο πίνακα, ελέγχοντας ότι πρόκειται για ακέραιους στην κλίμακα 0-10. Μονάδες 2 3. Να αποθηκεύει σε πίνακα τη συνολική βαθμολογία κάθε διαγωνιζόμενου. 4. Να βρίσκει και να εμφανίζει το πλήθος των αθλητών που πέτυχαν το κέντρο του στόχου στην 5η προσπάθειά τους. 5. Εάν υπάρχει ένας νικητής, να βρίσκει και να εμφανίζει το όνομα του νικητή. Εάν υπάρχουν περισσότεροι από ένας αθλητές που ισοβαθμούν έχοντας την καλύτερη βαθμολογία, να εμφανίζει το μήνυμα «Ισοβαθμία μεταξύ των» και τα ονόματα των ισοβαθμούντων νικητών. 5
Μονάδες 5 6. Να εμφανίζει τα ονόματα των αθλητών που είχαν περισσότερες από 4 συνεχόμενες προσπάθειες στο κέντρο του στόχου 6