Μάθημα: Ανάπτυξη Εφαρμογών ςε Προγραμματιςτικό Περιβάλλον Τάξη Γ Λυκείου, Πληροφορική Οικονομικών Καθηγητής : Σιαφάκασ Γιώργοσ Ημερομηνία : 21/2/2016 Διάρκεια: 3 ώρεσ ΘΕΜΑ Α /40 (Α1)Να απαντήςετε αν είναι ςωςτή ή λάθοσ καθεμία από τισ παρακάτω προτάςεισ, μεταφζροντασ ςτο απαντητικό ςασ φφλλο τον αριθμό τησ ερώτηςησ ακολουθοφμενη από το γράμμα (ωςτή) ή το γράμμα Λ (Λάθοσ). 1. Οι πίνακεσ δεν μποροφν να ζχουν περιςςότερεσ από δφο διαςτάςεισ. 2. Οι δομζσ δεδομζνων διακρίνονται ςε τρεισ μεγάλεσ κατθγορίεσ: τισ ςτατικζσ, τισ δυναμικζσ και τισ θμιδομθμζνεσ. 3. Ο πίνακασ είναι μία δομι που μπορεί να περιζχει ςτοιχεία διαφορετικοφ τφπου. 4. Μόνο θ δυαδικι αναηιτθςθ μπορεί να εφαρμοςτεί ςε ταξινομθμζνουσ πίνακεσ. 5. Μόνο ςε ταξινομθμζνουσ πίνακεσ μπορεί να εφαρμοςτεί θ δυαδικι αναηιτθςθ. 6. Πταν αναφερόμαςτε ςε ςτοιχείο εκτόσ του πίνακα (πχ ςτο Ρ*0+) τότε λζμε ότι ο αλγόρικμοσ παραβιάηει το κριτιριο τθσ κακοριςτικότθτασ (Α2) Να απαντήςετε ςτισ παρακάτω ερωτήςεισ 1. Να αναφζρετε τισ τυπικζσ επεξεργαςίεσ επί των πινάκων. 2. Ροια είναι τα μειονεκτιματα από τθ χριςθ των πινάκων; 3. Ροιεσ είναι οι διαφορζσ μεταξφ ςτατικϊν και δυναμικϊν δομϊν δεδομζνων; (6 Μονάδεσ) (3+3+4=10 Μονάδεσ) (Α3) Δίνεται ο πίνακασ Α*10+, ςτον οποίο επικυμοφμε να αποκθκεφςουμε όλουσ τουσ ακεραίουσ αρικμοφσ από το 10 μζχρι το 1 με φκίνουςα ςειρά. Στον πίνακα ζχουν ειςαχκεί οριςμζνοι αρικμοί, οι οποίοι εμφανίηονται ςτο παρακάτω ςχιμα: 1 2 3 4 5 6 7 8 9 10 10 9 5 4 1 Να ςυμπλθρϊςετε τισ επόμενεσ εντολζσ εκχϊρθςθσ, ϊςτε τα κενά κελιά του πίνακα να αποκτιςουν τισ επικυμθτζσ τιμζσ. Α*3+ 3 + Α*...+ Α*9+ Α*...+ 2 Α*8+ Α*...+ 5 Α*4+ 5 + Α*...+ Α*5+ (Α*...+ + Α*7+) div 2 (5 Μονάδεσ) Σελίδα 1 από 5
(Α4) Ζςτω ζνασ μονοδιάςτατοσ ταξινομθμζνοσ πίνακασ 100 κζςεων που περιζχει αρικμθτικζσ τιμζσ. Να ελζγξετε, χωρίσ τθ χριςθ δομισ επανάλθψθσ αλλά μόνο με μια δομι επιλογισ, αν όλα τα ςτοιχεία του πίνακα είναι ίςα. 1 (4 Μονάδεσ) (Α5) Να ξαναγράψετε ςτο τετράδιό ςασ το παρακάτω τμιμα αλγορίκμου, χρθςιμοποιϊντασ μόνο μία δομι επανάλθψθσ Για... Από... Μζχρι και χωρίσ τθ χριςθ δομισ επιλογισ Για i από 1 μζχρι 100 Για j από 1 μζχρι 100 Αν i = 50 τότε Εμφάνιςε Α*i, j+ (3Μονάδεσ) (Α6) Δίνονται τα 4 παρακάτω τμήματα αλγορίθμων και μια πρόταςη που περιγράφει τη λειτουργία του κάθε τμήματοσ (ΠΡ1,ΠΡ2,ΠΡ3,ΠΡ4). Να απαντήςετε αν είναι ςωςτή ή λάθοσ καθεμία από τισ προτάςεισ, μεταφζροντασ ςτο απαντητικό ςασ φφλλο τον αριθμό τησ πρόταςησ ακολουθοφμενη από το γράμμα (ωςτή) ή το γράμμα Λ (Λάθοσ). Δεδομζνα //Ν,Ρ// Για i από 2 μζχρι Ν Για j από N μζχρι i με_βιμα 1 Αν table*j+ > table*j-1] τότε T table[j-1] table[j-1] table[j] table[j] T Τελοσ_αν Τελοσ_επαναλθψθσ Τελοσ_επαναλθψθσ Δεδομζνα //Α// Για i από 1 μζχρι 10 k (100+i)mod 101 B[k] A[i] Αποτελζςματα //Β,k// ΠΡ1. Το παραπάνω αλγορικμικό τμιμα ταξινομεί τον πίνακα Ρ*Ν+ ςε αφξουςα ςειρά Εμφάνιςε ϋδϊςε τθν τιμι που αναηθτάσ : Διάβαςε key Ι 1 pos 0 Πςο (pos=0) και (Ι<=Ν) επανάλαβε Αν Ρ*Ι+=key τότε ΒΕΘΘΚΕ ΑΛΘΘΘΣ pos Ι Ι Ι+1 Αν pos<>0 τότε Εμφάνιςε ϋtoϋ,key,ϋβρζκθκε ςτθ κζςθϋ,pos Αλλιϊσ Εμφάνιςε ϋtoϋ,key,ϋδε βρζκθκε ΠΡ3. Το παραπάνω αλγορικμικό τμιμα εμφανίηει τθν πρϊτθ ι τθ μοναδικι κζςθ του ηθτοφμενου ςτοιχείου (key) ςτον πίνακα Ρ*Ν+, ι κατάλλθλο μινυμα αν το ςτοιχείο δε υπάρχει ΠΡ2. Δίνεται το παραπάνω αλγορικμικό τμιμα το οποίο δζχεται τον μονοδιάςτατο πίνακα Α*10+ και επιςτρζφει τον επίςθσ μονοδιάςτατο πίνακα Β*10+. Ζτςι όπωσ είναι γραμμζνο παραβιάηει τθν κακοριςτικότθτα Για I από 1 μζχρι 100 Αρχι_επανάλθψθσ Διάβαςε Χ*Ι+ Μζχρισ_ότου Χ*Ι+>0 και Χ*Ι+<20 Για Ι από 1 μζχρι 20 Α*Ι+ 0 Για Ι από 1 μζχρι 100 Α*Χ*Ι++ Α*Χ*Ι+++1 ΠΡ4. Το παραπάνω αλγορικμικό τμιμα παραβιάηει τθν κακοριςτικότθτα. Ο πίνακασ Χ*100+ περιζχει ακζραιουσ αρικμοφσ. (4x3=12 Μονάδεσ) 1 ΟΕΦΕ 2015/Α3 Σελίδα 2 από 5
ΘΕΜΑ Β /20 (Β1) Να απαντήςτε ςτισ παρακάτω ερωτήςεισ 1. Ρότε επιτρζπεται θ χριςθ τθσ δυαδικισ αναηιτθςθσ ςε ζνα πίνακα; Δίνεται το παρακάτω τμιμα προγράμματοσ που υλοποιεί τθ δυαδικι αναηιτθςθ. 2. Ρόςεσ φορζσ κα εκτελεςτεί θ παρακάτω επανάλθψθ αν ωσ είςοδο είχε τον πίνακα Γ*24+. 3. Ρόςεσ φορζσ κα εκτελοφνταν θ αντίςτοιχθ επανάλθψθ ςτον παρακάτω πίνακα αν αντί τθσ δυαδικισ χρθςιμοποιοφςαμε ςειριακι αναηιτθςθ για τον ίδιο ςκοπό (αναηθτϊντασ το Τ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ΓΡ*24+ Α Β Γ Δ Ε Η Θ Θ Ι Κ Λ Μ Ν Ξ Ο Ρ Σ Τ Υ Φ Χ Ψ Ω πλ 0 key T Αριςτερα 1 Δεξιά 24 flag ΨΕΥΔΘΣ ΟΣΟ Αριςτερα<=Δεξιά και flag=ψευδθσ ΕΡΑΝΑΛΑΒΕ πλ πλ+1 Μεςθ (Αριςτερα+Δεξια)div2 ΑΝ Γ*Μεςθ+= key ΤΟΤΕ flag ΑΛΘΘΘΣ ΑΝ key<γ*μεςθ+ ΤΟΤΕ Δεξιά Μεςθ-1 Αριςτερά Μεςθ+1 ΓΑΨΕ Ρλικοσ επαναλιψεων, πλ (3x3=9 Μονάδεσ) (Β2) το παρακάτω τμήμα προγράμματοσ να ςυμπληρώςετε τα κενά (4,5,6,7,10,11), ζτςι ώςτε ζνα μονοδιάςτατοσ πίνακασ Ν θζςεων να ταξινομείται ςε αφξουςα ςειρά με τη μζθοδο ευθείασ επιλογήσ. Να μεταφζρετε ςτο απαντητικό τετράδιο τον αριθμό τησ γραμμήσ με το κενό, ςυμπληρώνοντασ το κενό ή να μεταφζρετε ολόκληρο το τμήμα προγράμματοσ ςυμπληρωμζνο 1 ΓΙΑ Ι ΑΡΟ 1 ΜΕΧΙ Ν-1 2 Θ I 3 TEMP A[I] 4 ΓΙΑ J ΑΡΟ ΜΕΧΙ Ν 5 ΑΝ TEMP A[J] TOTE 6 Θ 7 ΤEMP 8 9 10 11 12 (6 Μονάδεσ) Σελίδα 3 από 5
(Β3) Δίνεται το παρακάτω τμήμα πρόγραμμα ΡΟΓΑΜΜΑ ΡΙΣΩ_ΑΡΟ ΤΙΣ _ΛΕΞΕΙΣ_ΚΥΒΕΤΑΙ _Ο ΑΛΕΞΘΣ ΜΕΤΑΒΛΘΤΕΣ ΑΚΕΑΙΕΣ:Ι, POS, ΡΛ,Κ ΧΑΑΚΤΘΕΣ: Κ*100+, Λ*10+ ΛΟΓΙΚΕΣ:FLAG ΑΧΘ ΓΙΑ Ι ΑΡΟ 1 ΜΕΧΙ 100 ΔΙΑΒΑΣΕ Κ*Ι+ ΓΙΑ Ι ΑΡΟ 1 ΜΕΧΙ 10 ΔΙΑΒΑΣΕ Λ*Ι+ FLAG ΨΕΥΔΘΣ POS 0 I 1 ΟΣΟ I<=91 ΚΑΙ FLAG= ΨΕΥΔΘΣ ΕΡΑΝΑΛΑΒΕ ΑΝ Κ*I]=Λ*1+ΤΟΤΕ FLAG ΑΛΘΘΘΣ POS I I I+1 ΑΝ FLAG=ΨΕΥΔΘΣ ΤΟΤΕ ΕΜΦΑΝΙΣΕ ΔΕ ΒΕΘΘΚΕ ΡΛ 0 ΓΙΑ Κ ΑΡΟ 1 ΜΕΧΙ 10 ΑΝ Λ*Κ+=Κ*I-1+Κ+ ΤΟΤΕ ΡΛ ΡΛ+1 ΑΝ ΡΛ=10 ΤΟΤΕ ΕΜΦΑΝΙΣΕ ΒΕΘΘΚΕ ΣΤΘ ΘΕΣΘ,POS ΕΜΦΑΝΙΣΕ ΤΕΛΙΚΑ, ΔΕ ΒΕΘΘΚΕ ΤΕΛΟΣ_ΡΟΓΑΜΜΑΤΟΣ Επιλζξτε μια πρόταςη από τισ παρακάτω που περιγράφει τη λειτουργία του προγράμματοσ 1. Αναηθτά και εμφανίηει πόςεσ φορζσ υπάρχει θ λζξθ Λ*10+, μζςα ςτο κείμενο Κ*100+ και αν δεν υπάρχει θ λζξθ ςτο κείμενο εμφανίηει κατάλλθλα μθνφματα 2. Αναηθτά τθ λζξθ Λ*10+ μζςα ςτο κείμενο Κ*100+, και εμφανίηει τθ κζςθ του πρϊτου γράμματοσ τθσ λζξθσ ςε περίπτωςθ που βρεκεί θ λζξθ μζςα ςτο κείμενο, διαφορετικά εμφανίηει κατάλλθλα μθνφματα 3. Αναηθτά και εμφανίηει πόςεσ φορζσ υπάρχει το πρϊτο γράμμα τθσ λζξθσ Λ*10+ μζςα ςτο κείμενο Κ*100+ και κατάλλθλο μινυμα ςε περίπτωςθ που δε βρεκεί το πρϊτο ράμμα τθσ λζξθσ πουκενά. 4. Τίποτα απ0ο τα παραπάνω (5 Μονάδεσ) Σελίδα 4 από 5
ΘΕΜΑ Γ /20 Ερευνθτζσ που αςχολοφνται με μοντζλα προςομοίωςθσ εξάπλωςθσ επιδθμιϊν χρθςιμοποιοφν για τισ μελζτεσ τουσ ζνα αρικμθτικό πίνακα Μ*5000+. Κάκε κελί του πίνακα αυτοφ αντιπροςωπεφει ζνα άτομο ςε μια περιοχι 5.000 κατοίκων ςτθν οποία υπάρχουν εςτίεσ μιασ ςυγκεκριμζνθσ μολυςματικισ αςκζνειασ (επιδθμίασ). Από ςφμβαςθ θ τιμι μθδζν 0 ςε ζνα κελί αντιπροςωπεφει ζνα υγιζσ άτομο, ενϊ θ τιμι -1 αντιπροςωπεφει ζνα άτομο που ζχει τθ ςυγκεκριμζνθ αςκζνεια (μολυςμζνο άτομο). Κάκε άτομο ζρχεται ςε επαφι με τα γειτονικά του και θ αςκζνεια μπορεί να μεταδοκεί από τον ζνα ςτον άλλο. (Γειτονικά χαρακτθρίηονται δφο άτομα, όταν τα κελιά του πίνακα που τα αντιπροςωπεφουν ζχουν μια κοινι πλευρά). Να υλοποιιςετε πρόγραμμα το οποίο: Γ1. Θα διαβάηει τα περιεχόμενα του πίνακα Μ*5000+, κάνοντασ ζλεγχο εγκυρότθτασ ϊςτε να περιζχει μόνο τισ τιμζσ 0 και -1 Μονάδεσ 3 Γ2. Υπολογίηει και εμφανίηει με κατάλλθλο μινυμα τον ςυνολικό αρικμό των μολυςμζνων ατόμων που υπάρχουν ςτο ςφνολο του πλθκυςμοφ. Μονάδεσ 4 Γ3. Αποκθκεφει ςε κάκε κελί του πίνακα Μ που αντιπροςωπεφει ζνα υγιζσ άτομο ζναν αρικμό ο οποίοσ δείχνει με πόςα μολυςμζνα άτομα γειτονεφει το υγιζσ. Μονάδεσ 8 Γ4. Βρίςκει αν υπάρχει ζςτω και μία «ςθμαντικι» εςτία μόλυνςθσ. Αν υπάρχει, εμφανίηει το μινυμα «Υπάρχει ςθμαντικι εςτία μόλυνςθσ» μαηί με τθ κζςθ του πρϊτου κελιοφ τθσ εςτίασ. Αν δεν υπάρχει, εμφανίηει το μινυμα «Δεν υπάρχει ςθμαντικι εςτία μόλυνςθσ». (Μια εςτία μόλυνςθσ χαρακτθρίηεται ςθμαντικι, όταν δφο ι περιςςότερα μολυςμζνα άτομα βρίςκονται ςε ςυνεχόμενα γειτονικά κελιά). Μονάδεσ 5 ΘΕΜΑ Δ /20 Στισ γενικζσ εξετάςεισ, κάκε γραπτό βακμολογείται από δφο βακμολογθτζσ ςτθν κλίμακα 1-100. Πταν θ διαφορά των δφο βακμϊν είναι μεγαλφτερθ από δϊδεκα μονάδεσ, το γραπτό αναβακμολογείται, δθλαδι βακμολογείται και από τρίτο βακμολογθτι. Στα γραπτά που δεν ζχουν αναβακμολογθκεί, ο τελικόσ βακμόσ προκφπτει από το πθλίκο τθσ διαίρεςθσ του ακροίςματοσ των βακμϊν των δφο βακμολογθτϊν διά δζκα. Στα γραπτά που ζχουν αναβακμολογθκεί, ο τελικόσ βακμόσ προκφπτει με τον ίδιο τρόπο, αλλά λαμβάνονται υπόψθ οι δφο μεγαλφτεροι βακμοί. Για ςτατιςτικοφσ λόγουσ, οι τελικοί βακμοί (ΤΒ) κατανζμονται ςτισ παρακάτω βακμολογικζσ κατθγορίεσ: 1 η 2 η 3 η 4 η 5 η 6 η 0 ΤΒ<5 5 ΤΒ<10 10 TΒ<12 12 ΤΒ<15 15 ΤΒ<18 18 ΤΒ 20 Σ ζνα βακμολογικό κζντρο υπάρχουν 780 γραπτά ςτο μάκθμα «Ανάπτυξθ Εφαρμογϊν ςε Ρρογραμματιςτικό Ρεριβάλλον». Οι βακμοί των δφο βακμολογθτϊν καταχωροφνται ςτισ δφο πρϊτεσ ςτιλεσ ενόσ πίνακα Β*780,3+ και ο τρίτοσ βακμόσ ςτθν τρίτθ ςτιλθ Να γραφεί πρόγραμμα το οποίο: Δ1. Να διαβάηει τισ βακμολογίεσ των 2 πρϊτων βακμολογθτϊν και αν χρειάηεται να διαβάηει τθ βακμολογία του τρίτου βακμολογθτι, διαφορετικά να τοποκετεί ςτθ κζςθ του τρίτου βακμολογθτι ςτον πίνακα Β τθν τιμι -1. Θ ειςαγωγι των βακμϊν να γίνεται με κατάλλθλο ζλεγχο εγκυρότθτασ Μονάδεσ 5 Δ3. Να υπολογίηει τον τελικό βακμό κάκε γραπτοφ και να τον καταχωρίηει ςτθν αντίςτοιχθ κζςθ ενόσ πίνακα Τ*780+. Δ4. Να εμφανίηει τθ βακμολογικι κατθγορία (ι τισ κατθγορίεσ) με το μεγαλφτερο πλικοσ γραπτϊν. Μονάδεσ 7 Μονάδεσ 8 Σελίδα 5 από 5