Ασκήσεις

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

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

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

    Δ2. Να διαβάζει επαναληπτικά τα ονόματα των μαθητών και να τα καταχωρίζει στον Πίνακα ΟΝ[40]. Επίσης να αρχικοποιεί με την τιμή 0 τους Πίνακες Β1[40] και Β2[40] που θα περιέχουν τη βαθμολογία κάθε μαθητή στα προβλήματα 1 και 2 αντίστοιχα.

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

    Δ4. Για κάθε μαθητή να υπολογίζει και να καταχωρίζει σε Πίνακα ΣΒ[40] το άθροισμα των βαθμολογιών του στα δύο προβλήματα.

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

    Σημειώσεις:

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

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

  2.  

    xx

  3.  

    x

  4. x

  5. x