Τετάρτη, 16 Μαρτίου 2011

Θέμα 4ο : Επαναληπτικές απολυτήριες εξετάσεις εσπερινού λυκείου 2004

Σ’ ένα διαγωνισμό συμμετέχουν 5000 διαγωνιζόμενοι και
εξετάζονται σε δύο μαθήματα.
Να γράψετε αλγόριθμο που
1. να διαβάζει και να καταχωρίζει σε κατάλληλους πίνακες
    για κάθε διαγωνιζόμενο τον αριθμό μητρώου, το
    ονοματεπώνυμο και τους βαθμούς που πήρε στα δύο
    μαθήματα.
    Οι αριθμοί μητρώου θεωρούνται μοναδικοί. Η
    βαθμολογική κλίμακα είναι από 0 έως και 100.
                                                                          Μονάδες 4
2. να εμφανίζει κατάσταση επιτυχόντων με την εξής μορφή:

Αριθ. Μητρώου  Ονοματεπώνυμο  Μέσος Όρος

Επιτυχών θεωρείται ότι είναι αυτός που έχει μέσο όρο
βαθμολογίας μεγαλύτερο ή ίσο του 60.
                                                                         Μονάδες 4
3. να διαβάζει έναν αριθμό μητρώου και
    α.  σε περίπτωση που ο αριθμός μητρώου είναι
         καταχωρισμένος στον πίνακα, να εμφανίζεται ο
         αριθμός μητρώου, το ονοματεπώνυμο, ο μέσος όρος
         βαθμολογίας και η ένδειξη «ΕΠΙΤΥΧΩΝ» ή «ΑΠΟΤΥΧΩΝ»,
         ανάλογα με τον μέσο όρο.
                                                                         Μονάδες 8
    β. σε περίπτωση που ο αριθμός μητρώου δεν είναι
        καταχωρισμένος στον πίνακα, να εμφανίζεται το
       μήνυμα «Ο αριθμός μητρώου δεν αντιστοιχεί σε
       διαγωνιζόμενο».
                                                                         Μονάδες 4
Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας καταχώρισης
δεδομένων.

Λύση

     Αλγόριθμος Θ4_ΕπανΕσπ2004

     Για γ από 1 μέχρι 5000
          Διάβασε ΑΜ[γ], ΟΝ[γ]
     Τέλος_επανάληψης
     Για γ από 1 μέχρι 5000
          Για σ από 1 μέχρι 2
               Διάβασε Βαθμ[γ, σ]
          Τέλος_επανάληψης
     Τέλος_επανάληψης
     Για γ από 1 μέχρι 5000
          Αθρ <-- 0
          Για σ από 1 μέχρι 2
               Αθρ <-- Αθρ+Βαθμ[γ, σ]
          Τέλος_επανάληψης
          ΜΟ[γ] <-- Αθρ/2
     Τέλος_επανάληψης
     Εμφάνισε 'Κατάσταση επιτυχόντων ...'
    
Επ <-- 0
     Για
γ από 1 μέχρι 5000
           Αν ΜΟ[γ] >= 60 τότε
                Εμφάνισε ΑΜ[γ], ΟΝ[γ], ΜΟ[γ]
                Επ <-- Επ+1
           Τέλος_αν
     Τέλος_επανάληψης
     Αν Επ = 0 τότε
           Εμφάνισε 'Δεν υπάρχει κανένας επιτυχών'
     Τέλος_αν
     Διάβασε Μητρώο
     done <-- Ψευδής
     pos <-- 0
     γ <-- 1
     Όσο (γ <= 5000) ΚΑΙ (done = Ψευδής) επανάλαβε
           Αν ΑΜ[γ] = Μητρώο τότε
                 done <-- Αληθής
                 pos <-- γ
           αλλιώς
                 γ <-- γ+1
           Τέλος_αν
     Τέλος_επανάληψης
     Αν done = Αληθής τότε
           Εμφάνισε Μητρώο, ΟΝ[pos], ΜΟ[pos]
           Αν ΜΟ[pos] >= 60 τότε
                 Εμφάνισε 'ΕΠΙΤΥΧΩΝ'
           αλλιώς
                 Εμφάνισε 'ΑΠΟΤΥΧΩΝ'
           Τέλος_αν
     αλλιώς
            Εμφάνισε 'Ο αριθμός μητρώου δεν αντιστοιχεί σε'
            Εμφάνισε 'διαγωνιζόμενο'
     Τέλος_αν
     Τέλος Θ4_ΕπανΕσπ2004
 

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

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