ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ κ ΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 Α. Σηµειώστε ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος: 1. Η ουρά είναι δυναµική δοµή δεδοµένων. 2. Η εισαγωγή είναι µία από τις βασικές λειτουργίες σε έναν πίνακα. 3. Οι παράµετροι του προγράµµατος λέγονται τυπικές. 4. Το εκτελέσιµο πρόγραµµα είναι αυτό που εκτελείται από τον υπολογιστή. 5. Η µέθοδος διαίρει και βασίλευε είναι µία µέθοδος δηµιουργίας αλγορίθµου. Β.1. Σηµειώστε τον αριθµό της πράξης στην 1 η αντιστοιχεί στο αποτέλεσµα της στην 2 η στήλη. 1: 20 mod (8div 3) α: 0 2: 16mod3*2 β: 1 3: 4*7mod8 γ: 2 4: 20div6mod4 δ: 3 5: 15mod4*2mod5 ε: 4 στήλη µε το γράµµα που Β.2. ιαλέξτε ποια γλώσσα θα χρησιµοποιούσατε, για: 1. Να φτιάξετε µια ιστοσελίδα α. Cobol 2. Να φτιάξετε ένα εµπορικό πρόγραµµα β. Fortran 3. Εκπαίδευση ενός αρχάριου γ. Java 4. Να επιλύσετε ένα επιστηµονικό πρόβληµα δ. Basic Γ. Επιλέξτε τη σωστή απάντηση: 1. Από το συντάκτη παράγεται: Α. το εκτελέσιµο πρόγραµµα Β. το πηγαίο πρόγραµµα Γ. το αντικείµενο πρόγραµµα. τίποτα από τα παραπάνω
2. Ποιο (ή ποια) από τα παρακάτω δεν αποτελούν µέθοδο δηµιουργίας αλγορίθµου: Α. Μέθοδος πολ/µου αλά ρωσικά Β. Μέθοδος δυναµικού προγραµµατισµού Γ. Άπληστη µέθοδος. Μέθοδος τµηµατικού προγραµµατισµού 3. Οι εντολές ανάµεσα στην όσο... συνθήκη επανάλαβε και στο τέλος_επανάληψης, εκτελούνται: Α. όσο η συνθήκη είναι ψευδής Β. µέχρις ότου η συνθήκη γίνει ψευδής Γ: τουλάχιστον µια φορά : Μέχρις ότου η συνθήκη να γίνει αληθής. Αν οι Α, Β, Γ είναι λογικές µεταβλητές βρείτε το αποτέλεσµα της πράξης: (Α ή (Β και Γ)) ή όχι (Β και Α), όταν: Β: ψευδής, Β ή Γ: αληθής, Α και Γ: ψευδής. ικαιολογήστε την απάντησή σας. ΘΕΜΑ 2 Α. ίνεται το παρακάτω διάγραµµα ροής: AΡΧΗ ιάβασε α, z i α z z+ i i i+ 2 i>10 Ν Εµφάνισε α, z Τέλος 0 α α+ i z Μετατρέψτε τον σε κώδικα χρησιµοποιώντας και τις 3 δοµές επανάληψης.
Β. ίνεται το παρακάτω τµήµα αλγορίθµου: x 2 ιάβασε α Αν α > 5 τότε x 2 α + x Αλλιώς_αν α > 0 τότε x α /2+ x Αλλιώς_αν α < 7 τότε x α 2+ x Αλλιώς x 2+α+x Ξαναγράψτε τον χρησιµοποιώντας διαδοχικά αν. ΘΕΜΑ 3 Οι 500 µαθητές ενός σχολείου εξετάζονται σε 3 µαθήµατα (Μαθ. Φυσ. Χηµ.). Να γραφεί ένα πρόγραµµα που: α. Να αποθηκεύει σε κατάλληλους πίνακες τα ονόµατα, το φύλο καθώς και την βαθµολογία κάθε µαθητή σε κάθε ένα από τα 3 µαθήµατα. β. Να βρίσκει και να εµφανίζει το µέσο όρο κάθε µαθητή. γ. Με τη βοήθεια µιας διαδικασίας που θα κατασκευάσετε, να εµφανίζει σε δυο λίστες τα ονόµατα των 3 καλύτερων αγοριών και των 3 καλύτερων κοριτσιών. Να εµφανίζει επίσης και όλους όσους έχουν ίση βαθµολογία µε τον 3 ο. δ. Να εµφανίζει σε ποιο µάθηµα τα αγόρια είναι καλύτερα από τα κορίτσια. ΘΕΜΑ 4 Στους αγώνες F1 συµµετέχουν 11 οµάδες µε δυο οδηγούς η κάθε µια. Το πρωτάθληµα ολοκληρώνεται µετά από 17 grand prix στα οποία οι 8 πρώτοι βαθµολογούνται µε 10,8,6,5,4,3,2 και 1 βαθµό αντίστοιχα, ενώ η κατασκευάστρια εταιρεία παίρνει το άθροισµα των βαθµών των οδηγών της. Γράψτε έναν αλγόριθµο, ο οποίος: α. Σε έναν πίνακα ΟΝ [11,3] να καταχωρεί τα ονόµατα των κατασκευαστών και των οδηγών τους. (Μονάδες 2) β. Σε ένα πίνακα Κ [11,34] να καταχωρεί τη θέση που κατέλαβαν οι οδηγοί κάθε οµάδας (στις στήλες 1, 2, 3, 5,... καταχωρεί την θέση του πρώτου οδηγού και
στις υπόλοιπες του δεύτερου) γ. Να δηµιουργεί έναν πίνακα Β [11,3] όπου θα καταχωρούνται οι συνολικοί βαθµοί κάθε οδηγού και της οµάδας του και στη συνέχεια να εµφανίζει το όνοµα (ή τα ονόµατα) των οδηγών µε τις περισσότερες νίκες. ε. Να εµφανίζει το όνοµα του παγκόσµιου πρωταθλητή (όταν δύο οδηγοί έχουν τους ίδιους βαθµούς νικητής είναι αυτός µε τις περισσότερες πρώτες θέσεις). στ. Να εµφανίζει το όνοµα του πρωταθλητή κατασκευαστών (θεωρείστε ότι οι συνολικές βαθµολογίες των οµάδων είναι διαφορετικές). ΘΕΜΑ 1 Α. 1. Λ 2. Λ 3. Λ 4. Σ 5. Σ Β.1. Β.2. 1. α 1. γ 2. γ 2. α 3. ε 3. δ 4. δ 4. β 5. β Γ. 1. Β 2. Α, 3. Β ΑΠΑΝΤΗΣΕΙΣ. Αφού Β ή Γ: αληθής και η Β είναι ψευδής η Γ θα είναι αληθής. Αφού Α και Γ ψευδής και η Γ είναι αληθής η Α θα είναι ψευδής, άρα:
Α Β Γ Β και Γ Α ή (Β και Γ)= Β και Α όχι (Β και Α)=Ε ή Ε Ψ Ψ Α Ψ Ψ Ψ Α Α Άρα η έκφραση είναι αληθής. ΘΕΜΑ 2 Α. α. ιάβασε α, z i α z z + i Όσο i<= 10 τότε α α+ i z i i+ 2 z z+ i Εµφάνισε α, z β. ιάβασε α, z i α z z + i Αν i<= 10 τότε Αρχή_επανάληψης α α+ i z i i+ 2 z z+ i >10 Μέχρις_ότου i Εµφάνισε α, z γ. ιάβασε α, z i α z z +i Για i από α µέχρι 10 µε_βήµα 2 α α+ i z z z+ i+2 Εµφάνισε α, z Β. x 2 ιάβασε α
Αν α > 5 τότε x 2 α + x α > 0 και α <= 5 τότε ( ) Αν ( ) ( ) x α /2+ x Αν α < 7 τότε x α 2+ x α >= 7 και α <= 0 τότε Αν ( ) ( ) x 2 + α + x ΘΕΜΑ 3 ΠΡΟΓΡΑΜΜΑ ΜΑΘΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, κ, ν, µ ΠΡΑΓΜΑΤΙΚΕΣ: Β[500,3], S, MO[500], MAΓ[500], ΜΚΟΡ[500], S1, S2 ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[500], Φ[500], ΑΓ[500], ΚΟΡ[500], ΜΑΘ[3] ΑΡΧΗ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 500 ΙΑΒΑΣΕ ΟΝ[i], Φ[i] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3 ΙΑΒΑΣΕ Β[i, j] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 500 S 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3 S S +B[i,j] ΜΟ[i] S/3 ΓΡΑΨΕ ΜΟ[i] κ 0 v 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 500 ΑΝ Φ[i]= Α ΤΟΤΕ κ κ+ 1 ΑΓ[κ] ΟΝ[i] ΜΑΓ[κ] ΜΟ[i] AΛΛΙΩΣ v v+ 1 ΚΟΡ[ν] ΟΝ i [ ] ΜΚΟΡ[ν] ΜΟ[i] ΤΕΛΟΣ_ΑΝ KΑΛΕΣΕ ΙΑ (ΑΓ,ΜΑΓ,κ) ΓΡΑΨΕ Τα καλύτερα αγόρια είναι: ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ κ ΑΝ ΜΑΓ[i]>=MAΓ[3] ΤΟΤΕ ΓΡΑΨΕ ΑΓ[i] TEΛΟΣ_ΑΝ ΚΑΛΕΣΕ ΙΑ (ΚΟΡ,ΜΚΟΡ,ν) ΓΡΑΨΕ Τα καλύτερα κορίτσια είναι : ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ ν ΑΝ ΜΚΟΡ[i]>=MΚΟΡ[3] ΤΟΤΕ ΓΡΑΨΕ ΚΟΡ[i] TEΛΟΣ_ΑΝ ΜΑΘ[1] στα Μαθηµατικά ΜΑΘ[2] στη Φυσική ΜΑΘ[3] στη Χηµεία ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3 S1 0 S2 0 µ 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 500 ΑΝ Φ[i]= Α ΤΟΤΕ S1 S1 + B i, j [ ] ΑΛΛΙΩΣ S2 S2 + B i, j [ ]
ΤΕΛΟΣ_ΑΝ S1 S1 / κ S2 S2 / v ΑΝ S1>S2 ΤΟΤΕ ΓΡΑΨΕ Τα αγόρια είναι καλύτερα,μαθ[j] µ 1 ΤΕΛΟΣ_ΑΝ ΑΝ µ=0 ΤΟΤΕ ΓΡΑΨΕ Τα αγόρια δεν είναι καλύτερα σε κανένα µάθηµα ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ ΠΡΟΓΡΑΜΜΑΤΟΣ ΙΑ ΙΚΑΣΙΑ ΙΑ (Α, Β, ν) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ν,i, j ΠΡΑΓΜΑΤΙΚΕΣ: Β[500], temp_1 ΧΑΡΑΚΤΗΡΕΣ: Α[500], temp_2 AΡXH ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ ν ΓΙΑ j ΑΠΟ ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1 ΑΝ Β[j]>B[j-1] TOTE temp_1 B j [ ] B[ j] B[ j 1] B[ j ] te mp _ 2 A[ j] A[ j ] A[ j 1] A[ j ] 1 temp_1 1 temp_2 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ ΙΑ ΙΚΑΣΙΑΣ ΘΕΜΑ 4 Αλγόριθµος F_1
Εµφάνισε ώσε το όνοµα της, i, ης οµάδας ιάβασε ΟΝ[i,1] Eµφάνισε και των οδηγών της Για j από 2 µέχρι 3 ιάβασε ΟΝ[i, j] Εµφάνισε ώσε την κατάταξη των οδηγών της,ον[i, 1] Για ν από 1 µέχρι 2 Για j από ν µέχρι 34 µε_βήµα 2 ιάβασε Κ[i, j] Για ν από 1 µέχρι 2 S 0 Για j από v µέχρι 34 µε_βήµα 2 Αν K[i,j]=1 τότε S S+10 Αλλιώς_αν K[i,j]=2 τότε S S+8 Αλλιώς_αν Κ[i,j]<=8 τότε S S+9- K[i,j] B[i,v] S B[i,3] B[i,1] + B[i,2] max 0 Για ν από 1 µέχρι 2 µ 0 Για j από v µέχρι 34 µε_βήµα 2 Αν K[i,j]=1 τότε µ µ+1 ΠΘ[i,ν] µ Αν µ>max τότε
max µ Εµφάνισε O (oι) οδηγός (οι) µε τις περισσότερες νίκες, είναι ο (οι) : Για j από 1 µέχρι 2 Aν ΠΘ[i,j]=max τότε Εµφάνισε ΟΝ[i,j+1] max -10 µ 1 ν 1 Για j από 1 µέχρι 2 Aν ((Β[i,j]>max) ή ((Β[i,j]=max) και (ΠΘ[i,j]>ΠΘ[µ,ν]))) τότε max Β[i,j] µ i ν j Εµφάνισε Παγκόσµιος πρωταθλητής είναι ο, ΟΝ[µ,ν+1] max 0 Για i από 1 µέχρι 13 Αν Β[i,3]>max τότε max Β[i,3] όνοµα ON[i,1] Εµφάνισε Παγκόσµια πρωταθλήτρια είναι η, όνοµα Τέλος F_1 Επιµέλεια: Kεραµυδάς ηµήτρης