ΘΕΜΑ 1ο Θέµατα προς Λύση Προγράµµατα οµές επανάληψης και επιλογής Ένας συλλέκτης γραµµατοσήµων επισκέπτεται στο διαδίκτυο το αγαπηµένο του ηλεκτρονικό κατάστηµα φιλοτελισµού προκειµένου να αγοράσει γραµµατόσηµα. Προτίθεται να ξοδέψει µέχρι 1500 ευρώ. Να γραφεί πρόγραµµα σε ΓΛΩΣΣΑ το οποίο: α. Για κάθε γραµµατόσηµο, να διαβάζει την τιµή και την προέλευσή του (ελληνικό/ξένο) και να επιτρέπει την αγορά του, εφόσον η τιµή του δεν υπερβαίνει το διαθέσιµο υπόλοιπο χρηµάτων. ιαφορετικά (δηλαδή αν υπερβαίνει το διαθέσιµο χρηµάτων) να τερµατίζει τυπώνοντας το µήνυµα «ΤΕΛΟΣ ΑΓΟΡΩΝ». Μονάδες 10 β. Να τυπώνει: 1. Το συνολικό ποσό που ξόδεψε ο συλλέκτης. 2. Το πλήθος των ελληνικών και το πλήθος των ξένων γραµµατοσήµων που αγόρασε. Μονάδες 2 Μονάδες 4 3. Το ποσό που περίσσεψε, εφόσον υπάρχει, διαφορετικά το µήνυµα «ΕΞΑΝΤΛΗΘΗΚΕ ΟΛΟ ΤΟ ΠΟΣΟ». Σηµείωση: εν απαιτείται έλεγχος εγκυρότητας για τα δεδοµένα εισόδου. Μονάδες 4 ΘΕΜΑ 2ο Σε ένα διαγωνισµό της µαθηµατικής εταιρείας εξετάζονται 150 υποψήφιοι. Ως εξεταστικό κέντρο χρησιµοποιείται ένα κτίριο µε αίθουσες διαφορετικής χωρητικότητας. Ο αριθµός των επιτηρητών που απαιτούνται ανά αίθουσα καθορίζεται αποκλειστικά µε βάση τη χωρητικότητα της αίθουσας ως εξής: ΧΩΡΗΤΙΚΟΤΗΤΑ ΑΡΙΘΜΟΣ ΕΠΙΤΗΡΗΤΩΝ Μέχρι και 15 θέσεις 1 Από 16 µέχρι και 23 θέσεις 2 Πάνω από 23 θέσεις 3 Να γραφεί πρόγραµµα σε ΓΛΩΣΣΑ το οποίο: α. για κάθε αίθουσα θα διαβάζει τη χωρητικότητά της, θα υπολογίζει και θα εµφανίζει τον αριθµό των επιτηρητών που χρειάζονται. Μονάδες 12 β. θα σταµατάει όταν εξασφαλισθεί ο απαιτούµενος συνολικός αριθµός θέσεων. Μονάδες 8 Σηµείωση: Να θεωρήσετε ότι η συνολική χωρητικότητα των αιθουσών του κτιρίου επαρκεί για τον αριθµό των υποψηφίων. Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 1 / 7
Λύση Θέµα 1ο: (α) σε ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑ ΓΡΑΜΜΑΤΟΣΗΜΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ΕΛΛΗΝΙΚΑ, ΞΕΝΑ ΠΡΑΓΜΑΤΙΚΕΣ: ΣΥΝΟΛΟ, ΤΙΜΗ ΧΑΡΑΚΤΗΡΕΣ: ΠΡΟΕΛΕΥΣΗ ΛΟΓΙΚΕΣ: ΕΞΑΝΤΛΗΘΗΚΕ ΑΡΧΗ ΣΥΝΟΛΟ <-- 1500 ΕΛΛΗΝΙΚΑ <-- 0 ΞΕΝΑ <-- 0 ΕΞΑΝΤΛΗΘΗΚΕ <-- ΨΕΥ ΗΣ ΓΡΑΨΕ ' ΩΣΕ ΤΙΜΗ ΚΑΙ ΠΡΟΕΛΕΥΣΗ ΓΡΑΜΜΑΤΟΣΗΜΟΥ: ' ΙΑΒΑΣΕ ΤΙΜΗ, ΠΡΟΕΛΕΥΣΗ ΟΣΟ ΣΥΝΟΛΟ-ΤΙΜΗ>=0 ΕΠΑΝΑΛΑΒΕ ΣΥΝΟΛΟ <-- ΣΥΝΟΛΟ-ΤΙΜΗ ΑΝ ΠΡΟΕΛΕΥΣΗ='Ε' ΤΟΤΕ ΕΛΛΗΝΙΚΑ <-- ΕΛΛΗΝΙΚΑ+1 ΑΛΛΙΩΣ ΞΕΝΑ <-- ΞΕΝΑ+1 ΑΝ ΣΥΝΟΛΟ<>0 ΤΟΤΕ ΙΑΒΑΣΕ ΤΙΜΗ, ΠΡΟΕΛΕΥΣΗ ΑΛΛΙΩΣ ΕΞΑΝΤΛΗΘΗΚΕ <-- ΑΛΗΘΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'ΤΕΛΟΣ ΑΓΟΡΩΝ' ΓΡΑΨΕ 'ΠΛΗΘΟΣ ΕΛΛΗΝΙΚΩΝ: ', ΕΛΛΗΝΙΚΑ ΓΡΑΨΕ 'ΠΛΗΘΟΣ ΞΕΝΩΝ: ', ΞΕΝΑ ΑΝ ΣΥΝΟΛΟ=0 ΤΟΤΕ ΓΡΑΨΕ 'ΕΞΑΝΤΛΗΘΗΚΕ ΟΛΟ ΤΟ ΠΟΣΟ' ΑΛΛΙΩΣ ΓΡΑΨΕ 'ΠΕΡΙΣΕΥΜΑ: ', ΣΥΝΟΛΟ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ (β) αναπαράσταση αλγορίθµου σε διάγραµµα ροής Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 2 / 7
Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 3 / 7
(γ) εκτέλεση προγράµµατος πίνακας τιµών µεταβλητών Εκτέλεση του προγράµµατος δίνοντας σαν είσοδο τις παρακάτω τιµές: ΤΙΜΗ ΠΡΟΕΛΕΥΣΗ Γραµµατόσηµο 1 458 Ε Γραµµατόσηµο 2 142 Ξ Γραµµατόσηµο 3 600 Ξ Γραµµατόσηµο 4 300 Ε Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 4 / 7
Λύση Θέµα 2ο: (α) σε ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑ ΑΙΘΟΥΣΕΣ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ΧΩΡΗΤΙΚΟΤΗΤΑ, ΠΛΗΘΟΣ, ΕΠΙΤΗΡΗΤΕΣ ΑΡΧΗ ΠΛΗΘΟΣ <-- 150 ΕΠΙΤΗΡΗΤΕΣ <-- 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ' ΩΣΕ ΤΗ ΧΩΡΗΤΙΚΟΤΗΤΑ ΤΗΣ ΑΙΘΟΥΣΑΣ: ' ΙΑΒΑΣΕ ΧΩΡΗΤΙΚΟΤΗΤΑ ΠΛΗΘΟΣ <-- ΠΛΗΘΟΣ-ΧΩΡΗΤΙΚΟΤΗΤΑ ΑΝ ΧΩΡΗΤΙΚΟΤΗΤΑ>0 ΚΑΙ ΧΩΡΗΤΙΚΟΤΗΤΑ<=15 ΤΟΤΕ ΕΠΙΤΗΡΗΤΕΣ <-- ΕΠΙΤΗΡΗΤΕΣ+1 ΑΛΛΙΩΣ_ΑΝ ΧΩΡΗΤΙΚΟΤΗΤΑ>=16 ΚΑΙ ΧΩΡΗΤΙΚΟΤΗΤΑ<=23 ΤΟΤΕ ΕΠΙΤΗΡΗΤΕΣ <-- ΕΠΙΤΗΡΗΤΕΣ+2 ΑΛΛΙΩΣ_ΑΝ ΧΩΡΗΤΙΚΟΤΗΤΑ>23 ΤΟΤΕ ΕΠΙΤΗΡΗΤΕΣ <-- ΕΠΙΤΗΡΗΤΕΣ+3 ΜΕΧΡΙΣ_ΟΤΟΥ ΠΛΗΘΟΣ=0 ΓΡΑΨΕ 'ΟΙ ΕΠΙΤΗΡΗΤΕΣ ΠΟΥ ΑΠΑΙΤΟΥΝΤΑΙ ΕΙΝΑΙ: ', ΕΠΙΤΗΡΗΤΕΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ (β) αναπαράσταση αλγορίθµου σε διάγραµµα ροής Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 5 / 7
Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 6 / 7
(γ) εκτέλεση προγράµµατος πίνακας τιµών µεταβλητών Εκτέλεση του προγράµµατος δίνοντας σαν είσοδο τις παρακάτω τιµές: ΧΩΡΗΤΙΚΟΤΗΤΑ Αίθουσα 1 42 Αίθουσα 2 12 Αίθουσα 3 78 Αίθουσα 4 8 Αίθουσα 5 10 Σφυράκης Μιχάλης, Καθηγητής Πληροφορικής Σελίδα 7 / 7