Πέμπτη 3 Μαρτίου 2011

Θέμα 4ο - Απολυτήριες εξετάσεις ενιαίου λυκείου 2004


Για την πρώτη φάση της Ολυμπιάδας Πληροφορικής
δήλωσαν συμμετοχή 500 μαθητές. Οι μαθητές 
διαγωνίζονται σε τρεις γραπτές εξετάσεις και βαθμολο-
γούνται με ακέραιους βαθμούς στη βαθμολογική κλίμακα
από 0 έως και 100.
Να γράψετε αλγόριθμο ο οποίος:
α. Να διαβάζει τα ονόματα των μαθητών και να τα αποθη-
    κεύει σε μονοδιάστατο πίνακα.
                                                                Μονάδες 2
β. Να διαβάζει τους τρεις βαθμούς που έλαβε κάθε μαθητής
    και να τους αποθηκεύει σε δισδιάστατο πίνακα.
                                                                Μονάδες 2
γ. Να υπολογίζει το μέσο όρο των βαθμών του κάθε μαθητή.
                                                                Μονάδες 4
δ. Να εκτυπώνει τα ονόματα των μαθητών και δίπλα τους το
    μέσο όρο των βαθμών τους ταξινομημένα με βάση 
    το μέσο όρο κατά φθίνουσα σειρά. Σε περίπτωση 
    ισοβαθμίας η σειρά ταξινόμησης των ονομάτων
    να είναι αλφαβητική.
                                                                 Μονάδες 7   
ε. Να υπολογίζει και να εκτυπώνει το πλήθος των
    μαθητών με το μεγαλύτερο μέσο όρο.
                                                                 Μονάδες 5
Παρατήρηση: Θεωρείστε ότι οι βαθμοί των μαθητών
είναι μεταξύ του 0 και του 100 και ότι τα ονόµατα των 
µαθητών είναι γραµµένα µε µικρά γράµµατα


Λύση


     Αλγόριθμος Θ4_Εν2004
     Για μ από 1 μέχρι 500
          Διάβασε Ον[μ]
     Τέλος_επανάληψης
     Για μ από μέχρι 500
           Για λ από 1 μέχρι 3
                 Διάβασε Β[μ, λ]
           Τέλος_επανάληψης
     Τέλος_επανάληψης
      Για μ από μέχρι 500
           σ <-- 0
           Για λ από μέχρι 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


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου