Μάθημα : ΠΛΗΡΟΦΟΡΙΚΗ Γ' ΛΥΚΕΙΟΥ

Κωδικός : D10101

D10101  -   ΔΑΒΙΤΗ ΜΑΓΔΑΛΗΝΗ

Υποπρογράμματα - Πανελλαδικές

Ερώτηση 1 (Ελεύθερου Κειμένου — 20 βαθμοί) 

2017 - ΗΜ - 2017

ΘΕΜΑ Δ
Σε ένα σεμινάριο διάρκειας 6 μηνών, τηρούνται απουσίες ανά μήνα για κάθε συμμετέχοντα. Στο σεμινάριο συμμετέχουν 50 επιμορφούμενοι και ο καθένας έχει ένα μοναδικό αλφαριθμητικό κωδικό, που αποθηκεύεται στον πίνακα ΚΩΔ[50]. Οι απουσίες κάθε συμμετέχοντα ανά μήνα σεμιναρίου αποθηκεύονται σε δισδιάστατο πίνακα απουσιών ΑΠ[50,6]. Η γραμματεία τηρεί το σύνολο των απουσιών για τα δύο τρίμηνα του εξαμήνου σε πίνακα ΑΠΤΡ[50,2], όπου η πρώτη στήλη προσδιορίζει το πρώτο τρίμηνο και η δεύτερη το δεύτερο τρίμηνο για κάθε συμμετέχοντα.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ αποτελούμενο από υποπρογράμματα ως εξής:
Δ1. Διαδικασία ΕΙΣ, που διαβάζει τον κωδικό του κάθε επιμορφούμενου, τις απουσίες του ανά μήνα σεμιναρίου και ενημερώνει τον πίνακα ΚΩΔ και τον πίνακα ΑΠ κατάλληλα (θεωρείστε ότι τα δεδομένα εισάγονται σωστά). Μονάδες 2

Δ2. Συνάρτηση ΑΝΑΖ, που δέχεται τον κωδικό ενός επιμορφούμενου και τον πίνακα των κωδικών ΚΩΔ και επιστρέφει τον αριθμό της γραμμής που βρίσκεται ο κωδικός που αναζητείται. Αν ο κωδικός δεν βρεθεί, επιστρέφει 0. Μονάδες 4

Δ3. Συνάρτηση ΣΥΝΑΠ, που υπολογίζει το σύνολο απουσιών για έναν επιμορφούμενο σε ένα τρίμηνο. Η συνάρτηση δέχεται τον αριθμό της γραμμής που προσδιορίζει τον επιμορφούμενο στον πίνακα ΑΠ, τον πίνακα των απουσιών και τον αριθμό του πρώτου μήνα του τριμήνου (για παράδειγμα, 1 για το πρώτο τρίμηνο, 4 για το δεύτερο τρίμηνο) και επιστρέφει το σύνολο των απουσιών του τριμήνου.  Μονάδες 3

Δ4. Κύριο πρόγραμμα το οποίο:

α) περιέχει τμήμα δηλώσεων. (μονάδα 1)

β) καλεί τη διαδικασία ΕΙΣ για είσοδο δεδομένων. (μονάδα 1)

γ) για κάθε επιμορφούμενο υπολογίζει το σύνολο των απουσιών των δύο τριμήνων καλώντας τη συνάρτηση ΣΥΝΑΠ και ενημερώνει τον πίνακα ΑΠΤΡ. (μονάδες 3)

δ) διαβάζει επαναληπτικά έναν κωδικό. Για τον συγκεκριμένο κωδικό καλείται η συνάρτηση ΑΝΑΖ. Αν ο κωδικός αντιστοιχεί σε επιμορφούμενο, να εμφανίζει κατάλληλο μήνυμα δυνατότητας ή μη συμμετοχής του στις εξετάσεις. Στις εξετάσεις δικαιούνται συμμετοχής οι επιμορφούμενοι που έχουν λιγότερες από 10 απουσίες σε καθένα από τα δύο τρίμηνα. Αν ο κωδικός δεν βρεθεί, εμφανίζει μήνυμα «ΔΕΝ ΒΡΕΘΗΚΕ Ο ΚΩΔΙΚΟΣ». Η διαδικασία επαναλαμβάνεται μέχρι να δοθεί ως κωδικός η λέξη ΤΕΛΟΣ. (μονάδες 6)

Μονάδες 11

Ερώτηση 2 (Ελεύθερου Κειμένου — 20 βαθμοί) 

2019- Δ

Στην 27η Βαλκανιάδα Πληροφορικής που θα διεξαχθεί στην Αθήνα τον Σεπτέμβριο του 2019, συμμετέχουν 40 μαθητές. Κάθε μαθητής παίρνει έναν κωδικό από 1 έως και 40, ο οποίος αντιστοιχεί στη σειρά που δήλωσε συμμετοχή. Κάθε μαθητής καλείται να επιλύσει έξι προβλήματα. Για κάθε πρόβλημα αναπτύσσει τη λύση του σε μία γλώσσα προγραμματισμού και την υποβάλλει για βαθμολόγηση. Η λύση βαθμολογείται σε ακέραια κλίμακα από 0 έως 100. Κατά τη διάρκεια του διαγωνισμού κάθε μαθητής και για κάθε πρόβλημα μπορεί να υποβάλλει τη λύση του όσες φορές θέλει.

Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Μονάδες 2

Δ2. Να διαβάζει επαναληπτικά τα ονόματα των μαθητών και να τα καταχωρίζει στον Πίνακα ΟΝ[40]. (μονάδα 1)

Επίσης, να αρχικοποιεί με την τιμή 0 όλα τα στοιχεία του Πίνακα ΒΑΘ[40,6], ο οποίος θα περιέχει τη βαθμολογία κάθε μαθητή για κάθε  πρόβλημα. (μονάδες 2)

Μονάδες 3

Δ3. Κάθε φορά που μία λύση προβλήματος υποβάλλεται και βαθμολογείται, το πρόγραμμα να διαβάζει τον κωδικό του μαθητή (από 1 έως και 40), τον αριθμό του προβλήματος (από 1 έως και 6) και τη βαθμολογία του (από 0 έως και 100). (μονάδα 1)

Η βαθμολογία να καταχωρίζεται στην αντίστοιχη θέση του Πίνακα ΒΑΘ[40,6] μόνο αν είναι μεγαλύτερη από τη βαθμολογία που είναι ήδη καταχωρισμένη. (μονάδες 2)

Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα να εμφανίζει το μήνυμα «Υπάρχει νέα λύση προβλήματος; ΝΑΙ / ΟΧΙ». Αν εισαχθεί η τιμή «ΟΧΙ», να τερματίζεται η εισαγωγή δεδομένων. (μονάδες 2)

Μονάδες 5

Δ4. Να υπολογίζει και να καταχωρίζει στον Πίνακα ΣΒ[40] τα αθροίσματα των βαθμολογιών κάθε μαθητή στα έξι προβλήματα. Για τον σκοπό αυτό να καλεί μόνο μια φορά το υποπρόγραμμα με όνομα ΥΣΒ. (μονάδα 1)

Να αναπτύξετε το υποπρόγραμμα ΥΣΒ το οποίο να δέχεται ως είσοδο τον Πίνακα ΒΑΘ[40,6] και να επιστρέφει ως έξοδο συμπληρωμένο τον Πίνακα ΣΒ[40]. (μονάδες 4)

Μονάδες 5

Δ5. Να εμφανίζει τα ονόματα των μαθητών ταξινομημένων σύμφωνα με τη συνολική τους βαθμολογία σε φθίνουσα βαθμολογική σειρά. Σε περίπτωση μαθητών με την ίδια βαθμολογία, τα ονόματά τους να εμφανίζονται με αλφαβητική σειρά. Μονάδες 5

Σημειώσεις

α) Δεν απαιτούνται έλεγχοι εγκυρότητας τιμών.

β) Να θεωρήσετε ότι θα δοθεί τουλάχιστον μια λύση προβλήματος από έναν μαθητή.

 

Ερώτηση 3 (Ελεύθερου Κειμένου — 21 βαθμοί) 

2020 ΟΕΦΕ

Την 1η Ιουνίου 2020 στη Μαγιόρκα της Ισπανίας ήταν προγραμματισμένο ένα συνέδριο χιλίων πνευμονολόγων. Λόγω των έκτακτων συνθηκών, υπάρχει μειωμένη προσέλευση συνέδρων. Επίσης υπάρχει οδηγία για τήρηση αποστάσεων εντός της αίθουσας του συνεδριακού κέντρου. Η αίθουσα αποτελείται από 50 σειρές, και η κάθε σειρά από 20 καθίσματα. Ο Π.Ο.Υ. αναφέρει πως πρέπει να υπάρχει μια κενή θέση ανάμεσα σε δύο συμμετέχοντες και να μην κάθεται ο ένας πίσω από τον άλλο, ως εκ τούτου επιτρεπτές θέσεις για την πρώτη σειρά είναι: 1,3, 5,.., 19, για τη δεύτερη σειρά: 2, 4, 6, ..,20 κ.ο.κ. Για την γραμματειακή υποστήριξη του συνεδρίου να αναπτυχθεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Δ1.Θα περιέχει κατάλληλο τμήμα δηλώσεων   Μονάδες 1

Δ2.α. Θα διαβάζει τον πίνακα ΟΝ που θα περιέχει τα ονόματα των χιλίων συνέδρων.

β.Θα ρωτάει κάθε έναν αν τελικά θα παρευρεθεί στο συνέδριο και θα καταχωρίζει σε νέο πίνακα ΟΝ2 όσους απάντησαν «NAI».   Μονάδες 4

Σε περίπτωση που αυτοί που απάντησαν «ΝΑΙ» είναι πάνω από πεντακόσιοι τότε το συνέδριο θα πραγματοποιείται σε δύο μέρες με τη συμμετοχή των μισών συνέδρων του πίνακα ΟΝ2.

Παράδειγμα, αν δηλώσουν συμμετοχή 601 άτομα, οι πρώτοι 300 θα προσέλθουν την πρώτη μέρα και οι υπόλοιποι 301 τη δεύτερη μέρα. Η διάταξη τωναυστηρά προκαθορισμένων θέσεων των συνέδρων αποθηκεύεται σε πίνακα 50x20 που κάθε γραμμή του, αντιστοιχεί σε σειρά των καθισμάτων της αίθουσας.

Έτσι το πρόγραμμα

Δ3.Θα καλεί το υποπρόγραμμα Θέσεις που αναφέρεται στο ερώτημα Δ5 το οποίο επιστρέφει τη διάταξητης αίθουσας, μία φορά αν το συνέδριο πραγματοποιηθεί σε μία μέρα ή δύο φορές αν πραγματοποιηθεί σε δύο μέρες ανάλογα με την προσέλευση.

Μονάδες 4

Δ4.Θα εμφανίζει

α. πόσες σειρές καθισμάτων της αίθουσας δεν θα χρησιμοποιηθούν καθόλου και μπορούν να αφαιρεθούν από τους διοργανωτές

β.το ποσοστό χρήσης των καθισμάτων για την πρώτη μ έρα του συνεδρίου στις σειρές καθισμάτων που θα απομείνουν στην αίθουσα 

Μονάδες 6

Δ5.Να γραφεί το υποπρόγραμμα Θέσεις, το οποίο: 

•θα δέχεται έναν πίνακα ονομάτων χιλίων θέσεων, τον αριθμό του πρώτου και τον αριθμότου τ ελευτ αίου σύνεδρου που θα μπει στην αίθουσααπό τον πίνακα αυτό.

•θα δημιουργείκαι θα επιστρέφειδισδιάστατο πίνακα 50x20 στον οποίο κάθεκελί αντιστοιχεί σε κάθε κάθισμα τηςαίθουσας καιπεριέχειτο όνομα του κάθε συνέδρου στιςεπι τρε πτές θέσειςκαι «-» σε όλεςτιςυπόλοιπες αρχίζοντας από την πρώτη σειρά.

Μονάδες 5