Θέμα Α, Ερώτημα 1
Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και, δίπλα, τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν η πρόταση είναι λανθασμένη.
- O χρόνος εκτέλεσης κάθε αλγορίθμου εξαρτάται από τη Γλώσσα προγραμματισμού που θα χρησιμοποιηθεί.
- Οι στατικές δομές στηρίζονται στην τεχνική της δυναμικής παραχώρησης μνήμης.
- Σε μια δομή σύνθετης επιλογής, μετά από τις εντολές που βρίσκονται μεταξύ των λέξεων ΤΟΤΕ και ΑΛΛΙΩΣ, εκτελούνται οι εντολές που βρίσκονται μεταξύ των λέξεων ΑΛΛΙΩΣ και ΤΕΛΟΣ_ΑΝ.
- Στο τμήμα δηλώσεων ενός προγράμματος, εκτός από τον τύπο ενός πίνακα, πρέπει να δηλώνεται και ο μεγαλύτερος αριθμός στοιχείων που μπορεί να έχει ο συγκεκριμένος πίνακας.
- Το πρόγραμμα Συντάκτης εντοπίζει τα συντακτικά λάθη του προγράμματος.
Μονάδες 10
ΛΥΣΗ
- ΣΩΣΤΟ 2. ΛΑΘΟΣ 3. ΛΑΘΟΣ 4. ΣΩΣΤΟ 5. ΛΑΘΟΣ
Θέμα Α, Ερώτημα 2
Δίδεται η λίστα:
α. Να περιγράψετε τη διαδικασία για την εισαγωγή του κόμβου με δεδομένα Ε ανάμεσα στον δεύτερο και τρίτο κόμβο της λίστας. (μονάδες 3)
β. Να περιγράψετε τη διαδικασία για τη διαγραφή του κόμβου με δεδομένα Κ από την αρχική λίστα. (μονάδες 3)
Μονάδες 6
ΛΥΣΗ
Δείτε στην παράγραφο 3.9.1, την ενότητα Λίστες (κυρίως στην σελίδα 72) του σχολικού βιβλίου.
α. Ο δείκτης του δεύτερου κόμβου να δείχνει το νέο κόμβο και δείκτης του νέου κόμβου να δείχνει τον τρίτο κόμβο (δηλαδή να πάρει την τιμή που είχε πριν την εισαγωγή ο δείκτης του δεύτερου κόμβου).
β. Ο δείκτης του πρώτου κόμβου να δείχνει τον τρίτο κόμβο.
Θέμα Α, Ερώτημα 3
Δείτε στην παράγραφο 10.6, την ενότητα Απεριόριστη εμβέλεια (σελ. 184) του σχολικού βιβλίου.
α. Καθολικές ονομάζονται οι μεταβλητές οι οποίες είναι γνωστές και μπορούν να χρησιμοποιηθούν σε οποιοδήποτε τμήμα προγράμματος, άσχετα που δηλώθηκαν.
β. Η χρήση των καθολικών μεταβλητών καταστρατηγεί την αρχή της αυτονομίας των υποπρογραμμάτων, που ορίζει ότι κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα. Αυτό συμβαίνει επειδή οποιαδήποτε αλλαγή στην τιμή της από το υποπρόγραμμα στο οποίο έχει δηλωθεί, επηρεάζει και όλα τα άλλα τμήματα του προγράμματος.
Θέμα Α, Ερώτημα 4
Έστω ο μονοδιάστατος πίνακας Α:
5 2 3 8 7 4 10 12
Να σχεδιάσετε τον πίνακα Β[6] μετά την εκτέλεση των παρακάτω εντολών:
- Β[Α[1] – Α[3]] <- Α[5]
- Β[Α[7] – Α[5]] <- Α[2] + Α[7]
- Β[Α[6]] <- Α[4]
- Β[Α[1] + Α[4] – Α[8]] <- Α[3] + Α[8]
- Β[Α[8] DIV 2] <- A[3] MOD 2
- B[A[1] MOD A[4]] <- A[6] + 4
Μονάδες 12
ΛΥΣΗ
B[2] = 7 B[3] = 12 B[4] = 8 B[1] = 15 B[6] = 1 B[5] = 8 ή Πίνακας Β: 15 7 12 8 8 1
Θέμα Α, Ερώτημα 5
Δίδεται πίνακας ΠΙΝ[7] με τις παρακάτω τιμές:
2 5 8 12 15 17 22
και το παρακάτω τμήμα αλγορίθμου:
low <- 1 high <- 7 found <- ΨΕΥΔΗΣ Όσο low ≤ high ΚΑΙ found = ΨΕΥΔΗΣ επανάλαβε mid <- (low+high) DIV 2 Εμφάνισε ΠΙΝ[mid] Αν ΠΙΝ[mid] < Χ τότε low <- mid+1 Αλλιώς_αν ΠΙΝ[mid] > Χ τότε high <- mid-1 Αλλιώς found <- ΑΛΗΘΗΣ Τέλος_αν Τέλος_Επανάληψης
Να γράψετε στο τετράδιό σας τις τιμές οι οποίες θα εμφανιστούν για:
α) Χ=22 (μονάδες 3)
β) Χ=7 (μονάδες 3)
Μονάδες 6
ΛΥΣΗ
α. 12, 17, 22
β. 12, 5, 8
Θέμα Β, Ερώτημα 1
Ο αριθμός π εκφράζει το πηλίκο της περιμέτρου ενός κύκλου προς τη διάμετρό του. Η τιμή του μπορεί να υπολογιστεί, κατά προσέγγιση, από την παρακάτω παράσταση:
Ο υπολογισμός της τιμής της παράστασης, για 100 όρους του αθροίσματος, γίνεται από το παρακάτω τμήμα αλγορίθμου που περιλαμβάνει 5 κενά.
παρονομαστής <— (1) Σ<— 0 πρόσημο <— 1 Για i από 1 μέχρι 100 όρος <— 1/παρονομαστής όρος<— (2) * πρόσημο (3) <— Σ + όρος πρόσημο <— πρόσημο * ( (4) ) παρονομαστής <— παρονομαστής + 2 Τέλος_Επανάληψης π <- (5) * Σ
Να γράψετε στο τετράδιό σας τους αριθμούς 1 έως 5, που αντιστοιχούν στα κενά του αλγορίθμου, και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε ο αλγόριθμος να υπολογίζει την τιμή του π όπως περιγράφηκε.
Μονάδες 10
ΛΥΣΗ
Παρονομαστής <- 1 Σ <- 0 πρόσημο <- 1 Για i από 1 μέχρι 100 όρος <- 1/παρονομαστής όρος <- όρος * πρόσημο Σ <- Σ + όρος πρόσημο <- πρόσημο * ( -1 ) παρονομαστής <- παρανομαστής + 2 Τέλος_επανάληψης π <- 4 * Σ
ή
1. 1
2. Όρος
3. Σ
4. -1
5. 4
Θέμα Β, Ερώτημα 2
Κατά την είσοδό τους σε μια τράπεζα οι πελάτες παίρνουν διαδοχικούς αριθμούς προτεραιότητας 1, 2, 3… που καθορίζουν τη σειρά τους στην ουρά του μοναδικού ταμείου.
Κάθε 2 λεπτά της ώρας προσέρχεται ένας νέος πελάτης και προστίθεται στην ουρά. Ο ταμίας εξυπηρετεί κάθε φορά τον πρώτο πελάτη στην ουρά και η εξυπηρέτησή του διαρκεί 3 λεπτά ακριβώς. Μετά την εξυπηρέτησή του ο πελάτης αποχωρεί από την ουρά.
Κατά την αρχή της διαδικασίας (χρόνος 0) στην ουρά υπάρχει μόνο ο πελάτης με αριθμό προτεραιότητας 1.
Να γράψετε διαδοχικά, σε ξεχωριστές γραμμές, με τη σωστή σειρά, τους αριθμούς προτεραιότητας των πελατών που βρίσκονται στην ουρά του ταμείου αμέσως μετά το 1ο , 2ο , 3ο , 4ο , 5ο και 6ο λεπτό.
Μονάδες 10
ΛΥΣΗ
- 1
- 1, 2
- 2
- 2, 3
- 2, 3
- 3, 4
ή
Αμέσως μετά το 1ο λεπτό: 1
Αμέσως μετά το 2ο λεπτό: 1 2
Αμέσως μετά το 3ο λεπτό: 2
Αμέσως μετά το 4ο λεπτό: 2 3
Αμέσως μετά το 5ο λεπτό: 2 3
Αμέσως μετά το 6ο λεπτό: 3 4
Θέμα Γ
Μία εταιρεία πληροφορικής προσφέρει υπολογιστές σε τιμές οι οποίες μειώνονται ανάλογα με την ποσότητα της παραγγελίας, όπως φαίνεται στον παρακάτω πίνακα:
ΠΟΣΟΤΗΤΑ | ΤΙΜΗ ΜΟΝΑΔΑΣ |
1-50 | 580 |
51-100 | 520 |
101-200 | 470 |
Πάνω από 200 | 440 |
Να κατασκευάσετε πρόγραμμα το οποίο:
Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
Μονάδες 2
Γ2. Να διαβάζει τον αριθμό υπολογιστών που έχει προς πώληση (απόθεμα), ελέγχοντας ότι δίνεται θετικός αριθμός
Μονάδες 2
Γ3. Για κάθε παραγγελία, να διαβάζει την απαιτούμενη ποσότητα και, εφόσον το απόθεμα επαρκεί για την κάλυψη της ποσότητας να εκτελεί την παραγγελία με την ποσότητα που ζητήθηκε. Αν το απόθεμα δεν επαρκεί, διατίθεται στον πελάτη το διαθέσιμο απόθεμα. Η εισαγωγή παραγγελιών τερματίζεται, όταν εξαντληθεί το απόθεμα.
Μονάδες 6
Για κάθε παραγγελία να εμφανίζει:
Γ4. το κόστος της παραγγελίας
Μονάδες 4
Γ5. το επιπλέον ποσό που θα κόστιζε η παραγγελία, εάν ο υπολογισμός γινόταν κλιμακωτά με τις τιμές που φαίνονται στον πίνακα.
Μονάδες 6
ΛΥΣΗ
ΠΡΟΓΡΑΜΜΑ Θέμα_3 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Απόθεμα, Ποσότητα, Κόστος, Κόστος_Κλ, Διαφορά ΑΡΧΗ ! Γ2 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Απόθεμα ΜΕΧΡΙΣ_ΟΤΟΥ Απόθεμα > 0 ! Γ3 ΟΣΟ Απόθεμα > 0 ΕΠΑΝΑΛΑΒΕ ΔΙΑΒΑΣΕ Ποσότητα ΑΝ Ποσότητα > Απόθεμα ΤΟΤΕ Ποσότητα <-- Απόθεμα Απόθεμα <-- 0 ΑΛΛΙΩΣ Απόθεμα <-- Απόθεμα - Ποσότητα ΤΕΛΟΣ_ΑΝ ! Γ4 - Γ5 ΑΝ Ποσότητα <= 50 ΤΟΤΕ Κόστος <-- Ποσότητα * 580 Κόστος_Κλ <-- Ποσότητα * 580 ΑΛΛΙΩΣ_ΑΝ Ποσότητα <= 100 ΤΟΤΕ Κόστος <-- Ποσότητα * 520 Κόστος_Κλ <-- 50 * 580 + (Ποσότητα - 50) * 520 ΑΛΛΙΩΣ_ΑΝ Ποσότητα <= 200 ΤΟΤΕ Κόστος <-- Ποσότητα * 470 Κόστος_Κλ <-- 50 * 580 + 50 * 520 + (Ποσότητα - 100) * 470 ΑΛΛΙΩΣ Κόστος <-- Ποσότητα * 440 Κόστος_Κλ <-- 50 * 580 + 50 * 520 + 100 * 470 + (Ποσότητα - 200) * 440 ΤΕΛΟΣ_ΑΝ Διαφορά <-- Κόστος_Κλ - Κόστος ΓΡΑΨΕ 'Το κόστος είναι: ', Κόστος ΓΡΑΨΕ 'Η διαφορά της απλής χρέωσης από την κλιμακωτή είναι: ', Διαφορά ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Θέμα Δ
Το Πανελλήνιο Σχολικό Δίκτυο παρέχει πρόσβαση στο Διαδίκτυο (Ίντερνετ) σε 150.000 μαθητές και διατηρεί τα στοιχεία τους, καθώς και στατιστικά στοιχεία, σχετικά με την πρόσβασή τους στο Διαδίκτυο. Να κατασκευάσετε πρόγραμμα το οποίο:
Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
Μονάδες 2
Δ2. Για κάθε μαθητή να διαβάζει:
α) τον αλφαριθμητικό κωδικό του και να τον καταχωρίζει σε μονοδιάστατο πίνακα με όνομα ΚΩΔ
β) το φύλο του, «Α» αν είναι αγόρι και «Κ» αν είναι κορίτσι, και να το καταχωρίζει σε μονοδιάστατο πίνακα με όνομα Φ
γ) τον συνολικό χρόνο πρόσβασής του στο Διαδίκτυο ανά μήνα, για ένα έτος, και να τον καταχωρίζει σε δισδιάστατο πίνακα ΧΡ.
Μονάδες 3
Δ3. Να υπολογίζει και να καταχωρίζει σε πίνακα ΣΧ το συνολικό ετήσιο χρόνο πρόσβασης κάθε μαθητή.
Μονάδες 3
Δ4. Να εμφανίζει τον κωδικό του αγοριού με το μεγαλύτερο συνολικό χρόνο πρόσβασης και, στη συνέχεια, τον κωδικό του κοριτσιού με το μεγαλύτερο συνολικό χρόνο πρόσβασης, καλώντας τη συνάρτηση ΘΕΣΗ_ΜΑΧ, που περιγράφεται στο ερώτημα Δ5, μία φορά για τα αγόρια και μία για τα κορίτσια.
Μονάδες 4
Δ5. Να αναπτύξετε συνάρτηση ΘΕΣΗ_ΜΑΧ η οποία:
α) να δέχεται ως παραμέτρους: τον πίνακα του φύλου, τον πίνακα του συνολικού ετήσιου χρόνου πρόσβασης των μαθητών και τον χαρακτήρα «Α» ή «Κ» που αντιστοιχεί στο φύλο (μονάδες 2)
β) να βρίσκει τη θέση της μέγιστης τιμής του ετήσιου χρόνου πρόσβασης αγοριών ή κοριτσιών, ανάλογα με την τιμή «Α» ή «Κ» του φύλου (μονάδες 4)
γ) να επιστρέφει τη θέση της μέγιστης τιμής (μονάδες 2)
Μονάδες 8
(Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας. Να θεωρήσετε ότι όλες οι εισαγωγές γίνονται σωστά και όλες οι συνολικές τιμές χρόνου πρόσβασης είναι μοναδικές).
ΛΥΣΗ
ΠΡΟΓΡΑΜΜΑ Θέμα_4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, ΧΡ[150000, 12], ΣΧ[150000], ΘΕΣΗ_ΑΓΟ, ΘΕΣΗ_ΚΟΡ ΧΑΡΑΚΤΗΡΕΣ: ΚΩΔ[150000], Φ[150000] ΑΡΧΗ ! Δ2 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 150000 ΔΙΑΒΑΣΕ ΚΩΔ[i], Φ[i] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12 ΔΙΑΒΑΣΕ ΧΡ[i, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ3 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 150000 ΣΧ[i] <-- 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12 ΣΧ[i] <-- ΣΧ[i] + ΧΡ[i, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ! Δ4 ΘΕΣΗ_ΑΓΟ <-- ΘΕΣΗ_ΜΑΧ(Φ, ΣΧ, "Α") ΘΕΣΗ_ΚΟΡ <-- ΘΕΣΗ_ΜΑΧ(Φ, ΣΧ, "Κ") ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ ΘΕΣΗ_ΜΑΧ(ΦΥΛ, ΣΧΕ, φύλο): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, ΣΧΕ[150000], max, θmax ΧΑΡΑΚΤΗΡΕΣ: ΦΥΛ[150000], φύλο ΑΡΧΗ max <-- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 150000 ΑΝ ΦΥΛ[i] = φύλο ΚΑΙ ΣΧΕ[i] > max ΤΟΤΕ max <-- ΣΧ[i] θmax <-- i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΘΕΣΗ_ΜΑΧ <-- θmax ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ