ΑΡΧΗ 1 ΗΣ ΣΕΛΙΔΑΣ Γ ΛΥΚΕΙΟΥ ΦΡΟΝΤΙΣΤΗΡΙΑ ΘΕΩΡΙΑ ΚΑΙ ΠΡΑΞΗ ΔΙΑΓΩΝΙΣΜΑ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α Α1. Δίνεται ο παρακάτω αλγόριθμος: Αλγόριθμος Τι_κάνει Για Χ από 1 μέχρι 25 Αρχή_επανάληψης Διάβασε Β1,Β2 Μέχρις_ότου Β1>=0 και Β2>=0 Αν Β1>Β2 τότε Μ Β1 Αλλιώς Μ Β2 Εμφάνισε Μ Σ (Β1+Β2)/2 Εμφάνισε Σ Τέλος Τι_κάνει Να εξηγήσετε τι υπολογίζει ο παραπάνω αλγόριθμος. Α2. Δίνεται η παρακάτω συνάρτηση: ΣΥΝΑΡΤΗΣΗ Μ(Χ,Υ):ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Χ,Υ ΑΡΧΗ ΑΝ Χ > Υ ΤΟΤΕ Μ (Χ+Υ)*2 ΑΛΛΙΩΣ ΤΕΛΟΣ 1 ΗΣ ΣΕΛΙΔΑΣ -
ΑΡΧΗ 2 ΗΣ ΣΕΛΙΔΑΣ Γ ΛΥΚΕΙΟΥ Μ (Χ+Υ)/2 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Μετατρέψτε τη συνάρτηση σε αντίστοιχη διαδικασία. Α3. Δίνεται το παρακάτω τμήμα αλγορίθμου: Αν Χ>10 τότε Α Ψευδής Αλλιώς Α Αληθής Να συμπληρώσετε την παρακάτω εντολή εκχώρησης, ώστε να έχει το ίδιο αποτέλεσμα με το παραπάνω τμήμα αλγορίθμου. Α.. ΤΕΛΟΣ 2 ΗΣ ΣΕΛΙΔΑΣ - ( Μονάδες 5) Α4.Το παρακάτω πρόγραμμα έχει γραφεί με σκοπό να υπολογίζει και να εμφανίζει το μέσο όρο 20 αριθμών, καθώς και το πλήθος των άρτιων αριθμών που θα δοθούν. 1. ΠΡΟΓΡΑΜΜΑ Λάθη 2. ΜΕΤΑΒΛΗΤΕΣ 3. ΑΚΕΡΑΙΕΣ=Αρ, i, sum,πλ,μο 4. ΑΡΧΗ_ΠΡΟΓΡΑΜΜΑΤΟΣ 5. sum 0 6. i 1 7. πλ 1 8. ΟΣΟ i<=10 ΚΑΝΕ 9. ΔΙΑΒΑΣΕ Αρ 10. sum sum+αρ 11. ΑΝ Αρ mod 2<>0 ΤΟΤΕ 12. πλ πλ+1 13. ΤΕΛΟΣ_ΑΝ
ΑΡΧΗ 3 ΗΣ ΣΕΛΙΔΑΣ Γ ΛΥΚΕΙΟΥ 14. i i+1 15. ΤΕΛΟΣ ΕΠΑΝΑΛΗΨΗΣ 16. ΜΟ 20/ sum 17. ΓΡΑΨΕ sum,πλ 18. ΤΕΛΟΣ 1. Γράψτε τον αριθμό κάθε λανθασμένης εντολής (1-18) και δίπλα το λάθος και το είδος του λάθους. 2. Γράψτε το πρόγραμμα με τις σωστές εντολές έτσι ώστε να αποφέρει τα αποτελέσματα που ζητάει η εκφώνηση. Α5.Συμπληρώστε τα κενά που λείπουν έτσι ώστε ο παρακάτω αλγόριθμος να υλοποιεί τη διαδικασία της «έξυπνης» φυσαλίδας(δηλ. να σταματά η ταξινόμηση όταν διαπιστωθεί ότι τα στοιχεία του πίνακα είναι ήδη ταξινομημένα). Αλγόριθμος Έξυπνη_φυσαλίδα Δεδομένα //Α,Ν// i αντιμεταθέσεις_έγιναν. Όσο i<=. και αντιμεταθέσεις_έγιναν = Αληθές επανάλαβε αντιμεταθέσεις_έγιναν.. Για j από Ν μέχρι με_βήμα 1 Αν Α[..]>Α[j] τότε αντιμεταθέσεις_έγιναν Αληθές temp A[.] A[.] A[j] A[j] temp i i+. Αποτελέσματα // Α // Τέλος Έξυπνη_φυσαλίδα ΤΕΛΟΣ 3 ΗΣ ΣΕΛΙΔΑΣ -
ΑΡΧΗ 4 ΗΣ ΣΕΛΙΔΑΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ Β Β1.Δίνεται το παρακάτω πρόγραμμα και ένα υποπρόγραμμα: ΠΡΟΓΡΑΜΜΑ Θέμα_Β ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:α,β ΑΡΧΗ α 6 β 2 ΟΣΟ α<=24 ΕΠΑΝΑΛΑΒΕ ΚΑΛΕΣΕ Δ(α,β) α α+β ΓΡΑΨΕ α,β ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Δ(x,y) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:x,y ΑΡΧΗ x x+4 y y+2 ΓΡΑΨΕ x,y ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος με τη σειρά που θα εμφανιστούν. Β2.Δίνεται το παρακάτω τμήμα αλγορίθμου: Για κ από 1 μέχρι 20 με_βήμα 2 Διάβασε Χ,Υ Αν Χ>Υ τότε Μ Χ-Υ Αλλιώς Μ Υ-Χ Εμφάνισε Μ Να γίνει το αντίστοιχο διάγραμμα ροής. ΤΕΛΟΣ 4 ΗΣ ΣΕΛΙΔΑΣ -
ΑΡΧΗ 5 ΗΣ ΣΕΛΙΔΑΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ Γ Ένας εκδοτικός οίκος στα πλαίσια της αξιολόγησης των πωλήσεών του την χρονιά που πέρασε, καταγράφει για κάθε ένα από τα 1000 βιβλία που πούλησε, το όνομα του συγγραφέα και τις αντίστοιχες πωλήσεις του βιβλίου. Ο εκδοτικός οίκος μπορεί να διαθέτει προς πώληση παραπάνω από ένα βιβλίο για κάθε συγγραφέα. Να γραφεί αλγόριθμος ο οποίος : Γ1. Για κάθε ένα βιβλίο που πωλήθηκε να διαβάζει τον τίτλο, το όνομα του συγγραφέα και τα αντίτυπα που πούλησε το συγκεκριμένο βιβλίο. Τα στοιχεία να καταχωρηθούν σε αντίστοιχους πίνακες ΤΙΤΛΟΙ, ΣΥΓΓΡΑΦΕΑΣ, ΑΝΤΙΤΥΠΑ. Δεν απαιτείται έλεγχος εισόδου των δεδομένων. ( Μονάδες 2 ) Γ2. Να δημιουργεί τον ΔΙΑΦ_ΣΥΓ, ο οποίος θα περιέχει τα διαφορετικά ονόματα που υπάρχουν στον πίνακα ΣΥΓΓΡΑΦΕΑΣ. Γ3. Να εμφανίζει το όνομα του συγγραφέα ο οποίος πούλησε τα περισσότερα αντίτυπα συνολικά (δηλ. από το σύνολο των διαφορετικών βιβλίων κάθε συγγραφέα). ( Μονάδες 3) Γ4. Να διαβάζει το όνομα ενός συγγραφέα και να εμφανίζει τους τίτλους των βιβλίων που έχει γράψει. Σε περίπτωση που δεν βρεθεί το συγκεκριμένο όνομα να εμφανίζει κατάλληλο μήνυμα. Γ5. Να εμφανίζει τον συγγραφέα με τους περισσότερους τίτλους βιβλίων, ο οποίος όμως δεν είναι στους 5 πρώτους με τις μεγαλύτερες συνολικές πωλήσεις. ΤΕΛΟΣ 5 ΗΣ ΣΕΛΙΔΑΣ -
ΑΡΧΗ 6 ΗΣ ΣΕΛΙΔΑΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ Δ Σε ένα ιατρείο για καλύτερη οργάνωση καταγράφονται τα ραντεβού σε εβδομαδιαία βάση. Ο γιατρός δέχεται ραντεβού καθημερινά από Δευτέρα έως Παρασκευή, από 9-12π.μ. και από 6-8μ.μ. Για την καλύτερη εξυπηρέτηση των ασθενών τα ραντεβού κλείνονται ανά μία ώρα. Να γραφεί ΠΡΟΓΡΑΜΜΑ το οποίο : Δ1. Να δημιουργεί τον πίνακα ΡΑΝΤΕΒΟΥ[5,7],όπου η κάθε γραμμή αντιστοιχεί σε μία μέρα(δηλ. 1 η γραμμή Δευτέρα, 2 η γραμμή-τρίτη κ.τ.λ.) ενώ η κάθε στήλη σε μία ώρα(δηλ. 1 η στήλη -9, 2 η στήλη- 10 κ.τ.λ.). Ο πίνακας θα περιέχει την τιμή ΨΕΥΔΗΣ όταν η αντίστοιχη μέρα και ώρα είναι ελεύθερη και την τιμή ΑΛΗΘΗΣ όταν δεν είναι ελεύθερη. ( Μονάδες 3 ) Δ2. Για κάθε ασθενή θα δέχεται την ημέρα και την ώρα που επιθυμεί. Το πρόγραμμα θα ελέγχει αν είναι διαθέσιμη η ώρα και σε αυτή την περίπτωση θα εμφανίζει μήνυμα «Το ραντεβού κλείστηκε». Σε αντίθετη περίπτωση θα καλεί υποπρόγραμμα το οποίο θα εμφανίζει τις πιθανές επιλογές που έχει ο ασθενής. Το πρόγραμμα θα ζητά εκ νέου να επιλέξει μέρα και ώρα. Το πρόγραμμα θα τερματίζει όταν κλειστούν όλα τα ραντεβού ή όταν δοθεί σαν επιλογή η λέξη «ΤΕΛΟΣ». ( Μονάδες 7 ) Δ3. Σε περίπτωση που δεν έχουν κλειστεί όλα τα ραντεβού να καλεί υποπρόγραμμα το οποίο θα εμφανίζει τις μέρες και τις ώρες που έμειναν κενές. ( Μονάδες 4 ) Δ4. Να γραφεί κατάλληλο υποπρόγραμμα για τα ερωτήματα Δ2 και Δ3. ( Μονάδες 6 ) Καλή επιτυχία! ΤΕΛΟΣ 6 ΗΣ ΣΕΛΙΔΑΣ -