13o Διαγώνισμα

Ανάπτυξη Εφαρµογών
σε Προγραµµατιστικό Περιβάλλον
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Γ΄ ΛΥΚΕΙΟΥ
κ
∆ΙΑΓΩΝΙΣΜΑ Α’
Θέµα 1ο
Α. Να γράψετε στο τετράδιο σας τον αριθµό κάθε µιάς από τις παρακάτω προτάσεις
και δίπλα τη λέξη: Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασµένη.
1. ∆εσµευµένες λέξεις καλούνται οι λέξεις που χρησιµοποιούνται από την ίδια τη
ΓΛΩΣΣΑ για συγκεκριµένους λόγους και δεν µπορούν να χρησιµοποιηθούν ως
ονόµατα.
Σ
Λ
2. Οι τύποι µεταβλητών που δέχεται η ΓΛΩΣΣΑ είναι µόνο ΠΡΑΓΜΑΤΙΚΕΣ και
ΑΚΕΡΑΙΕΣ.
Σ
Λ
3. Η συγχώνευση είναι µία από τις βασικές λειτουργίες σε πίνακες και σκοπός της
είναι η δηµιουργία από τα στοιχεία δύο (ή περισσότερων) ταξινοµηµένων
πινάκων ενός άλλου, που είναι και αυτός ταξινοµηµένος.
Σ
Λ
4. Η χρήση πινάκων αυξάνει την απαιτούµενη µνήµη για την εκτέλεση του
προγράµµατος
Σ
Λ
5. Τα σχόλια τοποθετούνται πάντα στην αρχή του προγράµµατος.
Σ
Λ
6. Ένα υποπρόγραµµα δεν µπορεί να κληθεί περισσότερες από δυο φορές από το
κυρίως πρόγραµµα.
Σ
Λ
7. Ένα υποπρόγραµµα µπορεί κατά την εκτέλεσή του να καλέσει το κυρίως
πρόγραµµα.
Σ
Λ
8. Στα υποπρογράµµατα δεν είναι απαραίτητη η δήλωση των µεταβλητών που
χρησιµοποιούν, αν αυτές έχουν το ίδιο όνοµα και τύπο µε µεταβλητές του
κυρίως προγράµµατος.
Σ
Λ
9. Υπάρχει η περίπτωση τυπικές και οι αντίστοιχες πραγµατικές παράµετροι να
έχουν το ίδιο όνοµα και διαφορετικό τύπο.
Σ
Λ
1
ΘΕΤΙΚΟ
ΦΡΟΝΤΙΣΤΗΡΙΟ
10. Απαγορεύεται σε ένα υποπρόγραµµα να γίνεται κλήση ενός άλλου
υποπρογράµµατος.
Σ
Λ
(Μονάδες 10)
Β. Να συνδέσετε τα στοιχεία της στήλης Α µε τα στοιχεία των στηλών Β και Γ.
ΟΝΟΜΑ ΓΛΩΣΣΑΣ
ΤΟΜΕΑΣ
ΕΦΑΡΜΟΓΩΝ
1. Fortran
Ι. Επιστηµονικός
2. Cobol
II. Εµπορικός
3. Algol
III. Επιστηµονικός και
4. Prolog
5. Lisp
Εµπορικός
IV. Προγραµµατισµός
ΕΙ∆ΟΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
A.
Συναρτησιακός
B.
Αντικειµενοστραφής
6. Pascal
συστηµάτων
7. Basic
V. Προγραµµατισµός
C.
Μη διαδικασιακός
στο διαδίκτυο
D.
∆ιαδικασιακός
8. C
9. C++
VI. Γενικής χρήσης
10. Java
VII. Τεχνητής
11. PL/1
νοηµοσύνης
(Μονάδες 10)
Γ. Γ. Ξαναγράψτε τον αλγόριθµο χρησιµοποιώντας την δοµή Για … από …. µέχρι
… µε_βήµα …
ΧÅ10
ΟΣΟ Χ>0 ΕΠΑΝΑΛΑΒΕ
ΑÅ10+Χ
ΒÅ5
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ Α>11 ΤΟΤΕ
ΕΜΦΑΝΙΣΕ Α+Β, Χ
ΑΛΛΙΩΣ
ΕΜΦΑΝΙΣΕ Α-Β, Χ
2
Ανάπτυξη Εφαρµογών
σε Προγραµµατιστικό Περιβάλλον
ΤΕΛΟΣ_ΑΝ
ΑÅΑ-8
ΒÅΒ+1
ΜΕΧΡΙΣ_ΟΤΟΥ Β>20
ΧÅΧ - 3
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
(Μονάδες 10)
∆. ∆ίνεται το παρακάτω τµήµα αλγορίθµου
Χ←0
Υ←0
Για i από Ζ µέχρι 4 µε_βήµα –2
Αν (i mod 2=0) τότε
Χ←Χ+1
αλλιώς
Υ←Υ+1
Τέλος_αν
Τέλος_επανάληψης
αν το αποτέλεσµα είναι Χ=0 και Υ=5, τότε ποια τιµή θα µπορούσε να έχει το Z;
1. α) Ζ=13 β) Ζ=10 γ) Ζ=9 δ) Ζ=0
2. Να γίνει το διάγραµµα ροής του παραπάνω αλγορίθµου.
(Μονάδες 10)
Θέµα 2ο
1. ∆ίνεται το ακόλουθο τµήµα αλγορίθµου:
Για i από 2 µέχρι 3
Για j από 2 µέχρι 1 µε_βήµα -1
Αν (i + j mod 2 = 2) ή (i+j mod 2 = 3) τότε
Π[i,j] Å i + j
Αλλιώς
Π[i,j] Å Π[i+1,j+1] + Π[i-1, j+2]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
και ο ακόλουθος πίνακας µε όνοµα Π που περιέχει ακεραίους αριθµούς:
3
ΘΕΤΙΚΟ
ΦΡΟΝΤΙΣΤΗΡΙΟ
10
0
-5
1
801
4
5
9
28
35
0
25
101 569 -50
0
13
268 327
-8
Να σχεδιαστεί ο πίνακας που προκύπτει µετά την εκτέλεση του πιο πάνω τµήµατος
αλγορίθµου.
(Μονάδες 20)
ο
Θέµα 3
Ένα τουριστικό γραφείο διοργανώνει εκδροµές µε κρουαζιερόπλοια για γκρουπ . Οι
τιµές διαµορφώνονται ανάλογα µε τις ηµέρες της εκδροµής και ανάλογα µε τον
αριθµό των ατόµων των γκρουπ Επίσης το γραφείο για κάθε πακέτο διακοπών
προσφέρει δωρεάν σε 1 ή περισσότερα άτοµα την κρουαζιέρα όπως φαίνεται στον
παρακάτω πίνακα
Άτοµα προσφοράς
8ηµέρες τιµή
Αριθµός ατόµων
5ηµέρες τιµή
κατά άτοµο σε
εκδροµής
κατά άτοµο σε
ευρώ
ευρώ
5-10
500
550
1
11-15
400
450
2
16-20
300
350
3
Άνω των 20
200
250
4
Να γραφεί πρόγραµµα το οποίο για κάθε εκδροµή:
1. Θα διαβάζει τον αριθµό των ατόµων του γκρουπ, τη διάρκεια της κρουαζιέρας ή
ηµέρες και το όνοµα του γκρούπ.
2. Θα υπολογίζει την τιµή κατ’ άτοµο της κρουαζιέρας καθώς και τις δωρεάν
συµµετοχές µε την βοήθεια διαδικασίας.
3. Θα εµφανίζει το µήνυµα «τιµή συµµετοχής κατ’ άτοµο» και την τιµή θα
εµφανίζει το µήνυµα «δωρεάν συµµετοχή σε άτοµα» και τα άτοµα που θα
συµµετέχουν δωρεάν.
4. Θα εµφανίζει το όνοµα του γρούπ που έχει τα περισσότερα έσοδα από την
εκδροµή.
4
Ανάπτυξη Εφαρµογών
σε Προγραµµατιστικό Περιβάλλον
5. Η είσοδος των δεδοµένων και ο υπολογισµός της τιµής κατά άτοµο θα
επαναλαµβάνεται µέχρι να δοθεί όνοµα γρούπ το κενό.
Παρατήρηση θεωρείστε ότι γίνεται σωστή καταχώρηση των δεδοµένων
(Μονάδες 20)
Θέµα 4ο
Σε ένα τοπικό πρωτάθληµα ποδοσφαίρου παίρνουν µέρος 10 οµάδες σε µονούς
αγώνες σε ουδέτερα στάδια. Τα αποτελέσµατά τους καταχωρούνται σε ένα
δισδιάστατο πίνακα ΑΠΟΤ[10,10] όπου κάθε γραµµή έχει τα αποτελέσµατα τις
αντίστοιχης οµάδας µε την αντίστοιχη της κάθε στήλης(το αποτέλεσµα αφορά την
οµάδα τις γραµµής). Για κάθε νίκη καταχωρείται το γράµµα Ν για κάθε ήττα το
γράµµα Η και για κάθε ισοπαλία το γράµµα Ι. Στην κύρια διαγώνιο καταχωρείται το
σύµβολο ‘’–‘’ αφού καµία οµάδα δεν µπορεί να παίξει µε τον εαυτό της.
α) Να δοθεί αλγόριθµος που να διαβάζει τον πίνακα ΑΠΟΤ[10,10] (κάνοντας
έλεγχο ορθότητας δεδοµένων), τα ονόµατα των οµάδων, τα τέρµατα υπέρ και τα
τέρµατα κατά που έχουν πετύχει και να τα αποθηκεύει στους κατάλληλους πίνακες.
β) Να δηµιουργεί πίνακα ΠΛΗΘΟΣ[10,3] όπου στην πρώτη στήλη να έχει αριθµό
νικών, στη δεύτερη αριθµό ηττών και στην τρίτη αριθµό ισοπαλιών κάθε οµάδος
(αφού πρώτα τον µηδενίσει τον πίνακα.
γ) Να δηµιουργεί πίνακα Β[10] µε τις βαθµολογίες κάθε οµάδος λαµβάνοντας
υπόψη ότι για κάθε νίκη η οµάδα παίρνει 3 βαθµούς για κάθε ισοπαλία 1 βαθµό και
κάθε ήττα 0 βαθµούς.
δ) Να εµφανίζει το όνοµα του πρωταθλητή (Κριτήρια καλύτερης οµάδας : i) Βαθµοί
, ii) ∆ιαφορά τερµάτων και iii) Τέρµατα υπέρ. Αν υπάρχει ισοβαθµία ακολουθούµε
το 2° κριτήριο ενώ αν και πάλι υπάρχει ισοβαθµία τότε ακολουθούµε το 3°
κριτήριο
(Μονάδες 20)
ΑΠΑΝΤΗΣΕΙΣ
Θέµα 1ο
Α. 1 Σ, 2 Λ, 3 Σ, 4 Σ, 5Λ, 6 Λ, 7 Λ, 8 Λ, 9 Λ, 10 Λ
Β. 1 Ι, D 2 ΙΙ, D 3 VI, D 4 VII, C 5VII, A 6 VI, D 7 VI, D
8 IV, D 9 IV, B 10 V, B 11 III, D
Γ. Για x από 10 µέχρι 0 µε_βήµα -3
Α← 10 + x
Για Β από 5 µέχρι 20
5
ΘΕΤΙΚΟ
ΦΡΟΝΤΙΣΤΗΡΙΟ
Αν A > 11 τότε
Εµφάνισε A + B , x
αλλιώς
Εµφάνισε A − B , x
Τέλος _αν
Α← A − 8
Τέλος_επανάληψης
Τέλος_επανάληψης
∆. 1. α
2.
X←0
Y←0
i←Z
OXI
NAI
i >= 4
OXI
i mod 2 = 0
Y ← Y +1
X ← X +1
i ←i−2
6
NAI
Ανάπτυξη Εφαρµογών
σε Προγραµµατιστικό Περιβάλλον
Θέµα 2ο
i
j
2
2
10
0
−5
1
801
2
1
3
4
9
28
35
3
2
22
5
−50
0
25
3
1
0
13
268
327
−8
Θέµα 3ο
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ, ΑΑ, ΗΜ, Τ, ∆Α, ΕΠ
ΧΑΡΑΚΤΗΡΕΣ: ΟΝ, ΟΝ_max
ΑΡΧΗ
∆ΙΑΒΑΣΕ ΟΝ
x←0
ΟΣΟ ΟΝ< > ̀ ̀ ΕΠΑΝΑΛΑΒΕ
∆ΙΑΒΑΣΕ ΑΑ, ΗΜ
ΚΑΛΕΣΕ ΕΚ∆ΡΟΜΗ (ΑΑ, ΗΜ, Τ, ∆Α)
ΓΡΑΨΕ ‘ ΤΙΜΗ ΣΥΜΜΕΤΟΧΗ ΚΑΤΑ ΑΤΟΜΟ ‘ , Τ
ΓΡΑΨΕ ‘ ∆ΩΡΕΑΝ ΣΥΜΜΕΤΟΧΗ ΣΕ ΑΤΟΜΑ ‘ , ∆Α
ΕΠ ← Τ * ( ΑΑ − ∆Α )
x ← x +1
ΑΝ x = 1 ΤΟΤΕ
max ← ΕΠ
ΟΝ_ max ← ΟΝ
ΑΛΛΙΩΣ
ΑΝ ΕΠ > max ΤΟΤΕ
max ← ΕΠ
ON _ max ← ON
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
7
ΘΕΤΙΚΟ
ΦΡΟΝΤΙΣΤΗΡΙΟ
∆ΙΑΒΑΣΕ ΟΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΕΜΦΑΝΙΣΕ ΟΝ_max
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
∆ΙΑ∆ΙΚΑΣΙΑ ΕΚ∆ΡΟΜΗ (Α, Η, ΤΤ, ∆)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α, Η, ΤΤ, ∆
ΑΡΧΗ
ΑΝ A < = 10 ΚΑΙ A > = 5 ΤΟΤΕ
ΑΝ H = 5 ΤΟΤΕ
TT ← 500
∆ ←1
ΑΛΛΙΩΣ_ΑΝ H = 8 ΤΟΤΕ
TT ← 550
∆ ←1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ A > = 11 ΚΑΙ A < = 15 ΤΟΤΕ
ΑΝ H = 5 ΤΟΤΕ
TT ← 400
∆←2
ΑΛΛΙΩΣ_ΑΝ H = 8 ΤΟΤΕ
TT ← 450
∆←2
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ A > = 16 ΚΑΙ A < = 20 ΤΟΤΕ
ΑΝ H = 5 ΤΟΤΕ
TT ← 300
∆←3
ΑΛΛΙΩΣ_ΑΝ H = 8 ΤΟΤΕ
TT ← 350
∆←3
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
ΑΝ H = 5 ΤΟΤΕ
TT ← 200
∆←4
ΑΛΛΙΩΣ_ΑΝ H = 8 ΤΟΤΕ
TT ← 250
8
Ανάπτυξη Εφαρµογών
σε Προγραµµατιστικό Περιβάλλον
∆←4
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_∆ΙΑ∆ΙΚΑΣΙΑΣ
Θέµα 4ο
Αλγόριθµος Άσκηση
Για i από 1 µέχρι 10
Για j από 1 µέχρι 10
Αν i = j τότε
A [i, j] ← "_"
αλλιώς
Αρχή _επανάληψης
∆ιάβασε ΑΠΟΤ [i, j]
Μέχρις_ότου ΑΠΟΤ [i, j] = " N" ή ΑΠΟΤ [i, j] = "I" ή ΑΠΟΤ [i, j] = "H"
Τέλος_αν
Τέλος_επανάληψης
∆ιάβασε ON [i ] , TY [i ] , TK [i ]
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 µέχρι 10
ΠΛΗΘΟΣ [i,1] ← 0
ΠΛΗΘΟΣ [i, 2] ← 0
ΠΛΗΘΟΣ [i,3] ← 0
Για j από 1 µέχρι 10
Αν ΑΠΟΤ [i, j] = " N" τότε
ΠΛΗΘΟΣ [i,1] ← ΠΛΗΘΟΣ [i,1] + 1
αλλιώς_αν ΑΠΟΤ [i, j] = "H" τότε
ΠΛΗΘΟΣ [i, 2] ← ΠΛΗΘΟΣ [i, 2] + 1
αλλιώς_αν ΑΠΟΤ [i, j] = "I" τότε
ΠΛΗΘΟΣ [i,3] ← ΠΛΗΘΟΣ [i,3] + 1
τέλος_αν
τέλος_επανάληψης
9
ΘΕΤΙΚΟ
ΦΡΟΝΤΙΣΤΗΡΙΟ
τέλος_επανάληψης
Για i από 1 µέχρι 10
B [i ] ← ΠΛΗΘΟΣ [i,1] *3 + ΠΛΗΘΟΣ [i,3] *1
∆Τ [i ] ← TY [i ] − TK [i ]
τέλος_επανάληψης
Για κ από 2 µέχρι 10
Για i από 10 µέχρι κ µε_βήµα_1
Αν B [i − 1] < B [i ] τότε
temp1 ← TY [i − 1]
TY [i − 1] ← TY [i ]
TY [i ] ← temp1
temp2 ← ∆Τ [i − 1]
∆Τ [i − 1] ← ∆Τ [i ]
∆Τ [i ] ← temp2
temp3 ← B [i − 1]
B [i − 1] ← B [i ]
B [i ] ← temp3
temp4 ← ON [i − 1]
ON [i − 1] ← ON [i ]
ON [i ] ← temp4
αλλιώς_αν B [i − 1] = B [i ] τότε
Αν ∆Τ [i − 1] < ∆Τ [i ] τότε
temp2 ← ∆Τ [i − 1]
∆Τ [i − 1] ← ∆Τ [i ]
∆Τ [i ] ← temp2
temp1 ← TY [i − 1]
TY [i − 1] ← TY [i ]
TY [i ] ← temp1
10
Ανάπτυξη Εφαρµογών
σε Προγραµµατιστικό Περιβάλλον
temp4 ← ON [i − 1]
ON [i − 1] ← ON [i ]
ON [i ] ← temp4
αλλιώς_αν ∆Τ [i − 1] = ∆Τ [i ] τότε
Αν TY [i − 1] < TY [i ] τότε
temp1 ← TY [i − 1]
TY [i − 1] ← TY [i ]
TY [i ] ← temp1
temp4 ← ON [i − 1]
ON [i − 1] ← ON [i ]
ON [i ] ← temp4
τέλος_αν
τέλος_επανάληψης
τέλος_επανάληψης
Εµφάνισε ON [1]
Τέλος Άσκηση
Επιµέλεια: Παπαδόπουλος ∆ηµήτρης
11