ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ον/μο:.. Γ Λυκείου Ύλη:3-6-9 Τεχν. Κατ. 03-03-13 ΘΕΜΑ 1 ο A. Να χαρακτηρίσετε τις παρακάτω προτάσεις αν είναι Σωστές ή Λανθασμένες. 1. Η εισαγωγή και η διαγραφή κόμβων σε πίνακα αποτελούν δύο από τις βασικές επεξεργασίες πινάκων. 2. Οι δυναμικές δομές δεδομένων δεν αποθηκεύονται σε συνεχόμενες θέσεις μνήμης. 3. Σε κάθε πίνακα η δυαδική αναζήτηση είναι ο καταλληλότερος τρόπος αναζήτησης. 4. Ο συμβολομεταφραστής είναι πρόγραμμα μετάφρασης γλωσσών υψηλού επιπέδου. 5. Όταν στο πρόγραμμα μας υπάρχουν λογικά λάθη παράγεται το τελικό εκτελέσιμο πρόγραμμα, ενώ όταν υπάρχουν συντακτικά λάθη αυτά πρέπει πρώτα να διορθωθούν ώστε να παραχθεί το τελικό εκτελέσιμο πρόγραμμα.. 6. Η γλώσσα C είναι χαμηλού επιπέδου. 7. Η γλώσσα προγραμματισμού SQL είναι γλώσσα 4 ης γενιάς. 8. Στην ουρά η εισαγωγή είναι η είσοδος ενός στοιχείου στο εμπρός άκρο της ουράς. 9. Δίνεται ο μονοδιάστατος πίνακας Α με 5 στοιχεία που έχουν αντίστοιχα τις παρακάτω τιμες:3,2,7,8,5 Η εντολή Α[Α[1]] Α[2]+1 θα αλλάξει την τιμή του 3 ου στοιχείου από 7 σε 4. 10. Ένας πίνακας μπορεί να έχει άπειρο μέγεθος. (Μον. 10) Β.1)Ποιες λειτουργίες επί των δομών δεδομένων γνωρίζετε; 2)Σχεδιάστε το σχήμα αναπαράστασης της διαδικασίας μεταγλώττισης σύνδεσης ενός προγράμματος (μόνο σχήμα ) 3)Ποιες οι διαφορές στατικών και δυναμικών δομών; (Μον. 6) 1
Γ. Επιλέξτε τις ή την σωστή απάντηση στις παρακάτω ερωτήσεις. 1)Ποια γλώσσα χρησιμοποιεί βάσεις δεδομένων; A. FORTRAN B. COBOL C. dbase D. C 2)Ποιες γλώσσες είναι διαδικασιακές ή αλγοριθμικές; Α. FORTRAN Β. LISP C. PROLOG D. PASCAL Ε. ALGOL F. C G. PL/1 Η. COBOL I.BASIC 3)Ποιες γλώσσες είναι γενικής χρήσης; Α. PROLOG Β. PASCAL C. BASIC D. ALGOL Ε. LISP 4)Μια γλώσσα προσδιορίζεται από: A. Λεξιλόγιο B. Δεσμευμένες λέξεις C. Έκδοση D. Σημασιολογία E. Γραμματική F. Έννοιες G. Αλφάβητο 5)Ποια από τα παρακάτω είναι κατηγορίες λαθών; A. Γραμματικής B. Λογικά C. Σύνδεσης D. Συντακτικά (Μον. 8) Δ. Στο ακόλουθο τμήμα προγράμματος να συμπληρώσετε το τμήμα δηλώσεων που λείπει. 2
ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ ΑΡΧΗ ΔΙΑΒΑΣΕ Β Χ 28 Κ 13 ΟΣΟ Χ<> 0 ΕΠΑΝΑΛΑΒΕ Κ Κ-2 ΑΝ Β= ΑΛΗΘΗΣ ΤΟΤΕ Υ Κ MOD 2 Λ Κ MOD Υ ΑΛΛΙΩΣ Ρ Κ/2 Χ Χ+Ρ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Χ,Κ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ (Μον. 4) E. Να αντιστοιχίσετε τα στοιχεία της Στήλης Α με τα στοιχεία της Στήλης Β(στα στοιχεία της Στήλης Β θα αντιστοιχηθούν παραπάνω από ένα στοιχεία της Στήλης Α) (Μον. 5) Ζ. Να γράψετε στο τετράδιό σας τους αριθμούς της Στήλης Α και δίπλα τα γράμματα της Στήλης Β που αντιστοιχούν σωστά. (Να σημειωθεί ότι στα στοιχεία της Στήλης Α αντιστοιχούν περισσότερα από ένα στοιχεία της Στήλης Β). Στήλης Α Στήλης Β α.java 1.αντικειμενοστραφής β.sql 2.συναρτησιακή γ.lisp 3.μη διαδικασιακή δ.prolog 4.ερωταπαντήσεων ε.c++ 3
Στήλη Α Στήλη Β 1. Ουρά Α. Ώθηση Β. Εξαγωγή 2. Στοίβα Γ. Απώθηση Δ. Δύο δείκτες Ε. Ένας δείκτης Ζ. Εισαγωγή (Μον. 2) Η.Να αναπτύξετε αλγόριθμο ο οποίος δημιουργεί: 1.Πίνακα 5 γραμμών και 7 στηλών, όπου σε κάθε θέση του να εισάγεται ένας αριθμός που ισούται με το άθροισμα του αριθμού γραμμής και του αριθμού στήλης της θέσης. 2.Πίνακα με 10 στοιχεία όπου σε κάθε θέση του να εισάγεται στην πρώτη θέση ο αριθμός 300 και σε κάθε επόμενη το μισό της τιμής της προηγούμενης δηλαδή στη δεύτερη θέση το 150, στην Τρίτη το 75 κ.ο.κ. (Μον. 5) ΘΕΜΑ 2 Ο Α. Δίνεται ο ακόλουθος πίνακας ακεραίων Α με τις εξής τιμές: 3 1 6 15 12 και το ακόλουθο τμήμα αλγορίθμου: κ 0 Αρχή_επανάληψης Νώντας ψευδής Για i από 1 μέχρι 4 Αν Α[i]>Α[i +1] τότε προς Α[i] Α[i] Α[i +1] Α[i +1] προς Νώντας αληθής κ κ+1 Τέλος_αν Τέλος_επανάληψης Μέχρις_ότου Νώντας = ψευδής 4
α) Να γράψετε τις τιμές του πίνακα που θα προκύψουν μετά την εκτέλεση του παραπάνω τμήματος αλγορίθμου β) Τι εκφράζει η τιμή της μεταβλητής κ; (Μον 3) (Μον. 2) Β. Δίνεται το παρακάτω τμήμα αλγορίθμου : Για Ι από 1 μέχρι 10 Αν Α[Ι] < 100 τότε Β[Ι] Α[Ι] +Α[Ι]/2 αλλιώς Β[Ι] Α[Ι] Τέλος_αν Τέλος_επανάληψης Αν ο πίνακας Α έχει τα περιεχόμενα : 120 200 500 430 80 40 100 110 600 4 ποια θα είναι τα περιεχόμενα του πίνακα Β μετά την εκτέλεση του παραπάνω τμήματος αλγορίθμου ; (Μον. 2) Γ. Δίνεται ο παρακάτω πίνακας Β τι θα εμφανίσουν οι παρακάτω εντολές; i. εμφάνισε Β[3,1] ii. εμφάνισε Β[2,3] 1 4 2 2 1 iii. i 1 3 1 5 1 2 εμφάνισε Β[i,i + 3] 2 2 4 4 5 iv. i 1 1 1 3 5 1 j 3 εμφάνισε Β[Β[ i,2], j ] v. i 3 j 2 εμφάνισε Β [ Β [ i, 2], B[ j, i ] ] (Μον. 5) 5
Δ. Δίνεται δισδιάστατος πίνακας Β[4,5] ο οποίος περιέχει τα παρακάτω δεδομένα 0 0 3 0 0 2 0 0 0-1 0 0 0 0 0 7 0 0 0 0 Και το ακόλουθο τμήμα αλγόριθμου το οποίο δημιουργεί έναν μονοδιάστατο πίνακα Α : Κ 0 Π 0 Για i από 1 μέχρι 4 Για j από 1 μέχρι 5 Αν B[ i, j ] <>0 τότε Α[3*Κ+1] i Α[3*Κ+2] j Α[3*Κ+3] B[ i, j ] K K +1 Αλλιώς Π Π +1 Τέλος_αν Tέλος_επανάληψης Tέλος_επανάληψης Ν Π / 20 * 100 Εμφάνισε Ν, % α) Να σχεδιάσετε την μορφή και τα περιεχόμενα του πίνακα Α όπως θα είναι μετά την εκτέλεση του παραπάνω αλγορίθμου β) Ποια η τιμή της μεταβλητής Ν μετά το τέλος του αλγορίθμου και τι ακριβώς μας υποδεικνύει; (Μον. 8) ΘΕΜΑ 3 ο Σε μια διαδρομή τρένου υπάρχουν 20 σταθμοί( μαζί με την αφετηρία και τον τερματικό σταθμό). Το τρένο σταματά σε όλους τους σταθμούς. Σε κάθε σταθμό επιβιβάζονται και αποβιβάζονται επιβάτες. Οι πρώτοι επιβάτες επιβιβάζονται στην αφετηρία και στον τερματικό σταθμό αποβιβάζονται όλοι οι επιβάτες. Να κατασκευάσετε αλγόριθμο ο οποίος να διαχειρίζεται την κίνηση των επιβατών. Συγκεκριμένα: 6
1. Να ζητά από τον χρήστη τον αριθμό των ατόμων που επιβιβάστηκαν σε κάθε σταθμό, εκτός από τον τερματικό, και να τούς εισάγει σε πίνακα ΕΠΙΒ[19]. 2. Να εισάγει σε πίνακα ΑΠΟΒ[19] τον αριθμό των ατόμων που αποβιβάστηκαν σε κάθε σταθμό, εκτός από τον τερματικό ως εξής: Για την αφετηρία να εισάγει την τιμή μηδέν και για τους υπόλοιπους σταθμούς να ζητά από τον χρήστη τον αριθμό των ατόμων που αποβιβάστηκαν. 3. Να δημιουργεί πίνακα ΑΕ[19] στον οποίο να καταχωρεί τον αριθμό των επιβατών που βρίσκονται στο τρένο μεταβλητών από κάθε αναχώρηση του. 4. Να βρίσκει και να εμφανίζει τον σταθμό από τον οποίο το τρένο αναχωρεί με τον μεγαλύτερο αριθμό επιβατών. (Μον.20) ΘΕΜΑ 4 ο Σ ένα σχολείο οι μαθητές της Τεχνολογικής κατεύθυνσης της Γ Λυκείου είναι 50 και έχουμε αποθήκευση στον πίνακα Ε[50] τα επώνυμα τους ενώ στον πίνακα Β[50,14] έχουμε αποθήκευση τους βαθμούς στα 14 μαθήματα τους. Συγκεκριμένα στις πρώτες 10 στήλες έχουμε αποθήκευση τους βαθμούς στα 10 μαθήματα γενικής παιδείας και στις 4 τελευταίες στήλες τους βαθμούς στα μαθήματα κατεύθυνσης. Να γραφεί πρόγραμμα το οποίο: 1. Να περιέχει τμήμα δήλωσης μεταβλητών (Μον. 1) 2. Να διαβάζει τα περιεχόμενα των δυο πινάκων, ελέγχοντας οι βαθμοί να είναι από 0 μέχρι και 20. (Μον. 3) 3. Για κάθε μαθητή να εμφανίζει το επώνυμο του, το μέσο όρο του στα μαθήματα γενικής παιδείας και το μέσο όρο του στα μαθήματα κατεύθυνσης. (Μον. 4) 4. Να βρεθεί το ποσοστό των μαθητών που έχουν μέσο όρο στα μαθήματα κατεύθυνσης μεγαλύτερο από το μέσο όρο στα μαθήματα γενικής παιδείας. (Μον. 4) 5. Να διαβάζει το επώνυμο ενός μαθητή και να βρίσκει και να εμφανίζει τους βαθμούς του στα 14 μαθήματα. (Μον. 6) 6. Να εμφανίζει τα επώνυμα των μαθητών και τους μέσους όρους των μαθημάτων κατεύθυνσης ταξινομημένα ως προς το μέσο όρο των μαθημάτων κατεύθυνσης σε φθίνουσα σειρά. (Μον. 6) ΚΑΛΗ ΕΠΙΤΥΧΙΑ 7
ΑΠΑΝΤΗΣΕΙΣ (Ενδεικτικές) ΘΕΜΑ 1 ο Α) 1.Λ 2.Σ 3.Λ 4.Λ 5.Σ 6.Λ 7.Σ 8.Λ 9.Λ 10.Λ Γ) 1.C 2.A,D,E,F,G,H,I 3.B,C, D 4. A, D, E, G 5.B, D Δ) ΜΕΤΑΒΛΗΤΕΣ ΧΑΡΑΚΤΗΡΕΣ :B ΑΚΕΡΑΙΕΣ : Κ,Y ΠΡΑΓΜΑΤΙΚΕΣ :P,Χ Ε) 1α, ε 2 γ 3δ 4β Ζ) 1Α,Γ,Ε 2Β, Δ, Ζ Η) 1. Για i από 1 μέχρι 5 Για j από 1 μέχρι 7 Αi, ji j 2. αp300 Για i από 1 μέχρι 10 Αi p p p / 2 ΘΕΜΑ 2 ο Α) Α: 3 1 6 15 12 Ο πίνακας που προκύπτει είναι : 1 3 6 15 12 η μεταβλητή Νωντας :αληθής και το κ=1 η οποία μετρά πόσες φορές έγινε αντιμετάθεση. 8
Β) Β : 120, 200, 500, 430, 120, 60, 100, 110, 600, 6 Γ) i) 2 ii)5 iii)2 iv)3 v)2 Δ) A : 1 3 3 2 1 2 2 5-1 4 1 7 Ν : 80% μηδενικά στοιχεία. Είμαστε τυχεροί που είμαστε δάσκαλοι ΘΕΜΑ 3 ο Αλγόριθμος τρένο Για i από 1 μέχρι 19 Διάβασε ΕΠΙΒi Αν i=1 τότε ΑΠΟΒ i αλλιώς Διάβασε ΑΠΟΒ i Τέλος - αν ΑΕ1 ΕΠΙΒ1 Για i από 2 μέχρι 19 i AE i 1 E i A i mαx 1 θ 1 Για i από 2 μέχρι 19 Αν mαx<aei τότε mαx i θ i Τέλος - αν εμφάνισε θ Τέλος τρένο 9
ΘΕΜΑ 4 ο ΠΡΟΓΡΑΜΜΑ ΜΑΘΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : i, j, κ,π, θ ΧΑΡΑΚΤΗΡΕΣ : Επώνυμο, ΕΠ50, λ ΠΡΑΓΜΑΤΙΚΕΣ : 50, 50, 50,P4, 1, 2, ΑΡΧΗ Για i από 1 μέχρι 50 Διάβασε Εi Για j από 1 μέχρι 14 Αρχή - Επανάληψης Διάβασε Βi, j Μέχρις-ότου Βi, j >=0 και Βi, j <=20 Σ1 0 Για i από 1 μέχρι 10 Σ1 1 i, j 2 0 Για j από 11 μέχρι 14 22 i, j Π 0 Για i από 1 μέχρι 50 i i τότε Αν 1 Τέλος - αν Γράψε π/50 *100 Διάβασε επώνυμο i j θ 0 Όσο i<=50 και θ=0 επανάλαβε Αν Επi ώ τότε i 10
αλλιώς ii 1 Τέλος - αν Για j από 1 μέχρι 14 Γράψε Β,j Για κ από 2 μέχρι 50 Για i από 50 μέχρι κ με βήμα -1 i MOK i 1 τότε Αν i ΜΟΚiMOKi 1 i1 λ i ΕπiEi 1 Επi1 Τέλος - αν Για i από 1 μέχρι 50 ΤΕΛΟΣ - ΠΡΟΓΡΑΜΜΑΤΟΣ Γράψε i,moki 11