Επιλογή Σελίδας

Λύσεις – Πανελλαδικές, Επαναληπτικές, Ημερήσια Λύκεια, 2009 (ΑΕΠΠ)

ΘΕΜΑ Γ

Στις γενικές εξετάσεις, κάθε γραπτό βαθμολογείται από δύο βαθμολογητές στην κλίμακα 1-100. Όταν η διαφορά των δύο βαθμών είναι μεγαλύτερη από δώδεκα μονάδες, το γραπτό αναβαθμολογείται, δηλαδή βαθμολογείται και από τρίτο βαθμολογητή.

Στα γραπτά που δεν έχουν αναβαθμολογηθεί, ο τελικός βαθμός προκύπτει από το πηλίκο της διαίρεσης του αθροίσματος των βαθμών των δύο βαθμολογητών διά δέκα.

Στα γραπτά που έχουν αναβαθμολογηθεί, ο τελικός βαθμός προκύπτει με τον ίδιο τρόπο, αλλά λαμβάνονται υπόψη οι δύο μεγαλύτεροι βαθμοί.

Για στατιστικούς λόγους, οι τελικοί βαθμοί (ΤΒ) κατανέμονται στις παρακάτω βαθμολογικές κατηγορίες:

1η 2η 3η 4η 5η 6η
0≤ΤΒ<5 5≤ΤΒ<10 10≤ TΒ<12 12≤ΤΒ<15 15≤ΤΒ<18 18≤ΤΒ≤20

Σ’ ένα βαθμολογικό κέντρο υπάρχουν 780 γραπτά στο μάθημα «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον».

Οι βαθμοί των δύο βαθμολογητών έχουν καταχωριστεί στις δύο πρώτες στήλες ενός πίνακα Β[780,3].

Να γραφεί αλγόριθμος ο οποίος:

Α. Να ελέγχει, για κάθε γραπτό, αν χρειάζεται αναβαθμολόγηση. Αν χρειάζεται, να ζητάει από τον χρήστη τον βαθμό του τρίτου βαθμολογητή και να τον εισάγει στην αντίστοιχη θέση της τρίτης στήλης, διαφορετικά να εισάγει την τιμή -1.

Δεν απαιτείται έλεγχος εγκυρότητας.

Μονάδες 4

Β. Να υπολογίζει τον τελικό βαθμό κάθε γραπτού και να τον καταχωρίζει στην αντίστοιχη θέση ενός πίνακα Τ[780].

Μονάδες 7

Γ.  Να εμφανίζει τη βαθμολογική κατηγορία (ή τις κατηγορίες) με το μεγαλύτερο πλήθος γραπτών.

Μονάδες 9

ΛΥΣΗ

Πρόγραμμα ΘΕΜΑ_Γ_2009_ΕΠΑΝ_ΗΜΕΡ_Αναβαθμολογήσεις
Σταθερές
 Εξεταζόμενοι=5 ! Για την εκτέλεση στη ΓλωσσοΜάθεια, 780 για την άσκηση
Μεταβλητές
 Ακέραιες: i, j, Β[Εξεταζόμενοι,3], ΠΛ[6], θέση_Min, Min, S, Max
 Πραγματικές: Τ[Εξεταζόμενοι]

Αρχή
 Για i από 1 μέχρι Εξεταζόμενοι
     Γράψε 'Δώστε βαθμολογίες εξεταζομένου ', i
     Για j από 1 μέχρι 2
         Γράψε 'Βαθμολογητής ', j
         Διάβασε Β[i,j]
     Τέλος_Επανάληψης
 Τέλος_Επανάληψης

 ! Α
 Για i από 1 μέχρι Εξεταζόμενοι
     Αν Α_Τ(Β[i, 1] - Β[i, 2]) > 12 τότε
        Γράψε 'Δώστε βαθμό 3ου βαθμολογητή'
        Διάβασε Β[i, 3]
     Αλλιώς
        Β[i, 3] <-- -1
    Τέλος_αν
 Τέλος_επανάληψης

 ! B
 Για i από 1 μέχρι Εξεταζόμενοι
     Αν Β[i, 3] <> -1 τότε ! με αναβαθμολόγηση
        ! βρίσκω την μικρότερη βαθμολογία
        Min <-- Β[i, 1]
        θέση_Min <-- 1
        Για j από 2 μέχρι 3
            Αν Β[i, j] < Min τότε
               Min <-- Β[i, j]
               θέση_Min <-- j
            Τέλος_αν
        Τέλος_επανάληψης

       ! και την αποκλείω από το άθροισμα όλων
       S <-- 0
       Για j από 1 μέχρι 3
           Αν θέση_min <> j τότε
              S <-- S + Β[i, j]
           Τέλος_αν
       Τέλος_επανάληψης
       Τ[i] <-- S / 10
     Αλλιώς             ! χωρίς αναβαθμολόγηση
       Τ[i] <-- (Β[i, 1] + Β[i, 2]) / 10 
 Τέλος_αν
 Τέλος_επανάληψης

 ! Αρχικοποίηση ΠΛ
 Για j από 1 μέχρι 6
     ΠΛ[j] <-- 0
 Τέλος_επανάληψης

 Για j από 1 μέχρι 6
 ! Αν είχε γίνει εδώ η αρχικοποίηση του ΠΛ, ως ΠΛ[j] <-- 0 θα υπήρχε θέμα
    Για i από 1 μέχρι Εξεταζόμενοι
        Αν Τ[i] < 5 τότε
           ΠΛ[1] <-- ΠΛ[1] + 1
        Αλλιώς_αν Τ[i] < 10 τότε
           ΠΛ[2] <-- ΠΛ[2] + 1
        Αλλιώς_αν Τ[i] < 12 τότε
           ΠΛ[3] <-- ΠΛ[3] + 1
        Αλλιώς_αν Τ[i] < 15 τότε
           ΠΛ[4] <-- ΠΛ[4] + 1
        Αλλιώς_αν Τ[i] < 18 τότε
           ΠΛ[5] <-- ΠΛ[5] + 1
        Αλλιώς
           ΠΛ[6] <-- ΠΛ[6] + 1
        Τέλος_αν
    Τέλος_επανάληψης
 Τέλος_επανάληψης

 ! Γ
 Max <-- ΠΛ[1]
 Για j από 2 μέχρι 6
     Αν ΠΛ[j] > Max τότε
        Max <-- ΠΛ[j]
     Τέλος_αν
 Τέλος_επανάληψης

 Για j από 1 μέχρι 6
     Αν ΠΛ[j] = Max τότε
       Γράψε 'Μεγαλύτερο πλήθος γραπτών, στην κατηγορία ', j
     Τέλος_αν
 Τέλος_επανάληψης
Τέλος_Προγράμματος

 

ΘΕΜΑ Δ

Το παιχνίδι τρίλιζα παίζεται με διαδοχικές κινήσεις δύο παικτών σε έναν πίνακα Τ[3,3]. Οι παίκτες συμπληρώνουν εναλλάξ μια θέση του πίνακα, τοποθετώντας ο μεν πρώτος το σύμβολοχαρακτήρα ‘Χ’, ο δε δεύτερος το σύμβολο–χαρακτήρα ‘Ο’.

Νικητής είναι ο παίκτης που θα συμπληρώσει πρώτος μια τριάδα όμοιων συμβόλων σε κάποια γραμμή, στήλη ή διαγώνιο του πίνακα. Αν ο πίνακας συμπληρωθεί χωρίς νικητή, το παιχνίδι θεωρείται ισόπαλο.

Α. Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ», το οποίο:

  1. Να τοποθετεί σε κάθε θέση του πίνακα Τ τον χαρακτήρα ‘-’.

Μονάδες 2

  1. Για κάθε κίνηση:

α. Να δέχεται τις συντεταγμένες μιας θέσης του πίνακα Τ και να τοποθετεί στην αντίστοιχη θέση το σύμβολο του παίκτη. Να θεωρήσετε ότι οι τιμές των συντεταγμένων είναι πάντοτε σωστές (1 έως 3) είναι όμως αποδεκτές, μόνον αν η θέση που προσδιορίζουν δεν περιέχει ήδη ένα σύμβολο παίκτη.

Μονάδες 4

β. Να ελέγχει εάν με την κίνησή του ο παίκτης νίκησε. Για τον σκοπό αυτόν, να καλεί τη συνάρτηση ΝΙΚΗΣΕ, που περιγράφεται στο ερώτημα Β.

Μονάδες 2

  1. Να τερματίζει το παιχνίδι, εφόσον σημειωθεί ισοπαλία ή νικήσει ένας από τους δύο παίκτες.

Μονάδες 2

  1. Να εμφανίζει με κατάλληλο μήνυμα (πρώτος παίκτης/ δεύτερος παίκτης/ισοπαλία) το αποτέλεσμα του παιχνιδιού.

Μονάδες 2

Β. Να κατασκευάσετε τη συνάρτηση ΝΙΚΗΣΕ, η οποία θα δέχεται τον πίνακα Τ και τις συντεταγμένες (Γ, Σ) μιας θέσης του πίνακα και θα επιστρέφει την τιμή ΑΛΗΘΗΣ, αν υπάρχει τρεις φορές το ίδιο σύμβολο, σε τουλάχιστον μια από τις παρακάτω περιπτώσεις:

  1. Στη γραμμή Γ.
  2. Στη στήλη Σ.
  3. Στην κύρια διαγώνιο (δηλαδή Γ=Σ).
  4. Στη δευτερεύουσα διαγώνιο (δηλαδή Γ+Σ=4).

Σε κάθε άλλη περίπτωση, η συνάρτηση να επιστρέφει την τιμή ΨΕΥΔΗΣ.

Μονάδες 8

 

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ_2009_ΕΠΑΝ_ΗΜΕΡ
ΜΕΤΑΒΛΗΤΕΣ 
 ΑΚΕΡΑΙΕΣ: κίνηση, γραμμή, στήλη, i, j
 ΧΑΡΑΚΤΗΡΕΣ: Τ[9,9]
 ΛΟΓΙΚΕΣ: βρέθηκε_νικητής
ΑΡΧΗ 
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
     ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
         Τ[i,j] <-- '-'
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 βρέθηκε_νικητής <-- ΨΕΥΔΗΣ
 κίνηση <-- 1
 ΟΣΟ κίνηση <= 9 ΚΑΙ βρέθηκε_νικητής = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
     ΓΡΑΨΕ 'Δώσε τις συντεταγμένες: Γραμμή(1-3), Στήλη(1-3)'
     ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΔΙΑΒΑΣΕ γραμμή, στήλη
     ΜΕΧΡΙΣ_ΟΤΟΥ Τ[γραμμή,στήλη] = '-'
     ΑΝ κίνηση MOD 2 = 1 ΤΟΤΕ
        Τ[γραμμή,στήλη] <-- 'X'
        ΓΡΑΨΕ 'Καταχωρήθηκε η κίνηση του παίκτη 1'
     ΑΛΛΙΩΣ
        Τ[γραμμή,στήλη] <-- 'Ο'
        ΓΡΑΨΕ 'Καταχωρήθηκε η κίνηση του παίκτη 2'
    ΤΕΛΟΣ_ΑΝ
    βρέθηκε_νικητής <-- ΝΙΚΗΣΕ(Τ, γραμμή, στήλη)
    ΑΝ (βρέθηκε_νικητής = ΨΕΥΔΗΣ) ΤΟΤΕ
        κίνηση <-- κίνηση + 1
    ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΑΝ κίνηση > 9 ΤΟΤΕ
    ΓΡΑΨΕ 'Ισοπαλία'
 ΑΛΛΙΩΣ_ΑΝ κίνηση MOD 2 = 1 ΤΟΤΕ 
    ΓΡΑΨΕ 'Νίκησε ο πρώτος παίκτης'
 ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Νίκησε ο δεύτερος παίκτης'
 ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ ΝΙΚΗΣΕ(Τ, Γ, Σ): ΛΟΓΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ : Γ, Σ
 ΧΑΡΑΚΤΗΡΕΣ: Τ[9,9]
ΑΡΧΗ
 ΑΝ (Τ[Γ,1] = Τ[Γ,2] ΚΑΙ Τ[Γ,2] = Τ[Γ,3]) 
    Ή (Τ[1,Σ] = Τ[2,Σ] ΚΑΙ Τ[2,Σ]= Τ[3,Σ]) 
    Ή (Γ = Σ ΚΑΙ Τ[1,1] = Τ[2,2] ΚΑΙ Τ[2,2] = Τ[3,3]) 
    Ή (Γ + Σ = 4 ΚΑΙ Τ[1,3] = Τ[2,2] ΚΑΙ Τ[2,2] = Τ[3,1]) ΤΟΤΕ
 ΝΙΚΗΣΕ <-- ΑΛΗΘΗΣ
 ΑΛΛΙΩΣ
 ΝΙΚΗΣΕ <-- ΨΕΥΔΗΣ
 ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Τα θέματα σε pdf, 2009, Επαναληπτικές, Ημερήσια
Share This