Για την πρώτη φάση της Ολυμπιάδας Πληροφορικής
δήλωσαν συμμετοχή 500 μαθητές. Οι μαθητές
διαγωνίζονται σε τρεις γραπτές εξετάσεις και βαθμολο-
γούνται με ακέραιους βαθμούς στη βαθμολογική κλίμακα
από 0 έως και 100.
Να γράψετε αλγόριθμο ο οποίος:
α. Να διαβάζει τα ονόματα των μαθητών και να τα αποθη-
κεύει σε μονοδιάστατο πίνακα.
Μονάδες 2
β. Να διαβάζει τους τρεις βαθμούς που έλαβε κάθε μαθητής
και να τους αποθηκεύει σε δισδιάστατο πίνακα.
Μονάδες 2
γ. Να υπολογίζει το μέσο όρο των βαθμών του κάθε μαθητή.
Μονάδες 4
δ. Να εκτυπώνει τα ονόματα των μαθητών και δίπλα τους το
μέσο όρο των βαθμών τους ταξινομημένα με βάση
το μέσο όρο κατά φθίνουσα σειρά. Σε περίπτωση
ισοβαθμίας η σειρά ταξινόμησης των ονομάτων
να είναι αλφαβητική.
Μονάδες 7
ε. Να υπολογίζει και να εκτυπώνει το πλήθος των
μαθητών με το μεγαλύτερο μέσο όρο.
Μονάδες 5
Παρατήρηση: Θεωρείστε ότι οι βαθμοί των μαθητών
είναι μεταξύ του 0 και του 100 και ότι τα ονόµατα των
µαθητών είναι γραµµένα µε µικρά γράµµατα
Λύση
Αλγόριθμος Θ4_Εν2004
Για μ από 1 μέχρι 500
Διάβασε Ον[μ]
Τέλος_επανάληψης
Για μ από 1 μέχρι 500
Για λ από 1 μέχρι 3
Διάβασε Β[μ, λ]
Τέλος_επανάληψης
Τέλος_επανάληψης
Για μ από 1 μέχρι 500
σ <-- 0
Για λ από 1 μέχρι 3
σ <-- σ+Β[μ, λ]
Τέλος_επανάληψης
ΜΟ[μ] <-- σ/3
Τέλος_επανάληψης
Για μ από 2 μέχρι 500
Για λ από 500 μέχρι μ με_βήμα -1
Αν ΜΟ[λ-1] < ΜΟ[λ] τότε
Β1 <-- ΜΟ[λ-1]
ΜΟ[λ-1] <-- ΜΟ[λ]
ΜΟ[λ] <-- Β1
Β2 <-- Ον[λ-1]
Ον[λ-1] <-- Ον[λ]
Ον[λ] <-- Β2
αλλιώς
Αν (ΜΟ[λ-1] = ΜΟ[λ]) ΚΑΙ
(Ον[λ-1] > Ον[λ]) τότε
Β2 <-- Ον[λ-1]
Ον[λ-1] <-- Ον[λ]
Ον[λ] <-- Β2
Τέλος_αν
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για μ από 1 μέχρι 500
Εμφάνισε Ον[μ], ΜΟ[μ]
Τέλος_επανάληψης
Πληθ <-- 0
Για μ από 1 μέχρι 500
Αν ΜΟ[μ] = ΜΟ[1] τότε
Πληθ <-- Πληθ+1
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε Πληθ
Τέλος Θ4_Εν2004
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου