10 Μαΐου 2020

Θέμα πανελλαδικών ΓΕΛ (Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον) προσαρμοσμένο για Python


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

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

1.Να διαβάζει επαναληπτικά τα ονόματα των μαθητών και να τα καταχωρίζει στη λίστα ΟΝ. Επίσης, να αρχικοποιεί με την τιμή 0 όλα τα στοιχεία της λίστας VATH (λίστα δύο διαστάσεων με 40 υπολίστες 6 στοιχείων), η οποία θα περιέχει τη βαθμολογία κάθε μαθητή για κάθε πρόβλημα.

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

3. Να υπολογίζει και να καταχωρίζει στην λίστα SV τα αθροίσματα των βαθμολογιών κάθε μαθητή στα έξι προβλήματα. Για τον σκοπό αυτό να καλεί μόνο μια φορά το υποπρόγραμμα με όνομα YSV. Να αναπτύξετε το υποπρόγραμμα YSV το οποίο να δέχεται ως είσοδο την λίστα VATH και να επιστρέφει ως έξοδο συμπληρωμένη την λίστα SV.

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