Θεμα Α.1 1. Σωστό - Η έκφραση όντως δεν είναι επιτρεπτή γιατί δεν μπορούμε να συγκρίνουμε λογικές τιμές με το >. 2. Λάθος - Είναι το αντίθετο. Αλγόριθμος λέγεται η διαδικασία που τελειώνει μετά από πεπερασμένα βήματα. Η υπολογιστική διαδικασία μπορεί να μην τελειώνει. 3. Σωστό - Ο τμηματικός προγραμματισμός είναι η υλοποίηση της ιεραρχικής σχεδίασης. 4. Λάθος - Οι εκφράσεις διαμορφώνονται από τελεστέους (σταθερές και μεταβλητές) και τελεστές. 5. Λάθος - Οι μεταβλητές μπορούν να αλλάζουν τιμή αλλά όχι τύπο κατά την εκτέλεση του προγράμματος. 6. Λάθος - Η ιεραρχική σχεδίαση βασίζεται στη διαίρεση (αποσύνθεση) του προβλήματος σε υποπροβλήματα. 7. Λάθος - Η καθοριστικότητα σημαίνει ότι κάθε εντολή πρέπει να καθορίζεται χωρίς αμφιβολία. Η αποτελεσματικότητα είναι αυτή που απαιτεί κάθε εντολή να είναι απλή και εκτελέσιμη. 8. Λάθος - Δεν μπορούμε να εκχωρήσουμε πραγματικό αριθμό σε ακέραια μεταβλητή. 9. Σωστό - Ο διερμηνευτής διαβάζει και εκτελεί τις εντολές μία προς μία. 10. Λάθος - Τα συντακτικά λάθη ανιχνεύονται κατά τη μεταγλώττιση του προγράμματος, όχι κατά την εκτέλεση. _______________________________________________________________ Θεμα Α.2 α) x ← ((x + 7) * 3 - 15) / 5 β) b ← ((b - 4) ^ 3 + 20) * (-2) _______________________________________________________________ Θεμα Α.3 α. Εκχώρησε στο Μ τον μέσο όρο των Α, Β, Γ: Μ <- (Α + Β + Γ) / 3 β. Αύξησε την τιμή του Μ κατά 2: Μ <- Μ + 2 γ. Διπλασίασε την τιμή του Μ: Μ <- Μ * 2 δ. Μείωσε την τιμή του Μ κατά το ήμισυ του Μ: Μ <- Μ - (Μ / 2) ή εναλλακτικά: Μ <- Μ / 2 ε. Εκχώρησε στο Α το υπόλοιπο της ακέραιας διαίρεσης του Α με το Β: Α <- Α MOD Β _______________________________________________________________ Θέμα Β.1 Σε ένα σούπερ μάρκετ, κάθε κιβώτιο μπορεί να χωρέσει 30 μπουκάλια νερού. Να γραφεί τμήμα αλγορίθμου, που να διαβάζει τον συνολικό αριθμό μπουκαλιών και να υπολογίζει πόσα κιβώτια χρειάζονται. ΠΡΟΓΡΑΜΜΑ Θέμα_Β_1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: συνολικά_μπουκάλια, κιβώτια ΤΕΛΟΣ_ΜΕΤΑΒΛΗΤΩΝ ΑΡΧΗ ΓΡΑΨΕ 'Δώσε τον συνολικό αριθμό μπουκαλιών:' ΔΙΑΒΑΣΕ συνολικά_μπουκάλια ΑΝ συνολικά_μπουκάλια MOD 30 = 0 ΤΟΤΕ κιβώτια <- συνολικά_μπουκάλια DIV 30 ΑΛΛΙΩΣ κιβώτια <- συνολικά_μπουκάλια DIV 30 + 1 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ 'Χρειάζονται ', κιβώτια, ' κιβώτια.' ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΥπολογισμόςΚιβωτίων _______________________________________________________________ Θέμα Β.2 Να γραφεί τμήμα αλγορίθμου, που να διαβάζει τα συνολικά κιλά αλευριού και να υπολογίζει πόσες σακούλες των 25 κιλών, πόσες σακούλες των 10 κιλών και πόσες σακούλες του 1 κιλού χρειάζονται. ΑΛΓΟΡΙΘΜΟΣ Θέμα_Β_2 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: κιλά, σακούλες25, σακούλες10, σακούλες1 ΑΡΧΗ ΓΡΑΨΕ 'Δώσε τα συνολικά κιλά αλευριού:' ΔΙΑΒΑΣΕ κιλά σακούλες25 <- συνολικά_κιλά DIV 25 κιλά <- κιλά MOD 25 σακούλες10 <- υπόλοιπο DIV 10 κιλά <- κιλά MOD 10 σακούλες1 <- κιλά ΓΡΑΨΕ 'Απαιτούνται:' ΓΡΑΨΕ σακούλες25, ' σακούλες των 25 κιλών,' ΓΡΑΨΕ σακούλες10, ' σακούλες των 10 κιλών,' ΓΡΑΨΕ σακούλες1, ' σακούλες του 1 κιλού.' ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ _______________________________________________________________ Θέμα Β.3 Να γραφεί τμήμα αλγορίθμου, που να διαβάζει τους βαθμούς ενός μαθητή στις εργασίες και στις εξετάσεις και να υπολογίζει τον τελικό βαθμό, δεδομένου ότι τα ποσοστά συμμετοχής της κάθε κατηγορίας είναι 30% και 70%. ΑΛΓΟΡΙΘΜΟΣ Θέμα_Β_3 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: βαθμός_εργασιών, βαθμός_εξετάσεων, τελικός_βαθμός ΑΡΧΗ ΓΡΑΨΕ 'Δώσε τον βαθμό του μαθητή στις εργασίες:' ΔΙΑΒΑΣΕ βαθμός_εργασιών ΓΡΑΨΕ 'Δώσε τον βαθμό του μαθητή στις εξετάσεις:' ΔΙΑΒΑΣΕ βαθμός_εξετάσεων τελικός_βαθμός <- (βαθμός_εργασιών * 0.3) + (βαθμός_εξετάσεων * 0.7) ΓΡΑΨΕ 'Ο τελικός βαθμός του μαθητή είναι:', τελικός_βαθμός ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ _______________________________________________________________ Θέμα Β.4 Να γραφεί τμήμα αλγορίθμου, που να διαβάζει την κατώτερη και την ανώτερη θερμοκρασία μιας ημέρας και να υπολογίζει το ποσοστό ανόδου της θερμοκρασίας. ΑΛΓΟΡΙΘΜΟΣ Θέμα_Β_4 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: κατώτερη_θερμοκρασία, ανώτερη_θερμοκρασία, ποσοστό_ανόδου ΑΡΧΗ ΓΡΑΨΕ 'Δώσε την κατώτερη θερμοκρασία της ημέρας:' ΔΙΑΒΑΣΕ κατώτερη_θερμοκρασία ΓΡΑΨΕ 'Δώσε την ανώτερη θερμοκρασία της ημέρας:' ΔΙΑΒΑΣΕ ανώτερη_θερμοκρασία ΑΝ κατώτερη_θερμοκρασία <> 0 ΤΟΤΕ ποσοστό_ανόδου <- ((ανώτερη_θερμοκρασία - κατώτερη_θερμοκρασία) / κατώτερη_θερμοκρασία) * 100 ΓΡΑΨΕ 'Το ποσοστό ανόδου της θερμοκρασίας είναι:', ποσοστό_ανόδου, '%' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Η κατώτερη θερμοκρασία δεν μπορεί να είναι 0 για τον υπολογισμό του ποσοστού.' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ _______________________________________________________________ Θέμα Β.5 Να γραφεί πρόγραμμα, που ζητά από τον χρήστη να εισάγει δύο αριθμούς, α και β. Το πρόγραμμα θα πρέπει να ελέγχει αν ο αριθμός α είναι διπλάσιος του αριθμού β και αν ο αριθμός β είναι άρτιος. Αν ισχύουν και οι δύο συνθήκες, να εμφανίζεται το μήνυμα "Ο αριθμός α είναι διπλάσιος του αριθμού β και ο αριθμός β είναι άρτιος". Διαφορετικά, να εμφανίζεται το αντίστοιχο μήνυμα που αναφέρει ποια συνθήκη δεν ικανοποιείται. ΠΡΟΓΡΑΜΜΑ Θέμα_Β_5 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β ΑΡΧΗ ΓΡΑΨΕ 'Δώσε δύο αριθμούς α και β:' ΔΙΑΒΑΣΕ α, β ΑΝ (α = 2 * β) ΚΑΙ (β MOD 2 = 0) ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός α είναι διπλάσιος του αριθμού β και ο αριθμός β είναι άρτιος.' ΑΛΛΙΩΣ_ΑΝ (α <> 2 * β) ΚΑΙ (β MOD 2 <> 0) ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός α δεν είναι διπλάσιος του αριθμού β και ο αριθμός β δεν είναι άρτιος.' ΑΛΛΙΩΣ_ΑΝ (α <> 2 * β) ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός α δεν είναι διπλάσιος του αριθμού β.' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ο αριθμός β δεν είναι άρτιος.' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ _______________________________________________________________ Θέμα Γ.1 Υπολογισμός max μετατρέποντας την πολλάπλη ΑΝ σε απλές ΑΝ. ΑΛΓΟΡΙΘΜΟΣ Θέμα_Γ_1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β, γ, δ, max ΑΡΧΗ ΓΡΑΨΕ 'Δώσε τέσσερις αριθμούς:' ΔΙΑΒΑΣΕ α, β, γ, δ max <- α ΑΝ β > max ΤΟΤΕ max <- β ΤΕΛΟΣ_ΑΝ ΑΝ γ > max ΤΟΤΕ max <- γ ΤΕΛΟΣ_ΑΝ ΑΝ δ > max ΤΟΤΕ max <- δ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ 'Ο μεγαλύτερος αριθμός είναι:', max ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ _______________________________________________________________ Θέμα Γ.2 ΨΕΥΔΗΣ, ΑΛΗΘΗΣ, 0 _______________________________________________________________ Θέμα Δ.1 ΠΡΟΓΡΑΜΜΑ Θεμα_Δ_1 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: εισόδημα, φόρος ΑΡΧΗ ΓΡΑΨΕ 'Δώσε το συνολικό εισόδημα:' ΔΙΑΒΑΣΕ εισόδημα φόρος <- 0 ΑΝ εισόδημα <= 10000 ΤΟΤΕ φόρος <- εισόδημα * 0.10 ΑΛΛΙΩΣ_ΑΝ εισόδημα <= 30000 ΤΟΤΕ φόρος <- 10000 * 0.10 + (εισόδημα - 10000) * 0.15 ΑΛΛΙΩΣ_ΑΝ εισόδημα <= 60000 ΤΟΤΕ φόρος <- 10000 * 0.10 + 20000 * 0.15 + (εισόδημα - 30000) * 0.20 ΑΛΛΙΩΣ φόρος <- 10000 * 0.10 + 20000 * 0.15 + 30000 * 0.20 + (εισόδημα - 60000) * 0.25 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ 'Ο συνολικός φόρος που πρέπει να καταβληθεί είναι:', φόρος ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ _______________________________________________________________ Θέμα Δ.2 ΑΛΓΟΡΙΘΜΟΣ ΧρέωσηΔεδομένων ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: δεδομένα_GB, χρέωση ΑΡΧΗ ΓΡΑΨΕ 'Δώσε τον όγκο δεδομένων που κατανάλωσε ο πελάτης σε GB:' ΔΙΑΒΑΣΕ δεδομένα_GB χρέωση <- 0 // Υπολογισμός της χρέωσης σε ευρώ ΑΝ δεδομένα_GB <= 10 ΤΟΤΕ χρέωση <- δεδομένα_GB * 3.50 ΑΛΛΙΩΣ_ΑΝ δεδομένα_GB <= 50 ΤΟΤΕ χρέωση <- 10 * 3.50 + (δεδομένα_GB - 10) * 2.00 ΑΛΛΙΩΣ χρέωση <- 10 * 3.50 + 40 * 2.00 + (δεδομένα_GB - 50) * 1.50 ΤΕΛΟΣ_ΑΝ // Προσθήκη παγίου τέλους των 5 ευρώ χρέωση <- χρέωση + 5 // Έλεγχος για έκπτωση 10% αν η χρέωση είναι πάνω από 100 ευρώ ΑΝ τελική_χρέωση > 100 ΤΟΤΕ χρέωση <- χρέωση * 0.90 ΤΕΛΟΣ_ΑΝ // Εμφάνιση της τελικής χρέωσης σε ευρώ ΓΡΑΨΕ 'Η συνολική χρέωση που πρέπει να καταβάλει ο πελάτης είναι:', χρέωση, ' ευρώ.' ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ