ΔΙΑΓΩΝΙΣΜΑ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ» Ύλη: Κεφ. 2-3-6-7-8-9 Τρίκαλα, 20 Δεκεμβρίου 2015 Ονοματεπώνυμο: ΘΕΜΑ Α Α1.Να σημειώσετε με Σ ή Λ ανάλογα με το αν θεωρείτε Σωστή ή Λάθος κάθε μία από τις παρακάτω προτάσεις: 1. Μια έκφραση μπορεί να αποτελείται από μια μόνο μεταβλητή ή σταθερά μέχρι μια πολύπλοκη μαθηματική παράσταση. 2. Στη στοίβα το στοιχείο που εισάγεται τελευταίο εξάγεται και τελευταίο. 3. Υπερχείλιση συμβαίνει όταν γίνει απώθηση (pop) σε γεμάτη στοίβα. 4. Ο βρόχος {Για x από 5 μέχρι 6} εκτελείται μία μόνο φορά. 5. Ένας πίνακας έχει το ίδιο μέγεθος σε όλη τη διάρκεια εκτέλεσης του προγράμματος. 6. Για να προσπελάσουμε έναν πίνακα δεν μπορούμε να χρησιμοποιήσουμε τη δομή επανάληψης Όσο Επανάλαβε Μονάδες 6 Α2. Δίνεται ο πίνακας 2015 2016 2017 2018 2019 2020 2020 2018 2017 2016 2015 και το τμήμα προγράμματος i 1 mid n div 2 Όσο (i<= mid) και (A[i] = A[n i +1]) επανάλαβε Εμφάνισε Α[n i+1] i i +1 Τέλος_επανάληψης Αν i > mid τότε Εμφάνισε ΝΑΙ Αλλιώς Εμφάνισε ΟΧΙ Τέλος_αν όπου n = 11. Να γράψετε τι θα εμφανίσει το παραπάνω τμήμα προγράμματος. Μονάδες 8
Α3. Να δώσετε τον ορισμό του όρου «δομή δεδομένων» και να αναφέρετε ονομαστικά τις λειτουργίες επί των δομών δεδομένων. Μονάδες 5 Α4.Να δώσετε επιγραμματικά τα πλεονεκτήματα του δομημένου προγραμματισμού. Α5. Δίνεται το παρακάτω τμήμα αλγορίθμου: X 16 i 12 Όσο (i>= 10) ή (X>i) επανάλαβε X X/2 + i mod 2 i i div 2 Y i + X div i Για j από 12 μέχρι i με βήμα 3 Y Y + 1 Z X - Y X Z div Y Τέλος_Επανάληψης Τέλος_Επανάληψης Μονάδες 6 Να γίνει πίνακας τιμών για όλες τις μεταβλητές. Δηλαδή να εμφανίζεται η τιμή κάθε μεταβλητής για κάθε βήμα της επανάληψης. Μονάδες 8 Α6. Σε µία στοίβα 10 θέσεων έχουν τοποθετηθεί διαδοχικά τα στοιχεία: Ζ, Χ, Β, Θ, Κ στην πρώτη, δεύτερη, τρίτη, τέταρτη και πέμπτη θέση αντίστοιχα. α. Να προσδιορίσετε την τιμή του δείκτη της παραπάνω στοίβας.(μονάδες 2) β. Αν εφαρμόζουμε με τη σειρά τις παρακάτω λειτουργίες Απώθηση Απώθηση Ώθηση Λ Ώθηση Ν Απώθηση ποια θα είναι η νέα τιμή του δείκτη της παραπάνω στοίβας ; (Μονάδες 2) γ. Να σχεδιάσετε την τελική μορφή της στοίβας με τα περιεχόμενα της. (Μονάδες 3) Μονάδες 7
ΘΕΜΑ Β Β1.Θεωρήστε ότι σε μια στοίβα μπορούμε να ωθήσουμε μόνο με τη συγκεκριμένη σειρά τα δεδομένα Χ, Ρ, Α, Η (δηλ. 1 ο το Χ, 2 ο το Ρ, 3 ο το Α και 4 ο το Η). Με ποιο τρόπο πρέπει να ωθηθούν και να απωθηθούν τα δεδομένα ώστε να έχουμε στην έξοδο τα δεδομένα Α, Ρ, Χ, Η (δηλ. 1 ο το Α, 2 ο το Ρ, 3 ο το Χ και 4 ο το Η) ; Β2.Δίνεται ο μονοδιάστατος πίνακας C με έξι στοιχεία που έχουν αντίστοιχα τις παρακάτω τιμές: 2, 5, 15, 1, 32, 14 και το παρακάτω τμήμα αλγορίθμου: min 100 max 100 Για i από 1 μέχρι 6 με_βήμα 2 Α C[i] B C[i+1] Αν A<Β τότε Lmin A Lmax B αλλιώς Lmin Β Lmax Α Τέλος_αν Αν Lmin<min τότε min Lmin Τέλος_αν Αν Lmax>max τότε max Lmax Τέλος_αν Εκτύπωσε Α, Β, Lmin, Lmax, min, max Τέλος_επανάληψης D max min Εκτύπωσε D Μονάδες 8 Να εκτελέσετε το παραπάνω τμήμα αλγορίθμου και να γράψετε στο τετράδιό σας: α. Τις τιμές των μεταβλητών Α, Β, Lmin, Lmax, min και max, όπως αυτές εκτυπώνονται σε κάθε επανάληψη. Μονάδες 10 β. Την τιμή της μεταβλητής D που εκτυπώνεται. Μονάδες 2
ΘΕΜΑ Γ Η αρμόδια επιτροπή του Υπουργείου Υγείας διενεργεί έρευνα σε 20 ορνιθοτροφεία της ευρύτερης περιοχής των Τρικάλων τα οποία έχουν 300 πουλερικά το καθένα. Τα ονόματα των ορνιθοτροφείων καταχωρούνται σε μονοδιάστατο πίνακα Ο[20] και σε δισδιάστατο πίνακα Υ[20,300] η κατάσταση υγείας των πουλερικών. Αν το πουλερικό πάσχει από τη νόσο των πτηνών τότε στον πίνακα η τιμή είναι αληθής, σε διαφορετική περίπτωση η τιμή είναι ψευδής. Να γίνει πρόγραμμα το οποίο: α) Θα καταχωρεί τα παραπάνω δεδομένα στους πίνακες Μονάδες 2 β) Θα υπολογίζει και θα εμφανίζει το όνομα κάθε ορνιθοτροφείου και το αντίστοιχο ποσοστό των άρρωστων πουλερικών Μονάδες 6 γ) Στη συνέχεια, αν το ποσοστό των άρρωστων πουλερικών είναι 0 να εμφανίζει μήνυμα 'Δεν υπάρχει κρούσμα της νόσου των πτηνών'. Αν το ποσοστό είναι κάτω από 50 % και όχι 0 % τότε να εμφανίζεται μήνυμα 'πρέπει να κληθεί ανώτερο κλιμάκιο υγείας'. Σε περίπτωση που το ποσοστό είναι πάνω από 50 % τότε το μήνυμα που θα εμφανίζεται είναι 'Το ορνιθοτροφείο πρέπει να κλείσει άμεσα'. Μονάδες 6 δ) Να εμφανίζει τα ονόματα των 5 ορνιθοτροφείων με τα υψηλότερα ποσοστά άρρωστων πουλερικών. Μονάδες 6 ΘΕΜΑ Δ Για την καλύτερη επεξεργασία των αποτελεσμάτων των πανελληνίων εξετάσεων των παιδιών της Γ Λυκείου στο Λύκειο Γενεσιγάρδικου καταχωρούμε σε τρεις μονοδιάστατους πίνακες τα ονοματεπώνυμα, το Φύλλο («Α» για αγόρι η «Κ» για κορίτσι) και τα τελικά μόρια των 74 παιδιών της Γ τάξης. Να γίνει πρόγραμμα το οποίο: Δ1.Να διαβάζει τους παραπάνω πίνακες Μονάδες 2 Δ2.Να βρίσκει και να εμφανίζει τα ποσοστά κατά φύλλο των μαθητών που πέρασαν τα 10.000 μόρια Μονάδες 4
Δ3.Να βρίσκει και να εμφανίζει το όνομα του αγοριού με τα περισσότερα μόρια Μονάδες 4 Δ4.Αν δεν υπάρχει άλλος μαθητής (αγόρι) με τα παραπάνω περισσότερα μόρια να ψάχνει αν υπάρχει κάποιο κορίτσι με τα μόρια αυτά και να εμφανίζει το ανάλογο μήνυμα. Μονάδες 5 Δ5. Να βρίσκει και εμφανίζει το όνομα ή τα ονόματα των μαθητών που τα μόρια τους βρίσκονται πιο κοντά στον μέσο όρο των μορίων των παιδιών του σχολείου. Μονάδες 5 ΚΑΛΗ ΕΠΙΤΥΧΙΑ
ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 2 3 4 5 6 Σ Λ Λ Λ Σ Λ Α2. Εμφανίζονται οι τιμές 2015, 2016, 2017, 2018, ΟΧΙ Α3.Σχολ. βιβλίο σελ. 54-55 Α4.Σχολ. βιβλίο σελ. 136 Α5. Χ Υ Ζ i j 16 12 8 6 7 12 8 0 0 9 9-9 -1 6 10-11 -2 3 Η συνθήκη (Χ>i) ή (i>=10) αληθής Η συνθήκη (Χ>i) ή (i>=10) ψευδής Α6.α) top = 5 β) top = 4 γ) Λ Β Χ Ζ
ΘΕΜΑ Β Β1. Οι ενέργειες που πρέπει να γίνουν είναι: Απώθηση Η Απώθηση Α Απώθηση Ρ Απώθηση Χ Ώθηση Η Ώθηση Χ Ώθηση Ρ Ώθηση Α Β2. min max i A B Lmin Lmax D 100-100 1 2 5 2 5 2 5 3 15-1 -1 15-1 15 5 32 14 14 32-1 32 7-32 α) Όπως φαίνεται κι από το διπλανό πίνακα τιμών οι τιμές που εκτυπώνονται είναι : 2,5,2,5,2,5 15,-1,-1,15,-1,15 32,14,14,32,-1,32 β) Η τιμή του D είναι -32
ΘΕΜΑ Γ ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, m ΠΡΑΓΜΑΤΙΚΕΣ: pos[20], tmp1 ΧΑΡΑΚΤΗΡΕΣ: O[20], tmp2 ΛΟΓΙΚΕΣ: Y[20,300] ΑΡΧΗ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20 ΓΡΑΨΕ 'Δώστε όνομα ορνιθοτροφείου:' ΔΙΑΒΑΣΕ O[i] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 300 ΓΡΑΨΕ 'Δώστε αληθής για άρρωστο πουλερικό ή ψευδής για υγιές' ΔΙΑΒΑΣΕ Y[i,j] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20 m 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 300 ΑΝ Y[i,j] = ΑΛΗΘΗΣ ΤΟΤΕ m m +1 pos[i] (m/300)*100 ΓΡΑΨΕ O[i], ' Ποσοστό άρρωστων πουλερικών ', pos[i] ΑΝ pos[i] = 0 ΤΟΤΕ ΓΡΑΨΕ 'Δεν υπάρχει κρούσμα της νόσου των πτηνών ' ΑΛΛΙΩΣ_ΑΝ pos[i] < 50 ΤΟΤΕ ΓΡΑΨΕ ' Πρέπει να κληθεί ανώτερο κλιμάκιο υγείας ' ΑΛΛΙΩΣ ΓΡΑΨΕ ' Το ορνιθοτροφείο πρέπει να κλείσει άμεσα ' ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20 ΓΙΑ j ΑΠΟ 20 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1 ΑΝ pos[j-1] < pos[j] ΤΟΤΕ tmp1 pos[j-1] pos[j-1] pos[j] pos[j] tmp1 tmp2 O[j-1] O[j-1] O[j] O[j] tmp2
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΡΑΨΕ O[i] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Είμαστε τυχεροί που είμαστε δάσκαλοι ΘΕΜΑ Δ ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, Μ[74], λ, Μ1, Μ2, θ, μεγ, αθρ ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[74], Φ[74] ΠΡΑΓΜΑΤΙΚΕΣ: μεσος, Π1, Π2, ΔΜ[74], μιν ΛΟΓΙΚΕΣ: βρηκα ΑΡΧΗ ΓΙΑ ΑΠΟ ΜΕΧΡΙ ΓΡΑΨΕ ΔΙΑΒΑΣΕ Μ1 0 Μ2 0 ΑΝ Φ[i] = Α ΚΑΙ Μ[i] > 10000 ΤΟΤΕ Μ1 Μ1 + 1 ΑΝ Φ[i] = Κ ΚΑΙ Μ[i] > 10000 ΤΟΤΕ Μ2 Μ2 + 1 Π1 (Μ1/74)*100 Π2 (Μ2/74)*100 ΓΡΑΨΕ Ποσοστό αγοριών με πάνω από 10000 μόρια, Π1 ΓΡΑΨΕ Ποσοστό κοριτσιών με πάνω από 10000 μόρια, Π2 θ 1 μεγ Μ[1] ΑΝ Φ[i] = Α ΤΟΤΕ ΑΝ Μ[i] > μεγ ΤΟΤΕ μεγ Μ[i] θ i
ΓΡΑΨΕ Ο μαθητής με τα περισσότερα μόρια είναι ο, ΟΝ[θ] λ 0 ΑΝ Φ[i] = Α ΚΑΙ Μ[i] = μεγ ΤΟΤΕ λ λ + 1 βρηκα ΨΕΥΔΗΣ ΑΝ λ = 0 ΤΟΤΕ ΑΝ Φ[i] = Κ ΚΑΙ Μ[i] = μεγ ΤΟΤΕ βρηκα ΑΛΗΘΗΣ ΑΝ βρηκα = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ Υπάρχει και μαθήτρια με, μεγ, μόρια αθρ 0 αθρ αθρ + Μ[i] μεσος αθρ/74 ΔΜ[i] Α_Τ(μεσος Μ[i]) μιν ΔΜ[1] ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 74 ΑΝ ΔΜ[i] < μιν ΤΟΤΕ μιν ΔΜ[i] ΑΝ ΔΜ[i] = μιν ΤΟΤΕ ΓΡΑΨΕ ΟΝ[i] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Είμαστε τυχεροί που είμαστε δάσκαλοι