3. Δοµές Δεδοµένων και Αλγόριθµοι

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
3. Δοµές Δεδοµένων και Αλγόριθµοι
3.1 Δεδοµένα
3.2 Αλγόριθµοι + Δοµές Δεδοµένων = Προγράµµατα
ΕΠ02-Θ1Α6
Οι δυναµικές δοµές έχουν σταθερό µέγεθος.
ΗΜ05-Θ1B1
Η ταξινόµηση είναι µια από τις βασικές λειτουργίες επί των δοµών
δεδοµένων.
ΗΜ06-Θ1Α5
Σε µία δυναµική δοµή δεδοµένων τα δεδοµένα αποθηκεύονται υποχρεωτικά σε
συνεχόµενες θέσεις µνήµης.
ΗΜ07-Θ1Α1
Με τη λειτουργία της συγχώνευσης, δύο ή περισσότερες δοµές δεδοµένων
συνενώνονται σε µία ενιαία δοµή.
ΗΜ08-Θ1Α3
Η δυναµική παραχώρηση µνήµης χρησιµοποιείται στις στατικές δοµές
δεδοµένων.
ΕΣΕΠ07-Θ1Α3
Αλγόριθµοι + Δοµές Δεδοµένων = Προγράµµατα.
ΕΣ09-Θ1Α1
Η προσπέλαση είναι µια από τις βασικές πράξεις επί των δοµών δεδοµένων.
ΕΠ09-Θ1Α3
Η δυναµική παραχώρηση µνήµης χρησιµοποιείται στις δοµές των πινάκων.
ΗΜ12-Α1-4
Οι δυναµικές δοµές δεδοµένων αποθηκεύονται πάντα σε συνεχόµενες θέσεις
µνήµης.
ΕΣΕΠ12-Α1-3
Οι δοµές δεδοµένων διακρίνονται σε τρεις µεγάλες κατηγορίες: τις στατικές,
τις δυναµικές και τις ηµιδοµηµένες.
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
ΗΜ02-Θ1Α
Να αναφέρετε ονοµαστικά τις βασικές λειτουργίες (πράξεις) επί των δοµών δεδοµένων.
ΕΣ07-Θ1Α2
Να δώσετε τον ορισµό της δοµής δεδοµένων.
Θέµατα Πανελληνίων ανά κεφάλαιο
1
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΣ04-Θ1Α
Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων.
1. Τι είναι δυναµική δοµή δεδοµένων;
2. Τι είναι στατική δοµή δεδοµένων;
3. Να αναφερθούν οι βασικές λειτουργίες (πράξεις) επί των δοµών δεδοµένων.
ΕΠ07-Θ1 Γ2
Να αναφέρετε δύο βασικές λειτουργίες επί των δοµών δεδοµένων που δεν µπορούν να
χρησιµοποιηθούν στους πίνακες. Να αιτιολογήσετε την απάντησή σας.
ΕΠ08-Θ1B
Να γράψετε στο τετράδιό σας τους αριθµούς 1,2,3,4 της Στήλης Α και δίπλα ένα από τα
γράµµατα α,β,γ,δ,ε,στ της Στήλης Β που αντιστοιχεί στον σωστό ορισµό.
Στήλη Α
Στήλη Β
1. Προσθήκη νέων κόµβων σε µία υπάρχουσα
δοµή.
2. Οι κόµβοι µιας δοµής διατάσσονται κατά
αύξουσα ή φθίνουσα σειρά.
3. Πρόσβαση σε ένα κόµβο µε σκοπό να
εξετασθεί ή να τροποποιηθεί το περιεχόµενό
του.
4. Όλοι οι κόµβοι ή µερικοί από τους κόµβους
µιας δοµής αντιγράφονται σε µία άλλη δοµή.
α. Προσπέλαση
β. Αντιγραφή
γ. Διαγραφή
δ. Αναζήτηση
ε. Εισαγωγή
στ. Ταξινόµηση
ΣΗΜΕΙΩΣΗ: Δύο (2) στοιχεία της Στήλης Β δεν χρησιµοποιούνται.
3.3 Πίνακες
ΗΜ05-Θ1B2
Τα στοιχεία ενός πίνακα µπορούν να αποτελούνται από δεδοµένα διαφορετικού
τύπου.
ΕΠ05-Θ1Α4
Ο πίνακας που χρησιµοποιεί ένα µόνο δείκτη για την αναφορά των στοιχείων του
ονοµάζεται µονοδιάστατoς.
Θέµατα Πανελληνίων ανά κεφάλαιο
2
Σ
Λ
Σ
Λ
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΣ00-Θ2Α5
Τα στοιχεία ενός πίνακα µπορεί να είναι διαφορετικού τύπου.
ΕΣ06-Θ1Γ1
Ο πίνακας είναι µία δυναµική δοµή δεδοµένων.
ΗΜ09-Θ1Α1
Σε µια στατική δοµή το ακριβές µέγεθος της απαιτούµενης κύριας µνήµης
καθορίζεται κατά την εκτέλεση του προγράµµατος.
ΗΜ11-Α1-5
Ο πίνακας είναι µία δοµή που µπορεί να περιέχει στοιχεία διαφορετικού τύπου.
HM12-A1-1
Ένας πίνακας έχει σταθερό περιεχόµενο αλλά µεταβλητό µέγεθος.
ΗΜ12-Α1-3
Η χρήση των πινάκων σε ένα πρόγραµµα αυξάνει την απαιτούµενη µνήµη.
ΗΜ09-Θ1Β1
Έστω πρόβληµα που αναφέρει: «...Να κατασκευάσετε αλγόριθµο που θα ζητάει
τις ηλικίες 100 ανθρώπων και να εµφανίζει το µέσο όρο ηλικίας τους...».
Δίνονται οι παρακάτω προτάσεις. Για κάθε µία πρόταση να γράψετε στο
τετράδιό σας το αντίστοιχο γράµµα και δίπλα τη λέξη ΣΩΣΤΟ ή ΛΑΘΟΣ, αν
θεωρείτε ότι η πρόταση είναι σωστή ή λανθασµένη αντίστοιχα.
α. Πρέπει να χρησιµοποιηθεί πίνακας.
β. Είναι δυνατόν να χρησιµοποιηθεί πίνακας.
γ. Είναι δυνατόν να χρησιµοποιηθεί η εντολή Όσο.
δ. Είναι δυνατόν να χρησιµοποιηθεί η εντολή Για.
ε. Η εντολή Για είναι η καταλληλότερη.
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
Σ
Σ
Σ
Σ
Σ
Λ
Λ
Λ
Λ
Λ
Ασκήσεις µε µονοδιάστατους πίνακες
ΗΜ04-Θ2
Δίνεται ο µονοδιάστατος πίνακας C µε έξι στοιχεία που έχουν αντίστοιχα τις παρακάτω
τιµές:
2, 5, 15, –1, 32, 14
και το παρακάτω τµήµα αλγορίθµου:
min ← 100
max ← –100
Για i από 1 µέχρι 6 µε_βήµα 2
Α ← C[i]
B ← C[i+1]
Αν A<Β τότε
Θέµατα Πανελληνίων ανά κεφάλαιο
3
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Lmin ← A
Lmax ← B
αλλιώς
Lmin ← Β
Lmax ← Α
Τέλος_αν
Αν Lmin<min τότε
min ← Lmin
Τέλος_αν
Αν Lmax>max τότε
max ← Lmax
Τέλος_αν
Εκτύπωσε Α, Β, Lmin, Lmax, min, max
Τέλος_επανάληψης
D ← max*min
Εκτύπωσε D
Να εκτελέσετε το παραπάνω τµήµα αλγορίθµου και να γράψετε στο τετράδιό σας:
α. Τις τιµές των µεταβλητών Α, Β, Lmin, Lmax, min και max, όπως αυτές εκτυπώνονται
σε κάθε επανάληψη.
β. Την τιµή της µεταβλητής D που εκτυπώνεται.
ΕΠ11-Β2
Δίνεται ο πίνακας Α τεσσάρων στοιχείων µε τιµές:
Α[1]=3, Α[2]=5, Α[3]=8, Α[4]=13
και το παρακάτω τµήµα αλγορίθµου:
i←1
j←4
Όσο i<=3 επανάλαβε
πρόχειρο ← Α[j]
A[j] ← Α[i]
Α[i] ← πρόχειρο
Γράψε Α[1], Α[2], Α[3]
i ←i + 1
j ←j – 1
Τέλος_επανάληψης
Να γράψετε στο τετράδιό σας τις τιµές που θα εµφανισθούν κατά την εκτέλεσή του.
Θέµατα Πανελληνίων ανά κεφάλαιο
4
Μίλτος Στάµος
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
ΗΜ12-Α3
Δίνεται ο πίνακας Α[10], στον οποίο επιθυµούµε να αποθηκεύσουµε όλους τους
ακεραίους αριθµούς από το 10 µέχρι το 1 µε φθίνουσα σειρά. Στον πίνακα έχουν εισαχθεί
ορισµένοι αριθµοί, οι οποίοι εµφανίζονται στο παρακάτω σχήµα:
1
10
2
9
3
4
5
6
5
7
4
8
9
10
1
α. Να συµπληρώσετε τις επόµενες εντολές εκχώρησης, ώστε τα κενά κελιά του
πίνακα να αποκτήσουν τις επιθυµητές τιµές.
Α[3] ← 3 + Α[...]
Α[9] ← Α[...] – 2
Α[8] ← Α[...] – 5
Α[4] ← 5 + Α[...]
Α[5] ← (Α[...] + Α[7]) div 2
β. Να συµπληρώσετε το παρακάτω τµήµα αλγορίθµου, το οποίο αντιµεταθέτει τις τιµές
των κελιών του πίνακα Α, έτσι ώστε η τελική διάταξη των αριθµών να είναι από 1 µέχρι
10.
Για i από ... µέχρι ...
αντιµετάθεσε Α[...], Α[...]
Τέλος_επανάληψης
ΕΣΕΠ12-Β2
Δίνονται οι πίνακες DATA[7], L[7], R[7], οι οποίοι περιέχουν δεδοµένα, όπως φαίνονται
στα παρακάτω
σχήµατα:
Χρησιµοποιώντας τους ανωτέρω πίνακες, να εκτελέσετε το παρακάτω τµήµα αλγορίθµου
και να συµπληρώσετε τον πίνακα τιµών, αφού τον µεταφέρετε στο τετράδιό σας.
Θέµατα Πανελληνίων ανά κεφάλαιο
5
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΓΡΑΜΜΑ ← ΄Σ΄
Κ←1
Όσο DATA[K] <> ΓΡΑΜΜΑ επανάλαβε
Εκτύπωσε DATA[K]
Αν DATA[K] > ΓΡΑΜΜΑ τότε
Κ ← L[K]
αλλιώς
Κ ← R[K]
Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε DATA[K]
ΗΜ05-Θ3
Δίνεται πίνακας Α[Ν] ακέραιων και θετικών αριθµών, καθώς και πίνακας Β[Ν-1]
πραγµατικών και θετικών αριθµών.
Να γραφεί αλγόριθµος, ο οποίος να ελέγχει αν κάθε στοιχείο Β[i] είναι ο µέσος όρος των
στοιχείων Α[i] και Α[i+1], δηλαδή αν Β[i] = (Α[i] + Α[i+1])/2.
Σε περίπτωση που ισχύει, τότε να εµφανίζεται το µήνυµα «Ο πίνακας Β είναι ο τρέχων
µέσος του Α», διαφορετικά να εµφανίζεται το µήνυµα «Ο πίνακας Β δεν είναι ο τρέχων
µέσος του Α».
Για παράδειγµα:
Έστω ότι τα στοιχεία του πίνακα Α είναι:
1, 3, 5, 10, 15
και ότι τα στοιχεία του πίνακα Β είναι: 2, 4, 7.5, 12.5.
Τότε ο αλγόριθµος θα εµφανίσει το µήνυµα «Ο πίνακας Β είναι ο τρέχων µέσος του Α»,
διότι 2 = (1+3)/2, 4=(3+5)/2, 7.5= (5+10)/2, 12.5=(10+15)/2.
ΕΠ02-Θ2
Δίνεται µονοδιάστατος πίνακας Α, 10 θέσεων, ο οποίος στις θέσεις 1 έως 10 περιέχει
αντίστοιχα τους αριθµούς:
15, 3, 0, 5, 16, 2, 17, 8, 19, 1
και τµήµα αλγορίθµου :
Θέµατα Πανελληνίων ανά κεφάλαιο
6
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Για i από 1 µέχρι 9 µε_βήµα 2
k ← ((i+10) mod 10)+1
A[i] ← A[k]
εκτύπωσε i, k, A[i], A[k]
Τέλος_επανάληψης
Ποιες τιµές τυπώνονται µε την εντολή
εκτύπωσε i, k, A[i], A[k]
καθώς εκτελείται το παραπάνω τµήµα αλγορίθµου ;
ΗΜ10-Α4
Έστω πίνακας table µε Μ γραµµές και Ν στήλες που περιέχει
αριθµητικές τιµές. ∆ίνεται ο παρακάτω αλγόριθµος που
υπολογίζει το άθροισµα κατά γραµµή, κατά στήλη και
συνολικά.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Αλγόριθµος Αθρ_ Πίνακα
∆εδοµένα // m, n, table //
sum ←0
Για i απ ό 1 µέχρι m
row [i] ←0
Τέλος_επανάληψης
Για j απ ό 1 µέχρι n
col [j] ←0
Τέλος_επανάληψης
Για i απ ό 1 µέχρι m
Για j απ ό 1 µέχρι n
________________
________________
________________
Τέλος_επανάληψης
Τέλος_επανάληψης
Αποτελέσµατα // row, col, sum //
Τέλος Αθρ_ Πίνακα
Τα αθροίσµατα των γραµµών καταχωρίζονται στον πίνακα row, των στηλών στον πίνακα
col και το συνολικό άθροισµα στη µεταβλητή sum.
Να γράψετε στο τετράδιό σας τις εντολές που πρέπει να συµπληρωθούν στις γραµµές 12,
13 και 14, ώστε ο αλγόριθµος να επιτελεί τη λειτουργία που περιγράφτηκε.
Θέµατα Πανελληνίων ανά κεφάλαιο
7
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΣΕΠ12-Α5
Δίνεται το παρακάτω τµήµα αλγορίθµου που χρησιµοποιεί ένα µονοδιάστατο πίνακα
Α[20]. Ο πίνακας περιέχει άρτιους και περιττούς θετικούς ακεραίους, σε τυχαίες θέσεις.
Το τµήµα αλγορίθµου δηµιουργεί ένα νέο πίνακα Β[20] στον οποίο υπάρχουν πρώτα οι
άρτιοι και µετά ακολουθούν οι περιττοί.
Να γράψετε στο τετράδιό σας τον αλγόριθµο συµπληρώνοντας τα κενά:
Κ←0
Για i από ............ µέχρι ............
Αν Α[i] mod 2 = 0 τότε
Κ ← ............
Β[............] ← A[i]
Τέλος_αν
Τέλος_επανάληψης
Για i από ............ µέχρι ............
Αν Α[i] mod 2 = ............ τότε
...........
Β[............] ← A[............]
Τέλος_αν
Τέλος_επανάληψης
ΕΠ04-Θ4
Σε κάποια χώρα της Ευρωπαϊκής Ένωσης διεξάγονται εκλογές για την ανάδειξη των
µελών του Ευρωπαϊκού Κοινοβουλίου. Θεωρήστε ότι µετέχουν 15 συνδυασµοί κοµµάτων,
οι οποίοι θα µοιραστούν 24 έδρες σύµφωνα µε το ποσοστό των έγκυρων ψηφοδελτίων
που έλαβαν. Κόµµατα που δεν συγκεντρώνουν ποσοστό έγκυρων ψηφοδελτίων
τουλάχιστον ίσο µε το 3% του συνόλου των έγκυρων ψηφοδελτίων δεν δικαιούνται έδρα.
Για κάθε κόµµα, εκτός του πρώτου κόµµατος, ο αριθµός των εδρών που θα λάβει
υπολογίζεται ως εξής: Το ποσοστό των έγκυρων ψηφοδελτίων πολλαπλασιάζεται επί 24
και στη συνέχεια το γινόµενο διαιρείται µε το άθροισµα των ποσοστών όλων των
κοµµάτων που δικαιούνται έδρα. Το ακέραιο µέρος του αριθµού που προκύπτει είναι ο
αριθµός των εδρών που θα λάβει το κόµµα.
Το πρώτο κόµµα λαµβάνει τις υπόλοιπες έδρες.
Να γράψετε αλγόριθµο ο οποίος:
α. να διαβάζει και να αποθηκεύει σε µονοδιάστατους πίνακες τα ονόµατα των κοµµάτων
και τα αντίστοιχα ποσοστά των έγκυρων ψηφοδελτίων τους.
Θέµατα Πανελληνίων ανά κεφάλαιο
8
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
β. να εκτυπώνει τα ονόµατα και το αντίστοιχο ποσοστό έγκυρων ψηφοδελτίων των
κοµµάτων που δεν έλαβαν έδρα.
γ. να εκτυπώνει το όνοµα του κόµµατος µε το µεγαλύτερο ποσοστό έγκυρων
ψηφοδελτίων.
δ. να υπολογίζει και να εκτυπώνει το άθροισµα των ποσοστών όλων των κοµµάτων που
δικαιούνται έδρα.
ε. να εκτυπώνει τα ονόµατα των κοµµάτων που έλαβαν έδρα και τον αντίστοιχο αριθµό
των εδρών τους.
Παρατηρήσεις:
α) Υποθέτουµε ότι δεν υπάρχουν δύο κόµµατα που να έχουν το ίδιο ποσοστό έγκυρων
ψηφοδελτίων.
β) Μπορείτε να χρησιµοποιήσετε τη συνάρτηση Α_Μ(x) που επιστρέφει το ακέραιο µέρος
του πραγµατικού αριθµού x.
γ) Τα ποσοστά να θεωρηθούν επί τοις εκατό (%).
ΕΣ05-Θ3
Για την εύρεση πόρων προκειµένου οι µαθητές της Δ΄ τάξης Εσπερινού Λυκείου να
συµµετάσχουν σε εκδροµή οργανώνεται λαχειοφόρος αγορά. Οι µαθητές του Λυκείου
διαθέτουν λαχνούς στα σχολεία της περιοχής τους. Διακόσιοι µαθητές από δεκαπέντε
διαφορετικά σχολεία αγόρασαν ο καθένας από έναν µόνο λαχνό. Μετά από κλήρωση ένας
µαθητής κερδίζει τον πρώτο λαχνό.
Να γίνει τµήµα αλγορίθµου που
α) για κάθε µαθητή που αγόρασε λαχνό να εισάγει σε µονοδιάστατο πίνακα Α 200 θέσεων
το επώνυµό του και στην αντίστοιχη θέση µονοδιάστατου πίνακα Β 200 θέσεων το όνοµα
του σχολείου του,
β) να εισάγει σε µονοδιάστατο πίνακα Σ 15 θέσεων τα ονόµατα όλων των σχολείων της
περιοχής και στις αντίστοιχες θέσεις µονοδιάστατου πίνακα M 15 θέσεων τις
ηλεκτρονικές διευθύνσεις των σχολείων,
γ) να διαβάζει το επώνυµο του µαθητή, που κέρδισε τον πρώτο λαχνό,
δ) χρησιµοποιώντας τον αλγόριθµο της σειριακής αναζήτησης να προσδιορίζει τη θέση
του επωνύµου του τυχερού µαθητή στον πίνακα Α. Στη συνέχεια στον πίνακα Β να
βρίσκει το όνοµα του σχολείου που φοιτά,
ε) λαµβάνοντας υπόψη το όνοµα του σχολείου που φοιτά ο τυχερός µαθητής και
χρησιµοποιώντας τον αλγόριθµο της σειριακής αναζήτησης να προσδιορίζει την θέση του
σχολείου στον πίνακα Σ. Στη συνέχεια στον πίνακα M να βρίσκει τη διεύθυνση του
ηλεκτρονικού ταχυδροµείου του σχολείου αυτού,
στ) να εµφανίζει το επώνυµο του τυχερού µαθητή, το όνοµα του σχολείου του και τη
διεύθυνση του ηλεκτρονικού ταχυδροµείου του σχολείου του.
Θέµατα Πανελληνίων ανά κεφάλαιο
9
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Σηµείωση:
Να θεωρήσετε ότι δεν υπάρχουν µαθητές µε το ίδιο επώνυµο και ότι κάθε µαθητής
αγόρασε έναν µόνο λαχνό.
ΕΣΕΠ05-Θ4
Να αναπτύξετε έναν αλγόριθµο, ώστε
α) να διαβάζει το πλήθος των ασθενών ενός νοσοκοµείου, το οποίο δεν µπορεί να δεχτεί
περισσότερους από 500 ασθενείς,
β) για κάθε ασθενή να διαβάζει τις ηµέρες νοσηλείας του, τον κωδικό του ασφαλιστικού
του ταµείου και τη θέση νοσηλείας. Να ελέγχει την ορθότητα εισαγωγής των δεδοµένων
σύµφωνα µε τα παρακάτω:
• οι ηµέρες νοσηλείας είναι ακέραιος αριθµός µεγαλύτερος ή ίσος του 1,
• τα ασφαλιστικά ταµεία είναι 10 µε κωδικούς από 1 µέχρι και 10,
• οι θέσεις νοσηλείας είναι Α ή Β ή Γ,
γ) να υπολογίζει και να εµφανίζει το µέσο όρο ηµερών νοσηλείας των ασθενών στο
νοσοκοµείο,
δ) να υπολογίζει και να εµφανίζει για κάθε ασθενή το κόστος παραµονής που πρέπει να
καταβάλει στο νοσοκοµείο το ασφαλιστικό του ταµείο σύµφωνα µε τις ηµέρες και τη
θέση νοσηλείας.
Το κόστος παραµονής στο νοσοκοµείο ανά ηµέρα και θέση νοσηλείας για κάθε ασθενή
φαίνεται στον ακόλουθο πίνακα:
Θέση
Κόστος παραµονής ανά ηµέρα
Νοσηλείας
νοσηλείας για κάθε ασθενή
Α
125 €
Β
90 €
Γ
60 €
ε) να υπολογίζει και να εµφανίζει µε τη χρήση πίνακα το συνολικό κόστος που θα
καταβάλει το κάθε ασφαλιστικό ταµείο στο νοσοκοµείο,
στ) να υπολογίζει και να εµφανίζει το συνολικό ποσό που οφείλουν όλα τα ασφαλιστικά
ταµεία στο νοσοκοµείο.
ΕΣΕΠ06-Θ4
Σε ένα Εσπερινό Γυµνάσιο φοιτούν 80 µαθητές. Να γραφεί αλγόριθµος ο οποίος:
α) Διαβάζει για κάθε µαθητή το ονοµατεπώνυµό του, την τάξη του και τον τελικό βαθµό
του και τα καταχωρεί σε µονοδιάστατους πίνακες, ελέγχοντας την ορθότητα εισαγωγής
των δεδοµένων σύµφωνα µε τα παρακάτω:
Θέµατα Πανελληνίων ανά κεφάλαιο
10
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
- Οι τάξεις είναι Α ή Β ή Γ.
- Ο τελικός βαθµός είναι από 1 µέχρι και 20.
β) Εµφανίζει τα ονόµατα των µαθητών της Β τάξης που έχουν τελικό βαθµό µεγαλύτερο
ή ίσο του 18,5.
γ) Υπολογίζει και εµφανίζει το πλήθος των µαθητών κάθε τάξης.
δ) Υπολογίζει και εµφανίζει το µέσο όρο των τελικών βαθµών των µαθητών της Γ τάξης.
ε) Εµφανίζει ταξινοµηµένα κατά αλφαβητική σειρά τα ονοµατεπώνυµα και τους
αντίστοιχους τελικούς βαθµούς των µαθητών της Α τάξης.
ΕΣ07-Θ4
Σε ένα πανεπιστηµιακό τµήµα εισήχθησαν κατόπιν γενικών εξετάσεων 235 φοιτητές
προερχόµενοι από την ΤΕΧΝΟΛΟΓΙΚΗ ή τη ΘΕΤΙΚΗ κατεύθυνση.
Να αναπτύξετε αλγόριθµο, ο οποίος:
α. Για καθένα από τους 235 φοιτητές διαβάζει:
• το ονοµατεπώνυµό του,
• τα µόρια εισαγωγής του,
• την κατεύθυνσή του, η οποία µπορεί να είναι «ΤΕΧΝΟΛΟΓΙΚΗ» ή «ΘΕΤΙΚΗ»,
ελέγχοντας την εγκυρότητα εισαγωγής της και καταχωρίζει τα δεδοµένα αυτά σε τρεις
πίνακες.
β. Υπολογίζει και εµφανίζει:
1. το µέσο όρο των µορίων εισαγωγής των φοιτητών που προέρχονται από την
ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση.
2. το ποσοστό των φοιτητών, που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση.
3. την κατεύθυνση, από την οποία προέρχεται ο φοιτητής µε τα περισσότερα µόρια
εισαγωγής (να θεωρήσετε ότι δεν υπάρχει περίπτωση ισοβαθµίας).
4. τα ονοµατεπώνυµα των φοιτητών που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ
κατεύθυνση, για τους οποίους τα µόρια εισαγωγής τους είναι περισσότερα από το µέσο
όρο των µορίων εισαγωγής των φοιτητών που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ
κατεύθυνση.
ΕΣΕΠ07-Θ3
Ένας καταναλωτής διαθέτει 150 € για αγορά ρυζιού, προκειµένου να το δωρίσει σε ένα
φιλανθρωπικό ίδρυµα. Σε ένα πολυκατάστηµα διατίθενται πακέτα ρυζιού σε τέσσερις
διαφορετικές συσκευασίες από διαφορετικές εταιρείες.
Να γράψετε αλγόριθµο ο οποίος:
α. Διαβάζει το όνοµα της εταιρείας, την αξία και την ποσότητα σε γραµµάρια για κάθε µία
από τις τέσσερις συσκευασίες ρυζιού.
Θέµατα Πανελληνίων ανά κεφάλαιο
11
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
β. Υπολογίζει και εµφανίζει το όνοµα της εταιρείας που προσφέρει το ρύζι στην πλέον
συµφέρουσα για τον καταναλωτή συσκευασία (να θεωρήσετε ότι υπάρχει µόνο µία τέτοια
εταιρεία).
γ. Υπολογίζει και εµφανίζει τον αριθµό των πακέτων που µπορεί να αγοράσει από την
πλέον συµφέρουσα για τον καταναλωτή συσκευασία (σύµφωνα µε το ερώτηµα β).
ΕΣΕΠ08-Θ3
Μία Νοµαρχία διοργάνωσε το 2008 σεµινάριο εθελοντικής δασοπυρόσβεσης, το οποίο
παρακολούθησαν 500 άτοµα.
Η Πυροσβεστική Υπηρεσία ζήτησε στοιχεία σχετικά µε την ηλικία, το φύλο και το
µορφωτικό επίπεδο εκπαίδευσης κάθε εθελοντή, προκειµένου να εξαγάγει στατιστικά
στοιχεία.
Να γραφεί αλγόριθµος, ο οποίος:
α. διαβάζει για κάθε άτοµο
• το ονοµατεπώνυµο,
• το έτος γέννησης (χωρίς να απαιτείται έλεγχος εγκυρότητας),
• το φύλο, µε αποδεκτές τιµές το “Α” για τους άνδρες και το “Γ” για τις γυναίκες,
• το µορφωτικό επίπεδο εκπαίδευσης, µε αποδεκτές τιµές “Π”, “Δ” ή “Τ”, που
αντιστοιχούν σε Πρωτοβάθµια, Δευτεροβάθµια ή Τριτοβάθµια Εκπαίδευση,
και τα καταχωρίζει σε κατάλληλους µονοδιάστατους πίνακες.
β. υπολογίζει και εµφανίζει το πλήθος των ατόµων µε ηλικία µικρότερη των 30 ετών.
γ. υπολογίζει και εµφανίζει το ποσοστό των γυναικών µε επίπεδο Τριτοβάθµιας
Εκπαίδευσης στο σύνολο των εθελοντριών.
δ. εµφανίζει τα ονόµατα των ατόµων µε τη µεγαλύτερη ηλικία.
ΗΜ09-Θ3
Σε µια διαδροµή τρένου υπάρχουν 20 σταθµοί (σε αυτούς περιλαµβάνονται η αφετηρία
και ο τερµατικός σταθµός). Το τρένο σταµατά σε όλους τους σταθµούς. Σε κάθε σταθµό
επιβιβάζονται και αποβιβάζονται επιβάτες. Οι πρώτοι επιβάτες επιβιβάζονται στην
αφετηρία και στον τερµατικό σταθµό αποβιβάζονται όλοι οι επιβάτες.
Να κατασκευάσετε αλγόριθµο, ο οποίος να διαχειρίζεται την κίνηση των επιβατών.
Συγκεκριµένα:
Α. Να ζητάει από το χρήστη τον αριθµό των ατόµων που επιβιβάστηκαν σε κάθε σταθµό,
εκτός από τον τερµατικό, και να τον εισάγει σε πίνακα ΕΠΙΒ[19].
Β. Να εισάγει σε πίνακα ΑΠΟΒ[19] τον αριθµό των ατόµων που αποβιβάστηκαν σε κάθε
σταθµό, εκτός από τον τερµατικό, ως εξής:
Για την αφετηρία να εισάγει την τιµή µηδέν (0) και για τους υπόλοιπους σταθµούς να
ζητάει από τον χρήστη τον αριθµό των ατόµων που αποβιβάστηκαν.
Θέµατα Πανελληνίων ανά κεφάλαιο
12
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Γ. Να δηµιουργεί πίνακα ΑΕ[19], στον οποίο να καταχωρίζει τον αριθµό των επιβατών
που βρίσκονται στο τρένο, µετά από κάθε αναχώρησή του.
Δ. Να βρίσκει και να εµφανίζει τον σταθµό από τον οποίο το τρένο αναχωρεί µε τον
µεγαλύτερο αριθµό επιβατών.
(Να θεωρήσετε ότι από κάθε σταθµό το τρένο αναχωρεί µε διαφορετικό αριθµό
επιβατών).
ΕΣ09-Θ3
Σε ένα πολυκατάστηµα αποφασίστηκε να γίνεται κλιµακωτή έκπτωση στους πελάτες
ανάλογα µε το ποσό των αγορών τους, µε βάση τον παρακάτω πίνακα:
Ποσό αγορών
Έκπτωση
έως και 300 €
2%
πάνω από 300 έως και 400 € 5%
πάνω από 400 €
7%
Να γραφεί αλγόριθµος που:
α. για κάθε πελάτη,
1. να διαβάζει το όνοµά του και το ποσό των αγορών του.
2. να υπολογίζει την έκπτωση που δικαιούται.
3. να εµφανίζει το όνοµά του και το ποσό που θα πληρώσει µετά την έκπτωση.
β. να επαναλαµβάνει τη διαδικασία µέχρι να δοθεί ως όνοµα πελάτη η λέξη “ΤΕΛΟΣ”.
γ. να εµφανίζει µετά το τέλος της διαδικασίας τη συνολική έκπτωση που έγινε για όλους
τους πελάτες.
ΕΠ10-Δ
Ερευνητές που ασχολούνται µε µοντέλα προσοµοίωσης εξάπλωσης επιδηµιών
χρησιµοποιούν για τις µελέτες τους ένα αριθµητικό πίνακα Μ[5000]. Κάθε κελί του
πίνακα αυτού αντιπροσωπεύει ένα άτοµο σε µια περιοχή 5.000 κατοίκων στην οποία
υπάρχουν εστίες µιας συγκεκριµένης µολυσµατικής ασθένειας (επιδηµίας). Από σύµβαση
η τιµή µηδέν 0 σε ένα κελί αντιπροσωπεύει ένα υγιές άτοµο, ενώ η τιµή -1
αντιπροσωπεύει ένα άτοµο που έχει τη συγκεκριµένη ασθένεια (µολυσµένο άτοµο). Κάθε
άτοµο έρχεται σε επαφή µε τα γειτονικά του και η ασθένεια µπορεί να µεταδοθεί από τον
ένα στον άλλο . (Γειτονικά χαρακτηρίζονται δύο άτοµα, όταν τα κελιά του πίνα κα που τα
αντιπροσωπεύουν έχουν µια κοινή πλευρά). Θεωρήστε ότι δίνεται ο πίνακας Μ που
περιέχει ήδη έναν αριθµό µολυσµένων ατόµων. Να υλοποιήσετε αλγόριθµο ο οποίος:
∆1.Υπολογίζει και εµφανίζει µε κατάλληλο µήνυµα τον συνολικό αριθµό των µολυσµένων
ατόµων που υπάρχουν στο σύνολο του πληθυσµού .
∆2.Αποθηκεύει σε κάθε κελί του πίνακα Μ που αντιπροσωπεύει ένα υγιές άτοµο έναν
αριθµό ο οποίος δείχνει µε πόσα µολυσµένα άτοµα γειτονεύει το υγιές.
Θέµατα Πανελληνίων ανά κεφάλαιο
13
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
∆3. Βρίσκει αν υπάρχει έστω και µία «σηµαντική » εστία µόλυνσης. Αν υπάρχει,
εµφανίζει το µήνυµα «Υπάρχει σηµαντική εστία µόλυνσης » µαζί µε τη θέση του πρώτου
κελιού της εστίας. Αν δεν υπάρχει , εµφανίζει το µήνυµα «∆εν υπάρχει σηµαντική εστία
µόλυνσης ». ( Μια εστία µόλυνσης χαρακτηρίζεται σηµαντική , όταν δύο ή περισσότερα
µολυσµένα άτοµα βρίσκονται σε συνεχόµενα γειτονικά κελιά ).
ΕΣ11-Θ4
Ένα εµπορικό κατάστηµα έχει καταγράψει τις µηνιαίες εισπράξεις του για τα έτη 2009
και 2010. Να γράψετε αλγόριθµο ο οποίος:
1. Να διαβάζει τις µηνιαίες εισπράξεις για καθένα από τα δύο έτη και να τις καταχωρίζει
σε αντίστοιχους µονοδιάστατους πίνακες.
2. Να υπολογίζει και να εµφανίζει τη µεγαλύτερη µηνιαία είσπραξη για κάθε έτος.
Θεωρήστε ότι για κάθε έτος η τιµή αυτή είναι µοναδική.
3. Να εµφανίζει κατάλληλο µήνυµα στην περίπτωση που ο µήνας κατά τον οποίο
σηµειώθηκε η µεγαλύτερη µηνιαία είσπραξη ήταν ο ίδιος και για τα δύο έτη.
4. Να εµφανίζει τον µέσο όρο των µηνιαίων εισπράξεων για κάθε έτος.
5. Να υπολογίζει και να εµφανίζει το πλήθος των µηνών του έτους 2009 κατά τους
οποίους η µηνιαία είσπραξη ήταν µεγαλύτερη από αυτή του αντίστοιχου µήνα του έτους
2010.
Ασκήσεις µε δισδιάστατους πίνακες
ΗΜ01-Θ3
Δίνεται πίνακας Π δύο διαστάσεων, που τα στοιχεία του είναι ακέραιοι αριθµοί µε Ν
γραµµές και Μ στήλες. Να αναπτύξετε αλγόριθµο που να υπολογίζει το ελάχιστο στοιχείο
του πίνακα.
ΗΜ03-Θ4
Μια αλυσίδα κινηµατογράφων έχει δέκα αίθουσες. Τα ονόµατα των αιθουσών
καταχωρούνται σε ένα µονοδιάστατο πίνακα και οι µηνιαίες εισπράξεις κάθε αίθουσας για
ένα έτος καταχωρούνται σε πίνακα δύο διαστάσεων. Να γράψετε αλγόριθµο ο οποίος:
α.
να διαβάζει τα ονόµατα των αιθουσών
β.
να διαβάζει τις µηνιαίες εισπράξεις των αιθουσών αυτού του έτους
γ.
να υπολογίζει τη µέση µηνιαία τιµή των εισπράξεων για κάθε αίθουσα
δ.
να βρίσκει και να εµφανίζει τη µικρότερη µέση µηνιαία τιµή
ε.
να βρίσκει και να εµφανίζει το όνοµα ή τα ονόµατα των αιθουσών που έχουν την
ανωτέρω µικρότερη µέση µηνιαία τιµή.
Παρατήρηση:
Θεωρήστε ότι οι µηνιαίες εισπράξεις είναι θετικοί αριθµοί.
Θέµατα Πανελληνίων ανά κεφάλαιο
14
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΣ03-Θ2
Δίνεται ο πίνακας Α (σχήµα 1) και το παρακάτω τµήµα προγράµµατος:
sum ¬ 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΑΝ i = j TOTE
sum ¬ sum + A[i,j]
AΛΛΙΩΣ
A[i,j] ¬ 0
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
γραψε sum
Αυτό το τµήµα προγράµµατος χρησιµοποιεί τον πίνακα Α, µε τις τιµές των στοιχείων του,
όπως αυτές φαίνονται στο σχήµα 1.
1
-1
7
1
1
6
2
0
8
-2
4
9
3
3
0
3
5
-4
2
1
0
1
2
0
1
Σχήµα 1: Πίνακας Α
1. Να σχεδιάσετε στο τετράδιό σας τον πίνακα Α µε τις τιµές που θα έχουν τα στοιχεία
του, µετά την εκτέλεση του τµήµατος προγράµµατος.
2. Ποια είναι η τιµή της µεταβλητής sum που θα εµφανιστεί;
ΗΜ05-Θ4
Σ’ ένα διαγωνισµό συµµετέχουν 100 υποψήφιοι. Κάθε υποψήφιος διαγωνίζεται σε 50
ερωτήσεις πολλαπλής επιλογής.
Να αναπτύξετε αλγόριθµο που να κάνει τα παρακάτω:
α. Να καταχωρεί σε πίνακα AΠ[100,50] τα αποτελέσµατα των απαντήσεων του κάθε
υποψηφίου σε κάθε ερώτηση. Κάθε καταχώρηση µπορεί να είναι µόνο µία από τις
παρακάτω:
i. Σ αν είναι σωστή η απάντηση
ii. Λ αν είναι λανθασµένη η απάντηση και
iii. Ξ αν ο υποψήφιος δεν απάντησε.
Θέµατα Πανελληνίων ανά κεφάλαιο
15
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Να γίνεται έλεγχος των δεδοµένων εισόδου.
β. Να βρίσκει και να τυπώνει τους αριθµούς των ερωτήσεων που παρουσιάζουν το
µεγαλύτερο βαθµό δυσκολίας, δηλαδή έχουν το µικρότερο πλήθος σωστών απαντήσεων.
γ. Αν κάθε Σ βαθµολογείται µε 2 µονάδες, κάθε Λ µε -1 µονάδα και κάθε Ξ µε 0 µονάδες
τότε
i. Να δηµιουργεί ένα µονοδιάστατο πίνακα ΒΑΘ[100], κάθε στοιχείο του οποίου
θα περιέχει αντίστοιχα τη συνολική βαθµολογία ενός υποψηφίου.
ii. Να τυπώνει το πλήθος των υποψηφίων που συγκέντρωσαν βαθµολογία
µεγαλύτερη από 50.
ΕΠ02-Θ4
Μια αλυσίδα ξενοδοχείων έχει 5 ξενοδοχεία. Σε ένα µονοδιάστατο πίνακα
ΞΕΝΟΔΟΧΕΙΑ[5] καταχωρούνται τα ονόµατα των ξενοδοχείων. Σε ένα άλλο
δισδιάστατο πίνακα ΕΙΣΠΡΑΞΕΙΣ[5,12] καταχωρούνται οι εισπράξεις κάθε ξενοδοχείου
για κάθε µήνα του έτους 2001, έτσι ώστε στην i γραµµή καταχωρούνται οι εισπράξεις του
i ξενοδοχείου.
Να αναπτύξετε αλγόριθµο, ο οποίος :
α. διαβάζει τα στοιχεία των δύο πινάκων
β. εκτυπώνει το όνοµα κάθε ξενοδοχείου και τις ετήσιες εισπράξεις του για το έτος
2001.
γ. εκτυπώνει το όνοµα του ξενοδοχείου µε τις µεγαλύτερες εισπράξεις για το έτος 2001.
ΕΠ05-Θ4
Μια αεροπορική εταιρία ταξιδεύει σε 15 προορισµούς του εσωτερικού. Στα πλαίσια της
οικονοµικής πολιτικής που πρόκειται να εφαρµόσει, κατέγραψε το ποσοστό πληρότητας
των πτήσεων για κάθε µήνα του προηγούµενου ηµερολογιακού έτους. Η πολιτική έχει ως
εξής:
- Δεν θα γίνει καµία περικοπή σε προορισµούς, στους οποίους το µέσο ετήσιο ποσοστό
πληρότητας των πτήσεων είναι µεγαλύτερο του 65.
- Θα γίνουν περικοπές πτήσεων σε προορισµούς, στους οποίους το µέσο ετήσιο ποσοστό
πληρότητας των πτήσεων κυµαίνεται από 40 έως και 65. Οι περικοπές θα γίνουν µόνο
σε εκείνους τους µήνες που το ποσοστό πληρότητάς τους είναι µικρότερο του 40.
- Θα καταργηθούν οι προορισµοί, στους οποίους το µέσο ετήσιο ποσοστό πληρότητας των
πτήσεων είναι µικρότερο του 40.
Να γραφεί αλγόριθµος ο οποίος:
1. Να διαβάζει τα ονόµατα των 15 προορισµών και να τα αποθηκεύει σε ένα µονοδιάστατο
πίνακα.
Θέµατα Πανελληνίων ανά κεφάλαιο
16
Μίλτος Στάµος
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
2. Να διαβάζει τα ποσοστά πληρότητας των πτήσεων των 15 προορισµών για κάθε µήνα
και να τα αποθηκεύει σε δισδιάστατο πίνακα κάνοντας έλεγχο στην καταχώριση των
δεδοµένων, ώστε να καταχωρούνται µόνο οι τιµές που είναι από 0 έως και 100.
3. Να βρίσκει και να τυπώνει τα ονόµατα των προορισµών που δεν θα γίνει καµία
περικοπή πτήσεων.
4. Να βρίσκει και να τυπώνει τα ονόµατα των προορισµών που θα καταργηθούν.
5. Να βρίσκει και να τυπώνει τα ονόµατα των προορισµών, στους οποίους θα γίνουν
περικοπές πτήσεων, καθώς και τους µήνες (αύξοντα αριθµό µήνα) που θα γίνουν οι
περικοπές.
ΕΣ05-Θ4
Σε ένα πανελλήνιο σχολικό διαγωνισµό µετέχουν 20 σχολεία. Κάθε σχολείο αξιολογεί 5
άλλα σχολεία και δεν αυτοαξιολογείται. Η βαθµολογία κυµαίνεται από 1 έως και 10.
Να γραφεί τµήµα αλγορίθµου που
α) να διαβάζει τα ονόµατα των σχολείων και να τα αποθηκεύει σε µονοδιάστατο πίνακα Α
20 θέσεων,
β) να εισάγει αρχικά την τιµή 0 σε όλες τις θέσεις ενός δισδιάστατου πίνακα Β 20
γραµµών και 20 στηλών.
γ) Να καταχωρίζει στον πίνακα Β τη βαθµολογία που δίνει κάθε σχολείο για 5 άλλα
σχολεία.
Σηµείωση: Στη θέση i,j του πίνακα Β αποθηκεύεται ο βαθµός που το σχολείο i δίνει στο
σχολείο j, όπως φαίνεται στο παράδειγµα που ακολουθεί.
δ) να υπολογίζει τη συνολική βαθµολογία του κάθε σχολείου και να την καταχωρίζει σε
µονοδιάστατο πίνακα 20 θέσεων µε όνοµα SUM,
ε) να εµφανίζει τα ονόµατα και τη συνολική βαθµολογία όλων των σχολείων κατά
φθίνουσα σειρά της συνολικής βαθµολογίας.
Παράδειγµα
Σχολ
είο1
Σχολείο1
Σχολείο2
...
Σχολείο20
10
...
Σχολείο
2
...
...
...
...
...
...
Σχολείο
5
8
...
4
...
...
...
...
...
Σχολείο
18
Σχολείο
19
Σχολείο
20
4
...
8
...
6
...
Στο ανωτέρω παράδειγµα:
Το Σχολείο2 έδωσε την παρακάτω βαθµολογία: στο Σχολείο1 το βαθµό 10, στο Σχολείο5
το βαθµό 8, στο Σχολείο18 το βαθµό 4, στο Σχολείο19 το βαθµό 8, και στο Σχολείο20
το βαθµό 6.
Θέµατα Πανελληνίων ανά κεφάλαιο
17
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Το Σχολείο5 έχει πάρει την παρακάτω βαθµολογία: από το Σχολείο2 το βαθµό 8 και από
το Σχολείο20 το βαθµό 4.
ΗΜ06-Θ4
Για την παρακολούθηση των θερµοκρασιών της επικράτειας κατά το µήνα Μάιο
καταγράφεται κάθε µέρα η θερµοκρασία στις 12:00 το µεσηµέρι για 20 πόλεις. Να
σχεδιάσετε αλγόριθµο που:
α. θα διαβάζει τα ονόµατα των 20 πόλεων και τις αντίστοιχες θερµοκρασίες για κάθε µία
από τις ηµέρες του µήνα και θα καταχωρεί τα στοιχεία σε πίνακες.
β. θα διαβάζει το όνοµα µίας πόλης και θα εµφανίζει τη µέγιστη θερµοκρασία της στη
διάρκεια του µήνα. Αν δεν υπάρχει η πόλη στον πίνακα, θα εµφανίζει κατάλληλα
διαµορφωµένο µήνυµα.
γ. θα εµφανίζει το πλήθος των ηµερών που η µέση θερµοκρασία των 20 πόλεων
ξεπέρασε τους 20οC, αλλά όχι τους 30οC.
ΕΣ06-Θ3
Οι εκατό (100) υπάλληλοι µιας εταιρείας εργάζονται 40 ώρες την εβδοµάδα. Κάθε ώρα
υπερωρίας αµείβεται µε 5 € (ευρώ). Να γράψετε αλγόριθµο ο οποίος:
Α. Για καθένα από τους υπαλλήλους της εταιρείας
α. διαβάζει το όνοµά του και για κάθε µέρα από τις πέντε (5) εργάσιµες της εβδοµάδας
διαβάζει τις ώρες εργασίας του.
β. υπολογίζει τις εβδοµαδιαίες ώρες εργασίας του.
γ. εάν έχει εργαστεί περισσότερο από 40 ώρες την εβδοµάδα, εµφανίζει το όνοµά του και
υπολογίζει και εµφανίζει την αµοιβή του για τις υπερωρίες του.
Β. Υπολογίζει και εµφανίζει, στο τέλος, το πλήθος των υπαλλήλων που έχουν εργαστεί
λιγότερο από 40 ώρες την εβδοµάδα.
ΗΜ07-Θ4
Μια δισκογραφική εταιρεία καταγράφει στοιχεία για ένα έτος για κάθε ένα από τα 20 CDs
που κυκλοφόρησε. Τα στοιχεία αυτά είναι ο τίτλος του CD, ο τύπος της µουσικής που
περιέχει και οι µηνιαίες του πωλήσεις (ποσά σε ευρώ) στη διάρκεια του έτους. Οι τύποι
µουσικής είναι δύο: «ορχηστρική» και «φωνητική».
Να αναπτυχθεί αλγόριθµος ο οποίος:
α. Για κάθε ένα από τα 20 CDs, να διαβάζει τον τίτλο, τον τύπο της µουσικής και τις
πωλήσεις του για κάθε µήνα, ελέγχοντας την έγκυρη καταχώριση του τύπου της
µουσικής.
β. Να εµφανίζει τον τίτλο ή τους τίτλους των CDs µε τις περισσότερες πωλήσεις τον 3ο
µήνα του έτους.
Θέµατα Πανελληνίων ανά κεφάλαιο
18
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
γ. Να εµφανίζει τους τίτλους των ορχηστρικών CDs µε ετήσιο σύνολο πωλήσεων
τουλάχιστον 5000 ευρώ.
δ. Να εµφανίζει πόσα από τα CDs είχαν σύνολο πωλήσεων στο δεύτερο εξάµηνο
µεγαλύτερο απ’ ό,τι στο πρώτο.
ΕΠ06-Θ4
Στους προκριµατικούς αγώνες ιππικού τριάθλου συµµετέχουν 16 αθλητές. Τα
αγωνίσµατα είναι: ιππική δεξιοτεχνία, υπερπήδηση εµποδίων και ελεύθερη ιππασία. Ο
κάθε αθλητής βαθµολογείται ξεχωριστά σε κάθε ένα από τα τρία αγωνίσµατα.
Να σχεδιάσετε αλγόριθµο ο οποίος:
α) καταχωρίζει σε πίνακα τις ονοµασίες των τριών αγωνισµάτων, όπως αυτές δίνονται
παραπάνω.
β) διαβάζει για κάθε αθλητή όνοµα, επίθετο, όνοµα αλόγου µε το οποίο αγωνίζεται και
τους βαθµούς του σε κάθε αγώνισµα και θα καταχωρίζει τα στοιχεία σε πίνακες.
γ) διαβάζει το όνοµα και το επίθετο ενός αθλητή και θα εµφανίζει το όνοµα του αλόγου
µε το οποίο αγωνίστηκε και τη συνολική του βαθµολογία στα τρία αγωνίσµατα. Αν δεν
υπάρχει ο αθλητής, θα εµφανίζει κατάλληλα διαµορφωµένο µήνυµα.
δ) εµφανίζει την ονοµασία του αγωνίσµατος (ή των αγωνισµάτων) µε το µεγαλύτερο
«άνοιγµα βαθµολογίας». Ως «άνοιγµα βαθµολογίας» να θεωρήσετε τη διαφορά ανάµεσα
στην καλύτερη και στη χειρότερη βαθµολογία του αγωνίσµατος.
ΕΣΕΠ04-Θ4
Σ’ ένα διαγωνισµό συµµετέχουν 5000 διαγωνιζόµενοι και εξετάζονται σε δύο µαθήµατα.
Να γράψετε αλγόριθµο που
1. να διαβάζει και να καταχωρίζει σε κατάλληλους πίνακες για κάθε διαγωνιζόµενο τον
αριθµό µητρώου, το ονοµατεπώνυµο και τους βαθµούς που πήρε στα δύο µαθήµατα. Οι
αριθµοί µητρώου θεωρούνται µοναδικοί. Η βαθµολογική κλίµακα είναι από 0 έως και 100.
2. να εµφανίζει κατάσταση επιτυχόντων µε την εξής µορφή:
Αριθ. Μητρώου Ονοµατεπώνυµο Μέσος Όρος
Επιτυχών θεωρείται ότι είναι αυτός που έχει µέσο όρο βαθµολογίας µεγαλύτερο ή ίσο
του 60.
3. να διαβάζει έναν αριθµό µητρώου και
α. σε περίπτωση που ο αριθµός µητρώου είναι καταχωρισµένος στον πίνακα, να
εµφανίζεται ο αριθµός µητρώου, το ονοµατεπώνυµο, ο µέσος όρος βαθµολογίας και η
ένδειξη «ΕΠΙΤΥΧΩΝ» ή «ΑΠΟΤΥΧΩΝ», ανάλογα µε τον µέσο όρο.
β. σε περίπτωση που ο αριθµός µητρώου δεν είναι καταχωρισµένος στον πίνακα, να
εµφανίζεται το µήνυµα «Ο αριθµός µητρώου δεν αντιστοιχεί σε διαγωνιζόµενο».
Σηµείωση: Δεν απαιτείται έλεγχος εγκυρότητας καταχώρισης δεδοµένων.
Θέµατα Πανελληνίων ανά κεφάλαιο
19
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΗΜ08-Θ4
Στο ευρωπαϊκό πρωτάθληµα ποδοσφαίρου συµµετέχουν 16 οµάδες. Κάθε οµάδα
συµµετέχει σε 30 αγώνες. Να γράψετε αλγόριθµο ο οποίος:
α. Διαβάζει σε µονοδιάστατο πίνακα ΟΝ[16] τα ονόµατα των οµάδων.
β. Διαβάζει σε δισδιάστατο πίνακα ΑΠ[16,30] τα αποτελέσµατα σε κάθε αγώνα ως εξής:
Τον χαρακτήρα «Ν»για ΝΙΚΗ
Τον χαρακτήρα «Ι» για ΙΣΟΠΑΛΙΑ
Τον χαρακτήρα «Η» για ΗΤΤΑ
και κάνει τον απαραίτητο έλεγχο εγκυρότητας των δεδοµένων.
γ. Για κάθε οµάδα υπολογίζει και καταχωρεί σε δισδιάστατο πίνακα ΠΛ[16,3] το πλήθος
των νικών στην πρώτη στήλη, το πλήθος των ισοπαλιών στη δεύτερη στήλη, και το
πλήθος των ηττών στην τρίτη στήλη του πίνακα. Ο πίνακας αυτός πρέπει προηγουµένως
να έχει µηδενισθεί.
δ. Με βάση τα στοιχεία του πίνακα ΠΛ[16,3] υπολογίζει και καταχωρεί σε νέο πίνακα
ΒΑΘ[16] τη συνολική βαθµολογία κάθε οµάδας, δεδοµένου ότι για κάθε νίκη η οµάδα
παίρνει τρεις βαθµούς, για κάθε ισοπαλία έναν βαθµό και για κάθε ήττα κανέναν βαθµό.
ε. Εµφανίζει τα ονόµατα και τη βαθµολογία των οµάδων ταξινοµηµένα σε φθίνουσα σειρά
µε βάση τη βαθµολογία. (Θεωρείται ότι δεν υπάρχει περίπτωση ισοβαθµίας.)
ΕΣ08-Θ4
Ένας επενδυτής διέθεσε 10.000 € για την αγορά ορισµένων τεµαχίων 10 διαφορετικών
µετοχών. Να γράψετε αλγόριθµο ο οποίος:
α. Για καθεµία από τις 10 µετοχές διαβάζει
• το όνοµα της µετοχής,
• το πλήθος των τεµαχίων της µετοχής, που κατέχει ο επενδυτής, ελέγχοντας το
πλήθος να είναι θετικός αριθµός,
και καταχωρίζει τα δεδοµένα αυτά σε σχετικούς πίνακες.
β. Για καθεµία από τις 10 µετοχές και για καθεµία από τις πέντε (5) εργάσιµες ηµέρες
της εβδοµάδας διαβάζει την τιµή ενός τεµαχίου της µετοχής και την αποθηκεύει σε
κατάλληλο πίνακα δύο διαστάσεων, ελέγχοντας η τιµή του τεµαχίου να είναι θετικός
αριθµός.
γ. Για καθεµία από τις 10 µετοχές υπολογίζει τη µέση εβδοµαδιαία τιµή του τεµαχίου της
και την αποθηκεύει σε µονοδιάστατο πίνακα.
δ. Υπολογίζει και εµφανίζει τη συνολική αξία όλων των τεµαχίων όλων των µετοχών του
επενδυτή, την τελευταία ηµέρα της εβδοµάδας.
ε. Υπολογίζει εάν ο επενδυτής στο τέλος της εβδοµάδας έχει κέρδος ή ζηµία ή καµία
µεταβολή σε σχέση µε το αρχικό ποσό που διέθεσε, εµφανίζοντας κατάλληλα µηνύµατα.
Θέµατα Πανελληνίων ανά κεφάλαιο
20
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΣ06-Θ4
Για τη διεκδίκηση µιας θέσης υποτροφίας, εξετάστηκαν και βαθµολογήθηκαν πενήντα
(50) υποψήφιοι σε τρία µαθήµατα. Ο υπολογισµός του τελικού βαθµού κάθε υποψηφίου
γίνεται ως εξής:
Αν ο βαθµός του σε κάποιο από τα τρία µαθήµατα είναι µικρότερος του 6, τότε ο τελικός
βαθµός του είναι µηδέν (0). Διαφορετικά ο βαθµός του 1ου µαθήµατος συµµετέχει στον
υπολογισµό του τελικού βαθµού µε συντελεστή 20%, ο βαθµός του 2ου µαθήµατος µε
συντελεστή 35% και ο βαθµός του 3ου µαθήµατος µε συντελεστή 45%. Να αναπτύξετε
αλγόριθµο ο οποίος:
α. Διαβάζει τα ονόµατα των 50 υποψηφίων και τα καταχωρίζει σε πίνακα.
β. Διαβάζει για κάθε υποψήφιο τους βαθµούς του σε καθένα από τα τρία µαθήµατα και
τους καταχωρίζει σε πίνακα δύο διαστάσεων, ελέγχοντας ότι ο βαθµός κάθε µαθήµατος
είναι από 0 έως και 10.
γ. Υπολογίζει τον τελικό βαθµό κάθε υποψηφίου και τον καταχωρίζει σε πίνακα.
δ. Ταξινοµεί τα ονόµατα και τους τελικούς βαθµούς των υποψηφίων σε φθίνουσα σειρά
ως προς τον τελικό βαθµό.
ε. Εµφανίζει για όσους υποψηφίους έχουν τελικό βαθµό µεγαλύτερο του µηδενός (0) το
όνοµα και τον τελικό βαθµό τους.
στ. Εµφανίζει το ποσοστό των υποψηφίων που έχουν τελικό βαθµό µηδέν (0).
ΕΣΕΠ08-Θ4
Σε ένα Δήµο υπάρχουν 4 σταθµοί µέτρησης ενός συγκεκριµένου ατµοσφαιρικού ρύπου. Η
καταγραφή της τιµής του ρύπου γίνεται ανά ώρα και σε 24ωρη βάση. Οι αποδεκτές τιµές
του ρύπου κυµαίνονται από 0 έως και 100. Να γραφεί αλγόριθµος, ο οποίος:
α. για κάθε σταθµό και για κάθε ώρα του 24ώρου διαβάζει την τιµή του ρύπου και την
καταχωρίζει σε πίνακα διαστάσεων 4x24, ελέγχοντας την εγκυρότητα κάθε τιµής.
β. για κάθε ώρα του 24ώρου υπολογίζει και εµφανίζει τη µέση τιµή του ρύπου από τους 4
σταθµούς.
γ. για κάθε σταθµό βρίσκει και εµφανίζει τη µέγιστη και την ελάχιστη τιµή του ρύπου στο
24ωρο.
δ. βρίσκει και εµφανίζει τη µέγιστη τιµή του ρύπου στη διάρκεια του 24ώρου, καθώς και
την ώρα και τον αριθµό του σταθµού που σηµειώθηκε η τιµή αυτή. (Να θεωρήσετε ότι η
τιµή αυτή είναι µοναδική στον πίνακα).
ΕΣΕΠ07-Θ4
Σε ένα Μετεωρολογικό Σταθµό καταγράφονται ανά ηµέρα και ώρα η θερµοκρασία του
περιβάλλοντος για µία εβδοµάδα. Να γράψετε αλγόριθµο που:
α. Διαβάζει:
Θέµατα Πανελληνίων ανά κεφάλαιο
21
Μίλτος Στάµος
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
• τα ονόµατα των επτά ηµερών της εβδοµάδας και τα καταχωρεί σε µονοδιάστατο πίνακα.
• τη θερµοκρασία για κάθε ηµέρα της εβδοµάδας και κάθε ώρα της ηµέρας και την
καταχωρεί σε δισδιάστατο πίνακα, ελέγχοντας οι τιµές της θερµοκρασίας να είναι από –
20 µέχρι και 50.
β. Υπολογίζει για κάθε ηµέρα τη µέση θερµοκρασία και την καταχωρεί σε µονοδιάστατο
πίνακα.
γ. Βρίσκει και εµφανίζει τη µέγιστη µέση θερµοκρασία της εβδοµάδας από τον πίνακα των
µέσων θερµοκρασιών.
δ. Βρίσκει και εµφανίζει την ηµέρα της εβδοµάδας µε τη µέγιστη µέση θερµοκρασία (να
θεωρήσετε ότι υπάρχει µόνο µία τέτοια ηµέρα).
ε. Υπολογίζει και εµφανίζει το πλήθος των ηµερών της εβδοµάδας που είχαν µέση
θερµοκρασία µεγαλύτερη των 20ο C.
ΕΠ09-Θ3
Στις γενικές εξετάσεις, κάθε γραπτό βαθµολογείται από δύο βαθµολογητές στην κλίµακα
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.
Δεν απαιτείται έλεγχος εγκυρότητας.
Β. Να υπολογίζει τον τελικό βαθµό κάθε γραπτού και να τον καταχωρίζει στην
αντίστοιχη θέση ενός πίνακα Τ[780].
Γ. Να εµφανίζει τη βαθµολογική κατηγορία (ή τις κατηγορίες) µε το µεγαλύτερο πλήθος
γραπτών.
Θέµατα Πανελληνίων ανά κεφάλαιο
22
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΗΜ11-Θ4
Στην αρχή της ποδοσφαιρικής περιόδου οι 22 παίκτες µιας οµάδας, οι οποίοι αριθµούνται
από 1 έως 22, ψηφίζουν για τους 3 αρχηγούς που θα τους εκπροσωπούν. Κάθε παίκτης
µπορεί να ψηφίσει όσους συµπαίκτες του θέλει, ακόµα και τον εαυτό του. Τα
αποτελέσµατα της ψηφοφορίας καταχωρίζονται σε έναν πίνακα ΨΗΦΟΣ µε 22 γραµµές
και 22 στήλες, έτσι ώστε το στοιχείο ΨΗΦΟΣ[i,j] να έχει την τιµή 1, όταν ο παίκτης µε
αριθµό i έχει ψηφίσει τον παίκτη µε αριθµό j, και τιµή 0 στην αντίθετη περίπτωση.
Να γράψετε αλγόριθµο ο οποίος:
1. Να διαβάζει τα στοιχεία του πίνακα ΨΗΦΟΣ και να ελέγχει την ορθότητά τους µε
αποδεκτές τιµές 0 ή 1.
2. Να εµφανίζει το πλήθος των παικτών που δεν ψήφισαν κανέναν.
3. Να εµφανίζει το πλήθος των παικτών που ψήφισαν τον εαυτό τους.
4. Να βρίσκει τους 3 παίκτες που έλαβαν τις περισσότερες ψήφους και να εµφανίζει
τους αριθµούς τους και τις ψήφους που έλαβαν. Θεωρήστε ότι δεν υπάρχουν
ισοψηφίες.
ΕΣ11-Θ4
Στην αρχή της ποδοσφαιρικής περιόδου οι 22 παίκτες µιας οµάδας, οι οποίοι αριθµούνται
από 1 έως 22, ψηφίζουν για τον αρχηγό που θα τους εκπροσωπεί. Κάθε παίκτης µπορεί
να ψηφίσει όσους συµπαίκτες του θέλει, ακόµα και τον εαυτό του. Τα αποτελέσµατα της
ψηφοφορίας καταχωρίζονται σε έναν πίνακα ΨΗΦΟΣ µε 22 γραµµές και 22 στήλες, έτσι
ώστε το στοιχείο ΨΗΦΟΣ[i,j] να έχει την τιµή 1, όταν ο παίκτης µε αριθµό i έχει ψηφίσει
τον παίκτη µε αριθµό j, και τιµή 0 στην αντίθετη περίπτωση. Να γράψετε αλγόριθµο ο
οποίος:
Δ1. Να διαβάζει τα στοιχεία του πίνακα ΨΗΦΟΣ και να ελέγχει την ορθότητά τους µε
αποδεκτές τιµές 0 ή 1.
Δ2. Να εµφανίζει για κάθε παίκτη το πλήθος των ψήφων που έδωσε.
Δ3. Να εµφανίζει για κάθε παίκτη το πλήθος των ψήφων που έλαβε.
Δ4. Να εµφανίζει τον αριθµό του παίκτη που έλαβε τις περισσότερες ψήφους. Θεωρήστε
ότι είναι µοναδικός.
Δ5. Να εµφανίζει τον αριθµό κάθε παίκτη που δεν ψήφισε τον εαυτό του.
ΕΣΕΠ12-Θ3
H κρυπτογράφηση χρησιµοποιείται για την προστασία των µεταδιδοµένων πληροφοριών.
Ένας απλός αλγόριθµος κρυπτογράφησης χρησιµοποιεί την αντιστοίχιση κάθε γράµµατος
ενός κειµένου σε ένα άλλο γράµµα της αλφαβήτου. Για το σκοπό αυτό δίνεται πίνακας
ΑΒ[2,24], ο οποίος στην πρώτη γραµµή του περιέχει σε αλφαβητική σειρά τους
Θέµατα Πανελληνίων ανά κεφάλαιο
23
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
χαρακτήρες από το Α έως και το Ω. Στη δεύτερη γραµµή του βρίσκονται οι ίδιοι
χαρακτήρες, αλλά µε διαφορετική σειρά.
Κάθε χαρακτήρας της πρώτης γραµµής κρυπτογραφείται στον αντίστοιχο χαρακτήρα της
δεύτερης γραµµής, που βρίσκεται στην ίδια στήλη.
Επίσης, δίνεται πίνακας ΚΕΙΜ[500], ο οποίος περιέχει αποθηκευµένο µε κεφαλαία
ελληνικά γράµµατα το προς κρυπτογράφηση κείµενο. Κάθε χαρακτήρας του κειµένου
βρίσκεται σε ένα κελί του πίνακα ΚΕΙΜ[500]. Οι λέξεις του κειµένου χωρίζονται µε έναν
χαρακτήρα κενό (΄ ΄), ενώ στο τέλος του κειµένου µπορεί να υπάρχουν χαρακτήρες κενό
(΄ ΄), µέχρι να συµπληρωθεί ο πίνακας.
Να αναπτύξετε αλγόριθµο ο οποίος:
Γ1. Να εµφανίζει το πλήθος των χαρακτήρων κενό (΄ ΄), που υπάρχουν µετά το τέλος
του κειµένου στον πίνακα ΚΕΙΜ[500]. Αν δεν υπάρχει χαρακτήρας κενό µετά τον
τελευταίο χαρακτήρα του µη κρυπτογραφηµένου κειµένου, τότε να εµφανίζεται το µήνυµα:
«Το µήκος του κειµένου είναι 500 χαρακτήρες». Θεωρήστε ότι ο πίνακας ΚΕΙΜ[500]
περιέχει τουλάχιστον µία λέξη.
Γ2. Να κρυπτογραφεί τους χαρακτήρες του πίνακα ΚΕΙΜ[500] στον πίνακα
ΚΡΥΠ[500], µε βάση τον πίνακα ΑΒ[2,24]. Η κρυπτογράφηση να τερµατίζεται µε το
τέλος του κειµένου. Δίνεται ότι κάθε χαρακτήρας κενό, που υπάρχει στον πίνακα
ΚΕΙΜ[500], παραµένει χαρακτήρας κενό στον πίνακα ΚΡΥΠ[500].
Γ3. Να εµφανίζει το πλήθος των λέξεων του κειµένου, καθώς και το πλήθος των
χαρακτήρων που έχει η µεγαλύτερη λέξη του κειµένου στον πίνακα ΚΡΥΠ[500].
Θεωρήστε ότι η µεγαλύτερη λέξη είναι µοναδική.
ΕΣΕΠ12-Θ4
Εταιρεία, που ασχολείται µε µετρήσεις τηλεθέασης καταγράφει στοιχεία, ανά ηµέρα και
για χρονικό διάστηµα µίας εβδοµάδας, τα οποία αφορούν την τηλεθέαση των κεντρικών
δελτίων ειδήσεων που προβάλλονται από πέντε (5) τηλεοπτικούς σταθµούς.
Για τη διευκόλυνση της στατιστικής επεξεργασίας των δεδοµένων, να αναπτύξετε
αλγόριθµο, ο οποίος:
Δ1. Για κάθε έναν από τους τηλεοπτικούς σταθµούς να δέχεται το όνοµά του και το
πλήθος των τηλεθεατών, που παρακολούθησαν το κεντρικό δελτίο ειδήσεων κάθε µέρα
της εβδοµάδας, από Δευτέρα έως και Κυριακή, χωρίς έλεγχο εγκυρότητας, δηλαδή
θεωρήστε ότι οι τιµές που εισάγονται είναι θετικοί αριθµοί και η εισαγωγή των
δεδοµένων γίνεται χωρίς λάθη.
Δ2. Να εµφανίζει τα ονόµατα των σταθµών, για τους οποίους ο µέσος όρος τηλεθέασης
του Σαββατοκύριακου (2 ηµέρες) ήταν τουλάχιστον 10% µεγαλύτερος από το µέσο όρο
τηλεθέασης στις καθηµερινές (Δευτέρα έως Παρασκευή).
Θέµατα Πανελληνίων ανά κεφάλαιο
24
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Δ3. Να εµφανίζει τα ονόµατα των τηλεοπτικών σταθµών, οι οποίοι κάθε ηµέρα από
Δευτέρα έως και Κυριακή παρουσιάζουν συνεχώς, δηλαδή από ηµέρα σε ηµέρα, αύξηση
τηλεθέασης. Αν δεν υπάρχουν τέτοιοι σταθµοί, να εµφανίζει το µήνυµα «κανένας σταθµός
δεν έχει συνεχή αύξηση τηλεθέασης».
Θέµατα Πανελληνίων ανά κεφάλαιο
25
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
3.4 Στοίβα
ΕΠ04-Θ1Α
1. Η ουρά και η στοίβα µπορούν να υλοποιηθούν µε δοµή πίνακα.
3. Η απώθηση (pop) στοιχείου γίνεται από το πίσω άκρο της στοίβας.
4. Κατά τη διαδικασία της ώθησης πρέπει να ελέγχεται αν η στοίβα είναι γεµάτη.
ΕΣ06-Θ1Γ2
Οι λειτουργίες ώθηση και απώθηση είναι οι κύριες λειτουργίες σε µία στοίβα.
ΕΣ07-Θ1Γ2
Η στοίβα χρησιµοποιεί δύο δείκτες.
ΕΠ09-Θ1Α4
Η λειτουργία της ώθησης σχετίζεται µε τη δοµή της στοίβας.
Σ
Σ
Σ
Λ
Λ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
ΕΠ10-Α5
Να περιγράψετε τις κύριες λειτουργίες σε µία στοίβα και να αναφέρετε τι πρέπει να ελέγχει κάθε
λειτουργία, προκειµένου να µην παρουσιάζεται πρόβληµα στη λειτουργία της στοίβας.
ΗΜ02-Θ1Β
Στον παρακάτω πίνακα η Στήλη Α περιέχει δοµές δεδοµένων και η Στήλη Β περιέχει
λειτουργίες. Να γράψετε στο τετράδιό σας τους αριθµούς της Στήλης Α και δίπλα τα
γράµµατα της Στήλης Β που αντιστοιχούν σωστά. Ας σηµειωθεί ότι σε κάποιες δοµές
δεδοµένων µπορεί να αντιστοιχούν περισσότερες από µία λειτουργίες.
Στήλη Α
Στήλη Β
1. Ουρά
α.
Απώθηση
2. Στοίβα
β.
Εξαγωγή
γ.
Ώθηση
δ.
Εισαγωγή
ΕΣ03-Θ1A
Η «στοίβα» είναι µια δοµή δεδοµένων.
1. Να περιγράψετε τη «στοίβα» µε ένα παράδειγµα από την καθηµερινή ζωή.
2. Να περιγράψετε τις κύριες λειτουργίες της «στοίβας».
ΕΠ08-Θ1Γ
Να περιγράψετε την υλοποίηση στοίβας µε τη βοήθεια µονοδιάστατου πίνακα.
Θέµατα Πανελληνίων ανά κεφάλαιο
26
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΗΜ12-Α5
Πώς ονοµάζονται οι δύο κύριες λειτουργίες που εκτελούνται σε µία ΣΤΟΙΒΑ δεδοµένων;
Τι λειτουργία επιτελούν και τι πρέπει να ελέγχεται πριν την εκτέλεσή τους;
3.5 Ουρά
ΕΠ04-Θ1Α
2. Η εξαγωγή (dequeue) στοιχείου γίνεται από το εµπρός άκρο της ουράς.
5. Η ώθηση (push) στοιχείου είναι µία από τις λειτουργίες της ουράς.
ΕΣ09-Θ1Α1
Η µέθοδος επεξεργασίας FIFO εφαρµόζεται στη λειτουργία της ουράς.
ΕΣ10-Α1-1
Οι λειτουργίες ώθηση και απώθηση είναι οι κύριες λειτουργίες σε µία ουρά.
ΗΜ12-Α1-4
Η µέθοδος επεξεργασίας «πρώτο µέσα πρώτο έξω» (FIFO) εφαρµόζεται στη
δοµή δεδοµένων ΟΥΡΑ.
Σ
Σ
Λ
Λ
Σ
Λ
Σ
Λ
Σ
Λ
ΕΣ04-Θ1Β
Η ουρά είναι µία δοµή δεδοµένων.
1. Να δώσετε ένα παράδειγµα ουράς από την καθηµερινή ζωή.
2. Να αναφέρετε τις λειτουργίες της ουράς και τους δείκτες που απαιτούνται.
3. Σε µία ουρά 10 θέσεων έχουν τοποθετηθεί διαδοχικά τα στοιχεία: Μ, Κ, Δ, Α, Σ στην
πρώτη, δεύτερη, τρίτη , τέταρτη και πέµπτη θέση αντίστοιχα.
α. Να προσδιορίσετε τις τιµές των δεικτών της παραπάνω ουράς.
β. Στη συνέχεια να αφαιρέσετε ένα στοιχείο από την ουρά. Ποιος δείκτης
µεταβάλλεται και ποια η νέα του τιµή;
γ. Τέλος να τοποθετήσετε το στοιχείο Λ στην ουρά. Ποιος δείκτης µεταβάλλεται
και ποια η νέα του τιµή;
Θέµατα Πανελληνίων ανά κεφάλαιο
27
Μίλτος Στάµος
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
ΕΣΕΠ05-Θ1Β
Να γράψετε στο τετράδιό σας τους αριθµούς της Στήλης Α και δίπλα σε κάθε αριθµό
ένα από τα γράµµατα της Στήλης Β, ώστε να προκύπτει η σωστή αντιστοίχιση (στη
Στήλη Β περισσεύουν δύο γράµµατα).
Στήλη Α
Στήλη Β
1. Ουρά
α. Δοµή επιλογής
2. x ← 1
Όσο x < 5 επανάλαβε
Εµφάνισε x
x←x+1
Τέλος_επανάληψης
β. Δοµή επανάληψης
3. Στοίβα
γ. FIFO
4. Επίλεξε …
τέλος_επιλογών
5. ΚΑΙ
δ. LIFO
ε. Αριθµητικός
Τελεστής
στ. Λογικός Τελεστής
ζ. Συνάρτηση
ΕΣ08-Θ1Δ
Να γράψετε στο τετράδιό σας καθέναν από τους αριθµούς της Στήλης Α και δίπλα του
ένα γράµµα της Στήλης Β, ώστε να προκύπτει η σωστή αντιστοίχιση.
ΣΤΗΛΗ Α
ΣΤΗΛΗ Β
1. Ουρά
2. Λογικός
τελεστής
3. Στοίβα
4. Λογική
σταθερά
α. Ώθηση
β. ΑΛΗΘΗΣ
γ. ΚΑΙ
δ. Δύο
δείκτες
ΕΠ06-Θ1Γ
Δίνεται η παρακάτω ακολουθία αριθµών: 25, 8, 12, 14, 71, 41, 1. Τοποθετούµε τους
αριθµούς σε στοίβα και σε ουρά.
Θέµατα Πανελληνίων ανά κεφάλαιο
28
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
1. Ποια λειτουργία θα χρησιµοποιηθεί για την τοποθέτηση των αριθµών στη στοίβα και
ποια για την τοποθέτησή τους στην ουρά;
2. Να σχεδιάσετε τις δύο δοµές (στοίβα και ουρά) µετά την τοποθέτηση των αριθµών.
3. Ποια λειτουργία θα χρησιµοποιηθεί για την έξοδο αριθµών από τη στοίβα και ποια για
την έξοδό τους από την ουρά;
4. Πόσες φορές θα πρέπει να γίνει η παραπάνω λειτουργία στη στοίβα και πόσες στην
ουρά για να εξέλθει ο αριθµός 71;
3.6 Αναζήτηση
ΗΜ06-Θ1Α1
Η σειριακή αναζήτηση χρησιµοποιείται αποκλειστικά στους ταξινοµηµένους
πίνακες
Σ
ΗΜ09-Θ1Α3
Όταν γίνεται σειριακή αναζήτηση κάποιου στοιχείου σε έναν µη ταξινοµηµένο
πίνακα και το στοιχείο δεν υπάρχει στον πίνακα, τότε υποχρεωτικά
προσπελαύνονται όλα τα στοιχεία του πίνακα.
Σ
ΕΣ09-Θ1Α3
Η µέθοδος της σειριακής αναζήτησης δικαιολογείται στην περίπτωση που ο
πίνακας είναι µη ταξινοµηµένος και µικρού µεγέθους.
Σ
ΗΜ11-Α1-3
Ο αλγόριθµος της σειριακής αναζήτησης χρησιµοποιείται αποκλειστικά σε
ταξινοµηµένους πίνακες.
Σ
ΕΠ05-Θ1Ε
Αναφέρατε τις περιπτώσεις που δικαιολογείται η χρήση του αλγόριθµου της σειριακής
αναζήτησης.
Λ
Λ
Λ
Λ
ΕΣΕΠ06-Θ1Δ
Δίνεται µονοδιάστατος µη ταξινοµηµένος πίνακας Τ µε Ν διαφορετικά στοιχεία. Να
γράψετε τον αλγόριθµο σειριακής αναζήτησης της τιµής µιας µεταβλητής key στον πίνακα
Τ.
Θέµατα Πανελληνίων ανά κεφάλαιο
29
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΠ11-Α5
Δίνεται ο παρακάτω ηµιτελής αλγόριθµος αναζήτησης ενός αριθµού key σε έναν
αριθµητικό πίνακα table N στοιχείων, στον οποίο ο key µπορεί να εµφανίζεται
περισσότερες από µία φορές.
Αλγόριθµος Αναζήτηση
Δεδοµένα // table, N, key //
Βρέθηκε ← Ψευδής
ΔενΒρέθηκε ← ........................
i←1
Όσο ΔενΒρέθηκε = Αληθής και i<=N επανάλαβε
Αν ........................ τότε
Εµφάνισε "Βρέθηκε στη θέση", i
Βρέθηκε ← ........................
Αλλιώς_αν ........................ τότε
ΔενΒρέθηκε ← ........................
Τέλος_αν
i←i+1
Τέλος_επανάληψης
Αποτελέσµατα // Βρέθηκε //
Τέλος Αναζήτηση
Να ξαναγράψετε στο τετράδιό σας τον παραπάνω αλγόριθµο µε τα κενά συµπληρωµένα,
έτσι ώστε να εµφανίζονται όλες οι θέσεις στις οποίες βρίσκεται ο αριθµός key στον
πίνακα table. Ο αλγόριθµος να σταµατάει αµέσως µόλις διαπιστωθεί ότι ο αριθµός key
δεν υπάρχει στον πίνακα. Εκµεταλλευτείτε το γεγονός ότι τα στοιχεία του πίνακα είναι
ταξινοµηµένα σε αύξουσα σειρά.
ΕΣ10-Δ
Σε µια δηµοτική δανειστική βιβλιοθήκη υπάρχουν 158 µέλη που δανείζονται βιβλία.
Να γραφεί αλγόριθµος που:
∆1.
α.Για κάθε µέλος διαβάζει το επώνυµο και το φύλο του (Α = άνδρας , Γ = γυναίκα) και τα
αποθηκεύει στους πίνα κες ΜΕΛΗ και ΦΥΛΟ, αντίστοιχα. Να γίνεται έλεγχος
εγκυρότητας εισαγωγής του φύλου.
β. Για κάθε µήνα ενός έτους διαβάζει το πλήθος των βιβλίων που δανείστηκε κάθε
µέλος και το αποθηκεύει στον πίνακα δύο διαστάσεων ΒΙΒΛΙΑ.
∆2. Για κάθε µέλος υπολογίζει το συνολικό αριθµό των βιβλίων που δανείστηκε στο έτ
ος και το αποθηκεύει στον πίνα κα SUM.
∆3.
Θέµατα Πανελληνίων ανά κεφάλαιο
30
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
α.Υπολογίζει το συνολικό αριθµό των βιβλίων που δανείστηκαν οι άνδρες .
β.Υπολογίζει το συνολικό αριθµό των βιβλίων που δανείστηκαν οι γυναίκες.
γ. Εµφανίζει κατάλληλο µήνυµα που δείχνει αν οι άνδρες ή οι γυναίκες έχουν δανειστεί
τα περισσότερα βιβλία. Σε περίπτωση ίσων συνολικών αριθµών βιβλίων να εµφανίζει το
µήνυµα “ΙΣΟΣ ΑΡΙΘΜΟΣ ΒΙΒΛΙΩΝ”.
∆4. Να διαβάζει ένα επώνυµο και χρησιµοποιώντας τη σειριακή αναζήτηση, σε
περίπτωση που το επώνυµο είναι αποθηκευµένο στον πίνακα ΜΕΛΗ, να εµφανίζει το
σύνολο των βιβλίων που δανείστηκε στη διάρκεια του έτους . Σε περίπτωση που το
επώνυµο δεν είναι αποθηκευµένο στον πίνακα να εµφανίζει το µήνυµα “ΤΟ ΕΠΩΝΥΜΟ
ΑΥΤΟ ∆ΕΝ ΥΠΑΡΧΕΙ ”.
3.7 Ταξινόµηση
ΕΠ06-Θ1Α1
Η ταξινόµηση φυσαλίδας είναι ο πιο απλός και ταυτόχρονα ο πιο γρήγορος
αλγόριθµος ταξινόµησης.
Σ
ΕΠ08-Θ1A3
Η εγγραφή είναι δοµή δεδοµένων η οποία αποτελείται από πεδία που αποθηκεύουν
χαρακτηριστικά.
Σ
ΕΣ10-Α1-5
Η ταξινόµηση των στοιχείων ενός πίνακα µε τη µέθοδο της φυσαλίδας βασίζεται
στην αρχή της σύγκρισης και αντιµετάθεσης ζευγών γειτονικών στοιχείων του
πίνακα.
Σ
ΗΜ00-Θ1Δ
Δίνεται µονοδιάστατος πίνακας Π, Ν στοιχείων, που είναι ακέραιοι αριθµοί. Να
αναπτύξετε αλγόριθµο, ο οποίος να ταξινοµεί µε τη µέθοδο της φυσαλίδας τα στοιχεία
του πίνακα Π.
ΕΣΕΠ08-Θ1Γ
Δίνεται ο παρακάτω αλγόριθµος:
ΓΙΑ i ΑΠΟ ... ΜΕΧΡΙ n
ΓΙΑ j ΑΠΟ ... ΜΕΧΡΙ ... ΜΕ_ΒΗΜΑ ...
ΑΝ Α[j] ... Α[j-1] ΤΟΤΕ
temp←A[j]
Α[...]←Α[...]
Α[...]←temp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Θέµατα Πανελληνίων ανά κεφάλαιο
31
Λ
Λ
Λ
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Να γράψετε στο τετράδιό σας τον παραπάνω αλγόριθµο κατάλληλα συµπληρωµένο, έτσι
ώστε να υλοποιεί την ταξινόµηση της φυσαλίδας µε αύξουσα σειρά.
ΕΣ02-Θ2
Ο µονοδιάστατος αριθµητικός πίνακας Table έχει τα ακόλουθα στοιχεία:
1η θέση
2η θέση
3η θέση
4η θέση
5η θέση
43
72
-4
63
56
Δίνεται το παρακάτω τµήµα αλγορίθµου :
Για Ι από 2 µέχρι 5
Για J από 5 µέχρι Ι µε_βήµα -1
Αν Table[J-1] < Table[J] τότε
Αντιµετάθεσε Table[J-1], Table[J]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Να µεταφερθεί στο τετράδιό σας ο ακόλουθος πίνακας και να συµπληρωθεί για όλες τις
τιµές του J, που αντιστοιχούν σε I=2 και Ι=3.
Πίνακας
Ι
J
1η
2η
3η
4η
5η
2
5
43
72
-4
63
56
3
ΗΜ10-Α5
∆ίνεται πίνακας Π[20] µε αριθµητικές τιµές. Στ ις µονές θέσεις βρίσκονται
καταχωρισµένοι θετικοί αριθµοί και στις ζυγές αρνητικοί αριθµοί. Επίσης, δίνεται το
παρακάτω τµήµα αλγορίθµου ταξινόµησης τιµών του πίνακα.
Για x από 3 µέχρι 19 µε_βήµα
Για y από µέχρι µε_ βήµα
Αν Π[ ] < Π[ ] Τότε
Θέµατα Πανελληνίων ανά κεφάλαιο
32
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
Αντιµετάθεσε Π[ ], Π[ ]
Τέλος_αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Να µεταφέρετε στο τετράδιό σας το παραπάνω τµήµα αλγορίθµου συµπληρώνοντας τα
κενά µε τις κατάλληλες σταθερές, µεταβλητές ή εκφράσεις, ώστε να ταξινοµούνται σε
αύξουσα σειρά µόνο οι θετικές τιµές του πίνακα .
ΕΠ01-Θ4
Κατά τη διάρκεια Διεθνών Αγώνων Στίβου στον ακοντισµό έλαβαν µέρος δέκα (10)
αθλητές. Κάθε αθλητής έκανε έξι (6) έγκυρες ρίψεις που καταχωρούνται ως επιδόσεις
σε µέτρα. Να αναπτύξετε αλγόριθµο, ο οποίος :
Α. εισάγει σε πίνακα δύο διαστάσεων τις επιδόσεις όλων των αθλητών
Β. υπολογίζει και καταχωρεί σε µονοδιάστατο πίνακα την καλύτερη από τις επιδόσεις
κάθε αθλητή
Γ. ταξινοµεί τις καλύτερες επιδόσεις των αθλητών που καταχωρήθηκαν στο
µονοδιάστατο πίνακα
Δ. βρίσκει την καλύτερη επίδοση του αθλητή που πήρε το χάλκινο µετάλλιο (τρίτη θέση).
Παρατήρηση : Υποθέτουµε ότι όλες οι επιδόσεις είναι µεταξύ τους διαφορετικές.
ΕΠ03-Θ4
Κατά τη διάρκεια πρωταθλήµατος µπάσκετ µια οµάδα που αποτελείται από δώδεκα (12)
παίκτες έδωσε είκοσι (20) αγώνες, στους οποίους συµµετείχαν όλοι οι παίκτες.
Να αναπτύξετε στο τετράδιό σας αλγόριθµο ο οποίος:
α. Να διαβάζει τα ονόµατα των παικτών και να τα αποθηκεύει σε µονοδιάστατο πίνακα.
β. Να διαβάζει τους πόντους που σηµείωσε κάθε παίκτης σε κάθε αγώνα και να τους
αποθηκεύει σε πίνακα δύο διαστάσεων.
γ. Να υπολογίζει για κάθε παίκτη το συνολικό αριθµό πόντων του σε όλους τους αγώνες
και το µέσο όρο πόντων ανά αγώνα.
δ. Να εκτυπώνει τα ονόµατα των παικτών της οµάδας και το µέσο όρο πόντων του κάθε
παίκτη ταξινοµηµένα µε βάση το µέσο όρο τους κατά φθίνουσα σειρά.
Παρατήρηση:
Σε περίπτωση ισοβαθµίας δεν µας ενδιαφέρει η σχετική σειρά των
παικτών.
Θέµατα Πανελληνίων ανά κεφάλαιο
33
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΣ04-Θ3
Σε έναν αγώνα δισκοβολίας συµµετέχουν 20 αθλητές. Κάθε αθλητής έκανε µόνο µία
έγκυρη ρίψη που καταχωρείται ως επίδοση του αθλητή και εκφράζεται σε µέτρα. Να
αναπτύξετε αλγόριθµο που
α. να διαβάζει για κάθε αθλητή το όνοµα και την επίδοσή του,
β. να ταξινοµεί τους αθλητές ως προς την επίδοσή τους,
γ. να εµφανίζει τα ονόµατα και τις επιδόσεις των τριών πρώτων αθλητών, αρχίζοντας
από εκείνον µε την καλύτερη επίδοση,
δ. να εµφανίζει τα ονόµατα και τις επιδόσεις των πέντε τελευταίων αθλητών, αρχίζοντας
από εκείνον µε την καλύτερη επίδοση.
Σηµείωση: Να θεωρήσετε ότι δεν υπάρχουν αθλητές µε την ίδια ακριβώς επίδοση.
ΗΜ04-Θ4
Για την πρώτη φάση της Ολυµπιάδας Πληροφορικής δήλωσαν συµµετοχή 500 µαθητές.
Οι µαθητές διαγωνίζονται σε τρεις γραπτές εξετάσεις και βαθµολογούνται µε ακέραιους
βαθµούς στη βαθµολογική κλίµακα από 0 έως και 100.
Να γράψετε αλγόριθµο ο οποίος:
α. Να διαβάζει τα ονόµατα των µαθητών και να τα αποθηκεύει σε µονοδιάστατο πίνακα.
β. Να διαβάζει τους τρεις βαθµούς που έλαβε κάθε µαθητής και να τους αποθηκεύει σε
δισδιάστατο πίνακα.
γ. Να υπολογίζει το µέσο όρο των βαθµών του κάθε µαθητή.
δ. Να εκτυπώνει τα ονόµατα των µαθητών και δίπλα τους το µέσο όρο των βαθµών τους
ταξινοµηµένα µε βάση τον µέσο όρο κατά φθίνουσα σειρά. Σε περίπτωση ισοβαθµίας η
σειρά ταξινόµησης των ονοµάτων να είναι αλφαβητική.
ε. Να υπολογίζει και να εκτυπώνει το πλήθος των µαθητών µε το µεγαλύτερο µέσο όρο.
Παρατήρηση: Θεωρείστε ότι οι βαθµοί των µαθητών είναι µεταξύ του 0 και του 100 και
ότι τα ονόµατα των µαθητών είναι γραµµένα µε µικρά γράµµατα.
ΕΣ08-Θ3
Για την ανάδειξη του επταµελούς (7) Διοικητικού Συµβουλίου ενός Πολιτιστικού
Συλλόγου υπάρχουν 20 υποψήφιοι. Να γράψετε αλγόριθµο ο οποίος
α. διαβάζει τα ονόµατα των υποψηφίων και τα αποθηκεύει σε πίνακα.
β. διαβάζει για κάθε υποψήφιο τον αριθµό των ψήφων που έλαβε και τον αποθηκεύει σε
πίνακα.
γ. εµφανίζει τα ονόµατα των εκλεγέντων µελών του Διοικητικού Συµβουλίου κατά
φθίνουσα σειρά ψήφων (να θεωρηθεί ότι δεν υπάρχουν περιπτώσεις ισοψηφίας).
δ. διαβάζει το όνοµα ενός υποψηφίου και ελέγχει αν ο συγκεκριµένος εκλέγεται ή όχι,
εµφανίζοντας κατάλληλο µήνυµα.
Θέµατα Πανελληνίων ανά κεφάλαιο
34
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
ΕΣ09-Θ4
Μια επιχείρηση που εµπορεύεται τηλεοράσεις διαθέτει 20 µοντέλα.
Να γραφεί αλγόριθµος που:
α. να διαβάζει τα ονόµατα των µοντέλων και να τα αποθηκεύει σε µονοδιάστατο πίνακα.
β. να διαβάζει για κάθε µοντέλο τον αριθµό των συσκευών που πουλήθηκαν κάθε µήνα,
για ένα έτος, και να τον αποθηκεύει σε πίνακα δύο διαστάσεων, ελέγχοντας ώστε
ο αριθµός αυτός να µην είναι αρνητικός.
γ. να υπολογίζει και να εµφανίζει το σύνολο των ετήσιων πωλήσεων του κάθε µοντέλου.
δ. να εµφανίζει κατά αλφαβητική σειρά τα ονόµατα των µοντέλων καθώς και τον ετήσιο
συνολικό αριθµό των συσκευών που πουλήθηκαν για κάθε µοντέλο.
ΕΣ12-Θ4
Μια εταιρεία ασχολείται µε εγκαταστάσεις φωτοβολταϊκών συστηµάτων, µε τα οποία οι
πελάτες της έχουν τη δυνατότητα αφενός να παράγουν ηλεκτρική ενέργεια για να
καλύπτουν τις ανάγκες της οικίας τους, αφετέρου να πωλούν την πλεονάζουσα ενέργεια
προς 0,55€/kWh, εξασφαλίζοντας επιπλέον έσοδα. Η εταιρεία αποφάσισε να ερευνήσει
τις εγκαταστάσεις που πραγµατοποίησε την προηγούµενη χρονιά σε δέκα (10) πελάτες.
Να αναπτύξετε αλγόριθµο ο οποίος:
Δ1. Να διαβάζει τα ονόµατα των πελατών και να τα αποθηκεύει σε πίνακα ΟΝΟΜΑ[10].
Δ2. Να διαβάζει το ποσό της ηλεκτρικής ενέργειας σε kWh που παρήγαγαν τα
φωτοβολταϊκά συστήµατα κάθε πελάτη, καθώς και το ποσό της ηλεκτρικής ενέργειας που
κατανάλωσε κάθε πελάτης ανά µήνα του έτους, και να τα αποθηκεύει στους πίνακες
Π[10,12] για την παραγωγή και Κ[10,12] για την κατανάλωση αντίστοιχα. Θεωρήστε ότι
δεν απαιτείται έλεγχος εγκυρότητας για τα δεδοµένα εισόδου.
Δ3. Με βάση τα στοιχεία του δισδιάστατου πίνακα Π[10,12], να αποθηκεύει σε
µονοδιάστατο πίνακα ΕΤΗΣΙΑ_Π[10] τις ετήσιες αποδόσεις σε kWh για κάθε πελάτη.
Με βάση τα στοιχεία του δισδιάστατου πίνακα Κ[10,12], να αποθηκεύει σε µονοδιάστατο
πίνακα ΕΤΗΣΙΑ_Κ[10] τις ετήσιες καταναλώσεις σε kWh που αντιστοιχούν σε κάθε
πελάτη.
Δ4. Σε µονοδιάστατο πίνακα ΕΣΟΔΑ[10] να αποθηκεύει τα ετήσια έσοδα σε Ευρώ, αν η
ετήσια παραγόµενη ηλεκτρική ενέργεια είναι µεγαλύτερη από την ενέργεια που έχει
καταναλωθεί για κάθε πελάτη, αλλιώς να αποθηκεύει την τιµή 0.
Δ5. Να εµφανίζει τα ετήσια έσοδα σε Ευρώ κατά φθίνουσα σειρά._
ΗΜ10-Δ
Το ράλλυ Βορείων Σποράδων είναι ένας αγώνας ιστιοπλοΐας ανοικτής θάλασσας που
γίνεται κάθε χρόνο. Στην τελευταία διοργάνωση συµµετείχαν 35 σκάφη που
διαγωνίστηκαν σε διαδροµή συνολικής απόστασης 70 µιλίων. Κάθε σκάφος ανήκει σε µια
Θέµατα Πανελληνίων ανά κεφάλαιο
35
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Μίλτος Στάµος
από τις κατηγορίες C1, C2, C3. Επειδή στον αγώνα συµµετέχουν σκάφη διαφορετικών
δυνατοτήτων, η κατάταξη δεν προκύπτει από τον «πραγµατικό» χρόνο τερµατισµού αλλά
από ένα «σχετικό» χρόνο, που υπολογίζεται διαιρώντας τον «πραγµατικό» χρόνο του
σκάφους µε τον «ιδανικό». Ο ιδανικός χρόνος είναι διαφορετικός για κάθε σκάφος και
προκύπτει πολλαπλασιάζοντας την απόσταση της διαδροµής µε τον δείκτη GPH του
σκάφους. Ο δείκτης GPH αντιπροσωπεύει τον ιδανικό χρόνο που χρειάζεται το σκάφος
για να καλύψει απόσταση ενός µιλίου.
Να κατασκευάσετε αλγόριθµο ο οποίος
∆1. Να ζητάει για κάθε σκάφος:
- το όνοµά του
- την κατηγορία του ελέγχοντας την ορθή καταχώρηση
- τον χρόνο (σε δευτερόλεπτα) που χρειάστηκε για να τερµατίσει
- τον δείκτη GPH (σε δευτερόλεπτα).
∆2. Να υπολογίζει τον σχετικό χρόνο κάθε σκάφους.
∆3.Να εµφανίζει την κατηγορία στην οποία ανήκουν τα περισσότερα σκάφη.
∆4. Να εµφανίζει για κάθε κατηγορία καθώς και για την γενική κατάταξη τα ονόµατα των
σκαφών που κερδίζουν µετάλλιο. (Μετάλλια απονέµονται στους 3 πρώτους κάθε
κατηγορίας και στους 3 πρώτους της γενικής κατάταξης).
Σηµείωση: Να θεωρήσετε ότι κάθε κατηγορία έχει διαφορετικό αριθµό σκαφών και
τουλάχιστον τρία σκάφη.
Θέµατα Πανελληνίων ανά κεφάλαιο
36