A1
- Σωστό
- Λάθος
- Σωστό
- Λάθος
- Λάθος
Α2.
- Μία (απλά) συνδεδεμένη λίστα (linked list) είναι ένα σύνολο κόμβων διατεταγμένων γραμμικά (ο ένας μετά τον άλλο). Κάθε κόμβος περιέχει εκτός από τα δεδομένα του και έναν δείκτη που δείχνει προς τον επόμενο κόμβο. Ο δείκτης του τελευταίου κόμβου δε δείχνει σε κάποιον κόμβο (δείκτης στο κενό). Για να το δηλώσουμε αυτό λέμε ότι το πεδίο δείκτη του τελευταίου κόμβου έχει την τιμή NULL.
Για να προσπελάσουμε τους κόμβους της λίστας χρειάζεται να γνωρίζουμε τη διεύθυνση (θέση στη μνήμη) του πρώτου κόμβου της λίστας. Η διεύθυνση αυτή αποθηκεύεται σε μία ειδική μεταβλητή που την ονομάζουμε συνήθως Κεφαλή (Head)
Α3
Δομή Δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών.
Α4
1. γ
2. α
3. β
4. γ
5. γ
ΘΕΜΑ Β
Β1.
| Όχημα |
| κατασκευαστής:κωδικός_ενοικίασης: |
| Φρενάρει() |
| Ηλεκτρικό ποδήλατο | Μοτοσυκλέτα | Αυτοκίνητο | ||||
| αριθμός_κυκλοφορίας: | αριθμός_κυκλοφορίας: | |||||
| Φορτίζεται() Φρενάρει() | ΕφοδιάζεταιΜεΚαύσιμα()Φρενάρει() | ΕφοδιάζεταιΜεΚαύσιμα()Φρενάρει() | ||||
B2.
ΔΙΑΒΑΣΕ Χ
Ψ <– Χ ^ 2
ΓΡΑΨΕ Ψ
ΟΣΟ Χ <> 0 ΕΠΑΝΑΛΑΒΕ
ΔΙΑΒΑΣΕ Χ
Ψ <– Χ ^ 2
ΓΡΑΨΕ Ψ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Β3.
1. 3
- 2
- 99
- -2
- j
ΘΕΜΑ Γ
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: I, ΑΠΟΘ[150], ΠΛ, ΠΛ_ΠΛ, ΚΟΥΤ, ΠΡΩΤΟΣ, Κ
ΠΡΑΓΜΑΤΙΚΕΣ: ΠΟΣΟΣΤΟ
ΑΡΧΗ
ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ 150
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ΑΠΟΘ[I]
ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΟΘ[I]>0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΠΛΗΘΟΣ<–0
ΠΛ<–0
ΠΛ_ΠΛ<–0
ΔΙΑΒΑΣΕ Κ
ΟΣΟ Κ<>0 ΕΠΑΝΑΛΑΒΕ
Ι<–Κ
ΔΙΑΒΑΣΕ ΚΟΥΤΙ
ΠΛΗΘΟΣ<–ΠΛΗΘΟΣ+1
ΠΛ_ΠΛ<–ΠΛ_ΠΛ+1
ΑΝ ΑΠΟΘ[I]>=ΚΟΥΤΙ ΚΑΙ ΑΠΟΘ[I]>0 ΤΟΤΕ
ΑΠΟΘ[I]<–ΑΠΟΘ[I]-ΚΟΥΤΙ
ΠΛ<–ΠΛ+1
ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[I]>0 ΤΟΤΕ
ΑΠΟΘ[I]<–0
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ’
ΤΕΛΟΣ_ΑΝ
ΑΝ ΑΠΟΘ[I]=0 ΚΑΙ ΠΛΗΘΟΣ=1 ΤΟΤΕ
ΠΡΩΤΟΣ<–I
ΤΕΛΟΣ_ΑΝ
ΔΙΑΒΑΣΕ Κ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ΠΛΗΘΟΣ>=1 ΤΟΤΕ
ΓΡΑΨΕ ΠΡΩΤΟΣ
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘ΔΕΝ ΥΠΑΡΧΕΙ ΥΠΟΚ/ΜΑ ΠΟΥ ΕΞΑΝΤΛΗΘΗΚΕ ΤΟ ΑΠΟΘΕΜΑ’
ΤΕΛΟΣ_ΑΝ
ΠΟΣΟΣΤΟ<<–(ΠΛ/ΠΛ_ΠΛ)*100
ΓΡΑΨΕ ΠΟΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΘΕΜΑ Δ
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: I, J, ΚΑΤ[15,30], MIN_ΚΑΤ, MIN_ΗΜ, ΘΕΣΗ
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[15], ΜΟΝΤΕΛΟ, TEMP_ON
ΛΟΓΙΚΕΣ: FOUND
ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ[15], TEMP_MO
ΑΡΧΗ
! Δ1: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ, ΕΙΣΟΔΟΣ ΟΝΟΜΑΤΩΝ ΚΑΙ ΚΑΤΑΝΑΛΩΣΗΣ
ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ 15
ΔΙΑΒΑΣΕ ΟΝ[I]
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 30
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ΚΑΤ[I, J]
ΜΕΧΡΙΣ_ΟΤΟΥ ΚΑΤ[I, J] > 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Δ2: ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΗΣ ΓΙΑ ΥΠΟΛΟΓΙΣΜΟ ΜΕΣΗΣ ΚΑΤΑΝΑΛΩΣΗΣ
ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ 15
ΜΟ[I] <– ΜΕΣΟΣ(ΚΑΤ, I)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Δ3: ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ ΚΑΙ ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΗΣ (ΜΟΝΑΔΙΚΗΣ) ΗΜΕΡΑΣ
ΔΙΑΒΑΣΕ ΜΟΝΤΕΛΟ
FOUND <– ΨΕΥΔΗΣ
ΘΕΣΗ <– 0
I <– 1
ΟΣΟ I <= 15 ΚΑΙ FOUND = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
ΑΝ ΟΝ[I] = ΜΟΝΤΕΛΟ ΤΟΤΕ
ΒΡΕΘΗΚΕ <– ΑΛΗΘΗΣ
ΘΕΣΗ <– I
ΑΛΛΙΩΣ
I <– I + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ FOUND = ΑΛΗΘΗΣ ΤΟΤΕ
MIN_ΚΑΤ <– ΚΑΤ[ΘΕΣΗ, 1]
MIN_ΗΜ <– 1
ΓΙΑ J ΑΠΟ 2 ΜΕΧΡΙ 30
ΑΝ ΚΑΤ[ΘΕΣΗ, J] < MIN_ΚΑΤ ΤΟΤΕ
MIN_ΚΑΤ <– ΚΑΤ[ΘΕΣΗ, J]
MIN_ΗΜ <– J
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ “ΗΜΕΡΑ ΧΑΜΗΛΟΤΕΡΗΣ ΚΑΤΑΝΑΛΩΣΗΣ ΡΕΥΜΑΤΟΣ:”, MIN_ΗΜ
ΑΛΛΙΩΣ
ΓΡΑΨΕ “ΤΟ ΜΟΝΤΕΛΟ ΤΝ ΔΕΝ ΥΠΑΡΧΕΙ”
ΤΕΛΟΣ_ΑΝ
! Δ4: ΤΑΞΙΝΟΜΗΣΗ ΦΥΣΑΛΙΔΑΣ ΣΕ ΦΘΙΝΟΥΣΑ ΣΕΙΡΑ ΒΑΣΕΙ ΤΟΥ ΜΟ
ΓΙΑ I ΑΠΟ 2 ΜΕΧΡΙ 15
ΓΙΑ J ΑΠΟ 15 ΜΕΧΡΙ I ΜΕ_ΒΗΜΑ -1
ΑΝ ΜΟ[J] > ΜΟ[J-1] ΤΟΤΕ
TEMP_MO <– ΜΟ[J-1]
ΜΟ[J-1] <– ΜΟ[J]
ΜΟ[J] <– TEMP_MO
TEMP_ON <– ΟΝ[J-1]
ΟΝ[J-1] <– ΟΝ[J]
ΟΝ[J] <– TEMP_ON
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! ΕΜΦΑΝΙΣΗ ΤΑΞΙΝΟΜΗΜΕΝΩΝ ΟΝΟΜΑΤΩΝ
ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ 15
ΓΡΑΨΕ ΟΝ[I]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! Δ5: ΣΥΝΑΡΤΗΣΗ ΥΠΟΛΟΓΙΣΜΟΥ ΤΟΥ ΜΕΣΟΥ ΟΡΟΥ
ΣΥΝΑΡΤΗΣΗ ΜΕΣΟΣ(ΚΑΤ, ΓΡΑΜΜΗ): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΚΑΤ[15,30], ΓΡΑΜΜΗ, J, ΑΘΡ
ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ
ΑΡΧΗ
ΑΘΡ<– 0
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 30
ΑΘΡ <– ΑΘΡ + ΚΑΤ[ΓΡΑΜΜΗ, J]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ <– ΑΘΡ / 30
ΜΕΣΟΣ<–ΜΟ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Επιμέλεια Απαντήσεων
Μακρή Σταυρούλα
Πληροφορικός Εφαρμογών