ΔΙΑΓΩΝΙΣΜΑ ΒΑΘΜΟΣ: /100 στο μάθημα κατεύθυνσης Γ τάξης ενιαίου Λυκείου: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον [εξεταστέα ύλη: Βασικές Έννοιες Αλγορίθμων, Δομή Ακολουθίας, Δομή Επιλογής, Δομή Επανάληψης, Μονοδιάστατοι Πίνακες, Εισαγωγή στον Προγραμματισμό] Ονοματεπώνυμο: ΘΕΜΑ Α (χρονική διάρκεια: 10.800sec) Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και, δίπλα, τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν η πρόταση είναι λανθασμένη. 1. Η λογική έκφραση (Α > Β) Ή ΟΧΙ(Α > Β) είναι πάντα αληθής για οποιεσδήποτε τιμές των αριθμητικών μεταβλητών Α και Β. 2. Στη ΓΛΩΣΣΑ ο χαρακτήρας είναι ένας τύπος δεδομένων. 3. Η επεξεργασία των πινάκων δεν μπορεί να γίνει με την εντολή μέχρις_ότου. 4. Έστω ο πίνακας ακεραίων Α[10]. Η εντολή Σ Α[10] εκχωρεί στη μεταβλητή Σ το άθροισμα όλων των στοιχείων του πίνακα Α. 5. Στην εντολή μέχρις_ότου, μπορεί να μην έχουμε καμία επανάληψη. Α2. Δίνεται η εντολή εκχώρησης: Ε ((Αmod5 > 2) ΚΑΙ (C <> Αληθής )) Ή ((D = ψευδής) ΚΑΙ (Β > Α/3)) Θεωρώντας ότι οι αριθμητικές μεταβλητές που περιέχονται σε αυτήν παίρνουν θετικές τιμές, να γράψετε στο τετράδιό σας το όνομα κάθε μεταβλητής της εντολής και, δίπλα, τον τύπο που πρέπει να έχει, ώστε η εντολή να είναι συντακτικά σωστή. Α3. Να αναφέρετε τις βασικές διαφορές μεταξύ στατικών και δυναμικών δομών δεδομένων. Σε ποια από τις δύο κατηγορίες ανήκουν οι πίνακες; σελίδα 1 από 9
Α4. Δίνονται οι παρακάτω πίνακες: Α Β 3 2 1 1 2 3 Να σχεδιάσετε τη νέα μορφή του πίνακα Α μετά την εκτέλεση της παρακάτω εντολής: Α[Β[Α[1]]] Β[Α[Β[1]]] Α 5. Να μεταφέρετε στο τετράδιό σας με συμπληρωμένα τα κενά τον παρακάτω πίνακα αληθείας: Λογικές Μεταβλητές Λογικές εκφράσεις Α Β ((ΟΧΙ Α) Ή Β) ΚΑΙ Β (ΟΧΙ Α) ΚΑΙ (ΟΧΙ (Β Ή Α)) Αληθής Αληθής Ψευδής Ψευδής Ψευδής Αληθής Α6. Δίνεται το παρακάτω τμήμα αλγορίθμου: Για K από A μέχρι B με_βήμα Γ Εμφάνισε K Τέλος_ επανάληψης Να γράψετε στο τετράδιό σας για καθεμία από τις παρακάτω περιπτώσεις τις τιμές των Α, Β, Γ, έτσι ώστε το αντίστοιχο τμήμα αλγορίθμου να εμφανίζει: 1. όλους τους περιττούς ακεραίους από το 100 μέχρι το 1000. 2. όλους τους ακεραίους από το -20 μέχρι και το 10 σε φθίνουσα σειρά. 3. όλα τα πολλαπλάσια του 3 από το 1 μέχρι το 80. σελίδα 2 από 9
ΘΕΜΑ Β Β1. Να γραφεί πρόγραμμα το οποίο θα αποθηκεύει σε μονοδιάστατο πίνακα 900 θέσεων, όλους τους θετικούς, τριψήφιους, ακέραιους αριθμούς. Β2. Ζητήσαμε από δύο μαθητές να γράψουν έναν αλγόριθμο ο οποίος να διαβάζει τρεις τιμές (όχι κατ ανάγκη διαφορετικές) από το πληκτρολόγιο και να εμφανίζει τη μεγαλύτερη. Παρακάτω βλέπετε τον τρόπο σκέψης καθενός μαθητή και την αντίστοιχη υλοποίηση σε ψευδογλώσσα. Ενώ οι σκέψεις είναι σωστές, οι κωδικοποιήσεις των σκέψεων είναι όλες λανθασμένες. Για κάθε ένα μαθητή, ακολουθώντας τον τρόπο σκέψης του, εξηγήστε γιατί η υλοποίησή του είναι λανθασμένη και γράψτε κάθε μία διορθωμένη. Μαθητής 1 Μαθητής 2 «Θα πάρω τρεις τιμές και θα θεωρήσω ότι η πρώτη είναι η μεγαλύτερη. Μετά, όποια από τις άλλες είναι ακόμα μεγαλύτερη, θα ονομάζω εκείνη μεγαλύτερη» Διάβασε max, β, γ Αν β > max τότε max β αλλιώς_αν γ > max τότε max γ Εμφάνισε max «Θα πάρω τρεις τιμές και θα τις συγκρίνω συνδυαστικά μεταξύ τους. Όποια δεν είναι μικρότερη από καμία άλλη, εκείνη θα ονομάζω μεγαλύτερη» Διάβασε α, β, γ Αν α > β και α > γ τότε max α αλλιώς_αν β > α και β > γ τότε max β αλλιώς max γ Εμφάνισε max σελίδα 3 από 9
ΘΕΜΑ Γ Ο κύριος Johnnys έχει δικό του κατάστημα στο εμπορικό κέντρο RedJizzX και καταγράφει σε κατάλληλο μονοδιάστατο πίνακα ΕΙΣΠΡ (δώδεκα (12) θέσεων) τις μηνιαίες εισπράξεις που πραγματοποίησε κατά το έτος 2016. Γ1. Να γράψετε πρόγραμμα, το οποίο: α. να καταχωρίζει τα στοιχεία του πίνακα αυτού, εξασφαλίζοντας ότι είναι οπωσδήποτε μη αρνητικοί αριθμοί. Μονάδες 5 β. να εμφανίζει τις συνολικές εισπράξεις ανά τρίμηνο, ξεκινώντας από την αρχή του έτους (το πρώτο τρίμηνο είναι αυτό του Ιανουαρίου-Φεβρουαρίου- Μαρτίου, δηλαδή των τριών πρώτων στοιχείων του πίνακα ΕΙΣΠΡ). Μονάδες 5 γ. να εμφανίζει τον αριθμό του τριμήνου με τις περισσότερες εισπράξεις. Μονάδες 5 Γ2. Ο κύριος Johnnys αποφάσισε να συνεταιριστεί με κάποια γνωστή του και να λειτουργούν το κατάστημα από κοινού ένα μήνα ο καθ ένας εναλλάξ. Δηλαδή τους περιττούς μήνες θα το λειτουργεί και θα εισπράττει τα έσοδά του ο ένας και τους άρτιους μήνες ο άλλος, ή αντίστροφα. Το πρόγραμμα, αξιοποιώντας τα στοιχεία της περσινής χρονιάς, θα πρέπει να ελέγχει και να εμφανίζει μήνυμα σχετικά με το αν συμφέρει τον κύριο Johnny να διατηρήσει τη λειτουργία του καταστήματος τους άρτιους ή τους περιττούς μήνες ώστε να έχει τα περισσότερα έσοδα. Μονάδες 5 σελίδα 4 από 9
ΘΕΜΑ Δ Ένας πίνακας χαρακτήρων Α[Ν] περιέχει χαρακτήρες, αλλά έναν μόνο χαρακτήρα σε κάθε θέση. Να γραφεί πρόγραμμα σε Γλώσσα που: Δ1. Να διαβάζει τον αριθμό Ν των χαρακτήρων που θα περιέχει ο πίνακας, εξασφαλίζοντας ότι θα είναι ακέραιος, η τιμή του οποίου θα κυμαίνεται (τουλάχιστον) από την τιμή τέσσερα (4) έως (το πολύ) την τιμή εκατό (100). Κατόπιν, να καταχωρίζει τους χαρακτήρες στον πίνακα Α. Δ2. Να ελέγχει αν υπάρχει μέσα στον πίνακα διπλό x, δηλαδή τουλάχιστον δύο διπλανές θέσεις με τον χαρακτήρα 'x'. Δεν μας ενδιαφέρει αν υπάρχουν περισσότερα από 2 συνεχόμενα x. Το αποτέλεσμα του ελέγχου να καταχωρείται σε μια λογική μεταβλητή διπλόx. Για παράδειγμα αν Α=[β,x,α,x,ξ,x] τότε διπλόx=ψευδής, αλλά αν Α=[x,x,α,x,x,λ] τότε διπλόx=αληθής. Ακόμη και για περισσότερα x πρέπει πάλι να παίρνουμε την ίδια τιμή, για παράδειγμα αν Α=[x,x,x] τότε διπλόx=αληθής. Μονάδες 8 Δ3. Να εμφανίζει μήνυμα για το αν είχαμε επιτυχή ή ανεπιτυχή αναζήτηση. Στην περίπτωση επιτυχούς αναζήτησης να εμφανίζει και τον αριθμό των δύο διπλανών (πρώτων θέσεων) στις οποίες βρέθηκε ο χαρακτήρας x. Στο παραπάνω παράδειγμα δηλαδή, στην περίπτωση της επιτυχούς αναζήτησης (πίνακας: Α=[x,x,α,x,x,λ], να εμφανίζει τους αριθμούς 1, 2, επειδή η πρώτη φορά που βρέθηκαν συνεχόμενοι χαρακτήρες 'x' ήταν στην πρώτη και τη δεύτερη θέση του πίνακα αντίστοιχα. Καλή επιτυχία!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Παπαγιαννούλας Νίκος, Φυσικός Παν. Αθηνών, Μ.Δ.Ε. Παν. Αθηνών, M.Sc. Ε.Μ.Π. σελίδα 5 από 9
Ενδεικτικές Απαντήσεις ΘΕΜΑ Α Α1. Α2. 1. Σωστό 2. Σωστό 3. Λάθος 4. Λάθος 5. Λάθος Α: ακέραια C: χαρακτήρας D: λογική Β: ακέραια, πραγματική Ε: λογική Α3. Βιβλίο μαθητή, σελ. 58 Α4. Α 3 2 3 Α5. Να μεταφέρετε στο τετράδιό σας με συμπληρωμένα τα κενά τον παρακάτω πίνακα αληθείας: Λογικές Μεταβλητές Λογικές εκφράσεις Α Β ((ΟΧΙ Α) Ή Β) ΚΑΙ Β (ΟΧΙ Α) ΚΑΙ (ΟΧΙ (Β Ή Α)) Αληθής Αληθής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Α6. 1. Α = 101, Β = 999, Γ = 2 2. Α = 10, Β = -20, Γ = -1 3. Α = 3, Β = 80, Γ = 3 σελίδα 6 από 9
ΘΕΜΑ Β Β1. ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Β1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι, Α[900] ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 100 ΜΕΧΡΙ 999 Α[Ι] Ι ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Β2. Μαθητής 1: Δεν συγκρίνονται όλες οι τιμές μεταξύ τους. Μαθητής 2: Δεν λαμβάνεται υπόψιν η περίπτωση κάποιες από τις τιμές να είναι ίσες. Μαθητής 1 Μαθητής 2 «Θα πάρω τρεις τιμές και θα θεωρήσω ότι η πρώτη «Θα πάρω τρεις τιμές και θα τις συγκρίνω συνδυαστικά είναι η μεγαλύτερη. Μετά, όποια από τις άλλες είναι μεταξύ τους. Όποια δεν είναι μικρότερη από καμία άλλη, ακόμα μεγαλύτερη, θα ονομάζω εκείνη μεγαλύτερη» εκείνη θα ονομάζω μεγαλύτερη» Διάβασε max, β, γ Διάβασε α, β, γ Αν β > max τότε Αν α >= β και α >= γ τότε max β max α αλλιώς_αν β >= α και β >= γ τότε Αν γ > max τότε max β max γ αλλιώς max γ Εμφάνισε max Εμφάνισε max σελίδα 7 από 9
ΘΕΜΑ Γ ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι, ΜΑΧ_ΤΡΙΜ, ΜΗΝΑΣ, Κ, ΤΡΙΜΗΝΟ ΠΡΑΓΜΑΤΙΚΕΣ: ΕΙΣΠΡ[12], ΤΡΙΜ1, ΤΡΙΜ2, ΤΡΙΜ3, ΤΡΙΜ4, ΜΑΧ, ΑΘΡ_ΑΡΤ, ΑΘΡ_ΠΕΡ, ΤΡΙΜ ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 12! ΕΡΩΤΗΜΑ Γ1-α ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΔΏΣΤΕ ΠΑΡΑΚΑΛΩ ΕΙΣΠΡΑΞΗ ΜΗΝΑ:, Ι ΔΙΑΒΑΣΕ ΕΙΣΠΡ[Ι] ΑΝ ΕΙΣΠΡ[Ι] < 0 ΤΟΤΕ ΓΡΑΨΕ ΛΑΘΟΣ, ΠΑΡΑΚΑΛΩ ΔΩΣΤΕ ΞΑΝΑ ΜΕΧΡΙΣ_ΟΤΟΥ ΕΙΣΠΡ[Ι] >= 0 ΤΡΙΜ1 ΕΙΣΠΡ[1] + ΕΙΣΠΡ[2] + ΕΙΣΠΡ[3]! ΕΡΩΤΗΜΑ Γ1-β, είσπραξη Α τριμήνου ΤΡΙΜ2 ΕΙΣΠΡ[4] + ΕΙΣΠΡ[5] + ΕΙΣΠΡ[6]!είσπραξη Β τριμήνου ΤΡΙΜ3 ΕΙΣΠΡ[7] + ΕΙΣΠΡ[8] + ΕΙΣΠΡ[9]!είσπραξη Γ τριμήνου ΤΡΙΜ4 ΕΙΣΠΡ[10] + ΕΙΣΠΡ[11] + ΕΙΣΠΡ[12]!είσπραξη Δ τριμήνου ΓΡΑΨΕ ΕΙΣΠΡΑΞΗ Α ΤΡΙΜΗΝΟΥ:, ΤΡΙΜ1 ΓΡΑΨΕ ΕΙΣΠΡΑΞΗ Β ΤΡΙΜΗΝΟΥ:, ΤΡΙΜ2 ΓΡΑΨΕ ΕΙΣΠΡΑΞΗ Γ ΤΡΙΜΗΝΟΥ:, ΤΡΙΜ3 ΓΡΑΨΕ ΕΙΣΠΡΑΞΗ Δ ΤΡΙΜΗΝΟΥ:, ΤΡΙΜ4 ΜΑΧ ΤΡΙΜ1! ΕΡΩΤΗΜΑ Γ1-γ ΜΑΧ_ΤΡΙΜ 1 ΑΝ ΤΡΙΜ2 > ΜΑΧ ΤΟΤΕ ΜΑΧ ΤΡΙΜ2 ΜΑΧ_ΤΡΙΜ 2 ΑΝ ΤΡΙΜ3 > ΜΑΧ ΤΟΤΕ ΜΑΧ ΤΡΙΜ3 ΜΑΧ_ΤΡΙΜ 3 ΑΝ ΤΡΙΜ4 > ΜΑΧ ΤΟΤΕ ΜΑΧ ΤΡΙΜ4 ΜΑΧ_ΤΡΙΜ 4 ΓΡΑΨΕ ΤΡΙΜΗΝΟ ΜΕ ΜΕΓΑΛΥΤΕΡΗ ΕΙΣΠΡΑΞΗ:, ΜΑΧ_ΤΡΙΜ, ο! ΕΝΑΛΛΑΚΤΙΚΑ, ΤΑ ΕΡΩΤΉΜΑΤΑ Γ1-β,γ ΓΙΝΟΝΤΑΙ & Ως ΕΞΗΣ: ΜΑΧ 0 ΤΡΙΜΗΝΟ 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 3! ΤΟ Ι ΕΙΝΑΙ ΤΑ ΤΡΙΜΗΝΑ ΤΡΙΜΗΝΟ ΤΡΙΜΗΝΟ + 1 ΤΡΙΜ 0! ΤΟ ΤΡΙΜ ΕΙΝΑΙ ΤΟ ΑΘΡΟΙΣΜΑ ΤΡΙΜΗΝΟΥ ΓΙΑ Κ ΑΠΟ Ι ΜΕΧΡΙ Ι + 2! ΤΟ Κ ΕΙΝΑΙ ΟΙ ΜΗΝΕΣ ΤΡΙΜ ΤΡΙΜ + ΕΙΣΠΡ[Κ] ΑΝ ΤΡΙΜ > ΜΑΧ ΤΟΤΕ ΜΑΧ ΤΡΙΜ ΜΑΧ_ΤΡΙΜ ΤΡΙΜΗΝΟ ΓΡΑΨΕ ΤΡΙΜΗΝΟ ΜΕ ΜΕΓΑΛΥΤΕΡΗ ΕΙΣΠΡΑΞΗ:, ΜΑΧ_ΤΡΙΜ, ο ΑΘΡ_ΑΡΤ 0! ΕΡΩΤΗΜΑ Γ2 ΑΘΡ_ΠΕΡ 0 ΓΙΑ ΜΗΝΑΣ ΑΠΟ 1 ΜΕΧΡΙ 12 ΑΝ ΜΗΝΑΣ MOD 2 = 0 ΤΟΤΕ ΑΘΡ_ΑΡΤ ΑΘΡ_ΑΡΤ + ΕΙΣΠΡ[ΜΗΝΑΣ]!ΑΡΤΙΟΙ ΜΗΝΕΣ ΑΛΛΙΩΣ!ΠΕΡΙΤΤΟΙ ΜΗΝΕΣ ΑΘΡ_ΠΕΡ ΑΘΡ_ΠΕΡ + ΕΙΣΠΡ[ΜΗΝΑΣ] ΑΝ ΑΘΡ_ΑΡΤ > ΑΘΡ_ΠΕΡ ΤΟΤΕ ΓΡΑΨΕ ΣΥΜΦΕΡΟΥΝ ΟΙ ΑΡΤΙΟΙ ΜΗΝΕΣ, Johnny ΑΛΛΙΩΣ_ΑΝ ΑΘΡ_ΑΡΤ < ΑΘΡ_ΠΕΡ ΤΟΤΕ ΓΡΑΨΕ ΣΥΜΦΕΡΟΥΝ ΟΙ ΠΕΡΙΤΤΟΙ ΜΗΝΕΣ, Johnny ΑΛΛΙΩΣ ΓΡΑΨΕ ΈΙΝΑΙ ΤΟ ΙΔΙΟ, Johnny ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ σελίδα 8 από 9
ΘΕΜΑ Δ ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Ι, Ν, ΘΕΣΗ ΧΑΡΑΚΤΗΡΕΣ: Α[100] ΛΟΓΙΚΕΣ: διπλόχ ΑΡΧΗ! ΕΡΩΤΗΜΑ Δ1 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΔΏΣΤΕ ΠΑΡΑΚΑΛΩ ΑΡΙΘΜΟ ΣΤΟΙΧΕΙΩΝ ΠΙΝΑΚΑ ΔΙΑΒΑΣΕ Ν ΑΝ ( Ν < 4 Ή Ν > 100 ) ΤΟΤΕ ΓΡΑΨΕ ΛΑΘΟΣ, ΠΑΡΑΚΑΛΩ ΔΩΣΤΕ ΞΑΝΑ ΜΕΧΡΙΣ_ΟΤΟΥ Ν >= 4 ΚΑΙ Ν <= 100 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ ΔΩΣΕ ΧΑΡΑΚΤΗΡΑ ΔΙΑΒΑΣΕ Α[Ι]! ΕΡΩΤΗΜΑ Δ2 & Δ3 διπλόχ ψευδής Ι 1 ΘΈΣΗ 0 ΌΣΟ ( Ι <= 99 ΚΑΙ ΒΡΕΘΗΚΕ = ΨΕΥΔΗΣ ) ΕΠΑΝΑΛΑΒΕ ΑΝ ( Α[Ι] = Χ ΚΑΙ Α[Ι+1] = Χ ) ΤΟΤΕ ΘΕΣΗ Ι διπλόχ αληθής Ι Ι + 1! ΕΝΑΛΛΑΚΤΙΚΑ, ΜΠΟΡΟΥΜΕ ΝΑ ΚΑΝΟΥΜΕ & ΤΟ ΕΞΗΣ: διπλόχ Ψευδής ΓΙΑ Ι ΑΠΟ Ν ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ -1 ΑΝ ( Α[Ι] = Χ ΚΑΙ Α[Ι-1] = Χ ) ΤΟΤΕ ΘΕΣΗ Ι - 1 διπλόχ αληθής ΑΝ διπλόχ = αληθής ΤΟΤΕ ΓΡΑΨΕ ΈΠΙΤΥΧΗΣ ΑΝΑΖΗΤΗΣΗ ΓΡΑΨΕ ΘΕΣΕΙΣ, ΘΕΣΗ, ΘΕΣΗ + 1 ΑΛΛΙΩΣ ΓΡΑΨΕ ΑΝΕΠΙΤΥΧΗΣ ΑΝΑΖΗΤΗΣΗ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Παπαγιαννούλας Νίκος, Φυσικός Παν. Αθηνών, Μ.Δ.Ε. Παν. Αθηνών, M.Sc. Ε.Μ.Π. σελίδα 9 από 9