Παρασκευή, 1 Ιουνίου 2012

Λύσεις Πανελλήνιων Εξετάσεων Γ' τάξης
Ημερήσιου Γενικού Λυκείου 2012


ΘΕΜΑ Α


Α1.
    1. ΛΑΘΟΣ
    2. ΛΑΘΟΣ
    3. ΣΩΣΤΟ
    4. ΛΑΘΟΣ
    5. ΣΩΣΤΟ

Α2. 

Εντολή εκχώρησης     Τύπος μεταβλητής Χ        Περιεχόμενο
                                                                               μεταβλητής Χ    

Χ <-- 'ΑΛΗΘΗΣ'            ΧΑΡΑΚΤΗΡΕΣ               'ΑΛΗΘΗΣ'
Χ <-- 11.0-13.0              ΠΡΑΓΜΑΤΙΚΕΣ                  -2.0
Χ <-- 7 > 4                     ΛΟΓΙΚΕΣ                        ΑΛΗΘΗΣ
Χ <-- ΨΕΥΔΗΣ              ΛΟΓΙΚΕΣ                        ΨΕΥΔΗΣ
Χ <-- 4                            ΑΚΕΡΑΙΕΣ                            4                

Α3.
α.
      Α[3] <-- 3+Α[6]
      Α[9] <-- Α[7] - 2
      Α[8] <-- Α[3] - 5
      Α[4] <-- 5 + Α[9]
      Α[5] <-- (Α[3]+Α[7]) div 2

β.
       Για i από 1 μέχρι 5
            αντιμετάθεσε Α[i], A[11-i]
       Τέλος_επανάληψης


A4.
     
α.
     i <-- 99
     Όσο i >= 1 επανάλαβε
           x <-- i^2
           εμφάνισε x
           i <-- i-2
     Τέλος_επανάληψης



β. 
     i <-- 99
     Αρχή_επανάληψης
           x <-- i^2
           εμφάνισε x
           i <-- i-2
     Μέχρις_ότου i < 1

γ.
     Οι δύο κύριες λειτουργίες σε μια στοίβα δεδομένων είναι:
     * Ώθηση : εισαγωγή ενός νέου στοιχείο στην κορυφή της
       στοίβας. Θα πρέπει να ελέγχεται αν η στοίβα είναι γεμάτη
       πριν από κάθε ώθηση (ώθηση σε γεμάτη στοίβα προκαλεί
       υπερχείλιση)
     * Απώθηση : εξαγωγή ενός στοιχείου από την κορυφή της
       στοίβας. Θα πρέπει να ελέγχεται αν η στοίβα είναι άδεια
       πριν από κάθε απώθηση (απώθηση σε άδεια στοίβα προκαλεί
       υποχείλιση).

ΘΕΜΑ Β


Β1.
      Κ = 1
      Χ = -1
      i = 0
      Αφού Χ < 7 = -1 < 7 = ΑΛΗΘΗΣ, η Όσο εκτελείται
      τουλάχιστον μια φορά.
      1η επανάληψη
            i  = i+1 = 0+1 = 1
            K = K*X = 1*(-1) = -1
            H Εμφάνισε τυπώνει:
                  -1     -1
            Αφού i mod 2 = 1 mod 2 = 1 έχουμε:
                   X = X+2 = -1+2 = 1
            Επειδή Χ < 7 = 1 < 7 = Αληθής, η Όσο συνεχίζεται.
     2η επανάληψη
             i  = i+1 = 1+1 = 2
            K = K*X = -1*1 = -1
            H Εμφάνισε τυπώνει:
                  -1     1
            Αφού i mod 2 = 2 mod 2 = 0 έχουμε:
                   X = X+1 = 1+1 = 2
            Επειδή Χ < 7 = 2 < 7 = Αληθής, η Όσο συνεχίζεται.
      3η επανάληψη
             i  = i+1 = 2+1 = 3
            K = K*X = -1*2 = -2
            H Εμφάνισε τυπώνει:
                  -2     2
            Αφού i mod 2 = 3 mod 2 = 1 έχουμε:
                   X = X+2 = 2+2 = 4
            Επειδή Χ < 7 = 4 < 7 = Αληθής, η Όσο συνεχίζεται.
       4η επανάληψη
             i  = i+1 = 3+1 = 4
            K = K*X = -2*4 = -8
            H Εμφάνισε τυπώνει:
                  -8     4
            Αφού i mod 2 = 4 mod 2 = 0 έχουμε:
                   X = X+1 = 4+1 = 5
            Επειδή Χ < 7 = 5 < 7 = Αληθής, η Όσο συνεχίζεται.
       5η επανάληψη
             i  = i+1 = 4+1 = 5
            K = K*X = -8*5 = -40
            H Εμφάνισε τυπώνει:
                  -40     5
            Αφού i mod 2 = 5 mod 2 = 1 έχουμε:
                   X = X+2 = 5+2 = 7
            Επειδή Χ < 7 = 7 < 7 = Ψευδής, η Όσο τερματίζεται.

Β2.
          ν <-- 0
          s <-- 0
          Αρχή_επανάληψης
                Αν ν mod 2 = 1 τότε
                      x <-- -1
                αλλιώς
                     x <-- 1
                Τέλος_αν
                s <-- s+x/(2*ν+1)
                ν <-- ν+1
          Μέχρις_ότου ν = 99
          π <-- 4*s
          Εκτύπωσε π



ΘΕΜΑ Γ


             Αλγόριθμος ΘΓ
             Αρχή_επανάληψης
                   Διάβασε ΠΟΣΟ
             Μέχρις_ότου ΠΟΣΟ > 5000000
             Διαθ <-- ΠΟΣΟ
             Μικρά <-- 0
             Μεγάλα <-- 0
             ΕπιδΜικρών <-- 0
             ΕπιδΜεγάλων <-- 0
             ΣΤΑΜΑΤΑ <-- ΨΕΥΔΗΣ
             Όσο ΣΤΑΜΑΤΑ = ΨΕΥΔΗΣ επανάλαβε
                    Διάβασε ΟΝΟΜΑ
                    Αν ΟΝΟΜΑ < > 'ΤΕΛΟΣ' τότε
                           Διάβασε Προ
                           Αν (Προ >= 200000) ΚΑΙ (Προ <= 299999) τότε
                                Επιδ <-- Προ*60/100
                                Κατ <-- 1
                           αλλιώς
                                Επιδ <-- Προ*70/100
                                Κατ <-- 2
                           Τέλος_αν
                           Αν Διαθ >= Επιδ τότε
                               Διαθ <-- Διαθ-Επιδ
                               Εμφάνισε ΟΝΟΜΑ, Επιδ
                               Αν Κατ = 1 τότε
                                     Μικρά <-- Μικρά+1 
                                     ΕπιδΜικρών <-- ΕπιδΜικρών+Επιδ
                               αλλιώς
                                     Μεγάλα <-- Μεγάλα+1
                                     ΕπιδΜεγάλων <-- ΕπιδΜεγάλων+Επιδ
                               Τέλος_αν                                           
                           αλλιώς
                                Αν Κατ = 1 τότε
                                      ΣΤΑΜΑΤΑ <-- ΑΛΗΘΗΣ
                                Τέλος_αν
                           Τέλος_αν
                    αλλιώς
                           ΣΤΑΜΑΤΑ <-- ΑΛΗΘΗΣ
                    Τέλος_αν
             Τέλος_επανάληψης
             Σύνολο <-- Μικρά+Μεγάλα
             Αν Σύνολο > 0 τότε
                 Εμφάνισε Μικρά, ΕπιδΜικρών
                 Εμφάνισε Μεγάλα, ΕπιδΜεγάλων
                 Αν Διαθ > 0 τότε
                       Εμφάνισε Διαθ
                 Τέλος_αν
             αλλιώς
                  Εμφάνισε 'Δε δόθηκαν καθόλου δεδομένα!'
             Τέλος_αν
             Τέλος ΘΓ

Παρατηρήσεις
1. Η Όσο θα μπορούσε να δομηθεί και ως εξής :

  .....
  Όσο ΣΤΑΜΑΤΑ = ΨΕΥΔΗΣ επανάλαβε
       Διάβασε ΟΝΟΜΑ
       Αν ΟΝΟΜΑ < > 'ΤΕΛΟΣ' τότε
              ...
             Αν Διαθ >= Επιδ τότε
                  ....
             Τέλος_αν
             Αν Διαθ < 120000 τότε   ! 120000 = 200000*0.6
                    ΣΤΑΜΑΤΑ <-- Αληθής
             Τέλος_αν
       αλλιώς
            ΣΤΑΜΑΤΑ <-- ΑΛΗΘΗΣ
       Τέλος_αν
  Τέλος_επανάληψης
   ....

2. Θα μπορούσε να χρησιμοποιηθεί και Μέχρις_ότου:
    ....
    Αρχή_επανάληψης
         Διάβασε ΟΝΟΜΑ
         Αν ΟΝΟΜΑ < > 'ΤΕΛΟΣ' τότε
               .....
         Τέλος_αν
    Μέχρις_ότου (ΟΝΟΜΑ = 'ΤΕΛΟΣ') Ή (Διαθ < 120000)
    ....

ΘΕΜΑ Δ


    ΠΡΟΓΡΑΜΜΑ ΘΔ
    ΜΕΤΑΒΛΗΤΕΣ
          ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[10, 2]
          ΑΚΕΡΑΙΕΣ: Μ, Λ, ΘΜΑΧ, ΑΑΜήνα
          ΠΡΑΓΜΑΤΙΚΕΣ: Π[10, 12], Κ[10, 12], Σ1, Σ2, ΜΑΧ,
                                ΕτΠαρ[10], ΕτΚατ[10], Έσοδα[10], ΜΙΝ
    ΑΡΧΗ
           ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 10
                ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 2
                       ΔΙΑΒΑΣΕ ΟΝ[Μ, Λ]
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 10
                ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 12
                       ΔΙΑΒΑΣΕ Π[Μ, Λ]
                       ΔΙΑΒΑΣΕ Κ[Μ, Λ]
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 10
                Σ1 <-- 0
                Σ2 <-- 0
                ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 12
                       Σ1 <-- Σ1+Π[Μ, Λ]
                       Σ2 <-- Σ2+Κ[Μ, Λ]
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΕτΠαρ[Μ] <-- Σ1
                ΕτΚατ[Μ] <-- Σ2
                Έσοδα[Μ] <-- (Σ1-Σ2)*0.55
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΜΑΧ <-- ΕτΠαρ[1]
           ΘΜΑΧ <-- 1
           ΓΙΑ Μ ΑΠΟ 2 ΜΕΧΡΙ 10
                ΑΝ ΕτΠαρ[Μ] > ΜΑΧ ΤΟΤΕ
                      ΜΑΧ <-- ΕτΠαρ[Μ]
                      ΘΜΑΧ <-- Μ
                ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΓΡΑΨΕ ΟΝ[ΘΜΑΧ, 2]
           ΚΑΛΕΣΕ  Λίστα_Εσόδων(Έσοδα)
           ΜΙΝ <-- Π[1, 1]
           ΑΑΜήνα <-- 1
           ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 10
                ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 12
                       ΑΝ Π[Μ, Λ] < ΜΙΝ ΤΟΤΕ
                              ΜΙΝ <-- Π[Μ, Λ]
                              ΑΑΜήνα <-- Λ
                       ΤΕΛΟΣ_ΑΝ
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΓΡΑΨΕ  ΑΑΜήνα
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

    ΔΙΑΔΙΚΑΣΙΑ Λίστα_Εσόδων(Έσοδα)
    ΜΕΤΑΒΛΗΤΕΣ
          ΠΡΑΓΜΑΤΙΚΕΣ: Έσοδα[10], κ, λ, Βοηθ
    ΑΡΧΗ
         ΓΙΑ κ ΑΠΟ 2 ΜΕΧΡΙ 10
              ΓΙΑ λ ΑΠΟ 10 ΜΕΧΡΙ κ ΜΕ_ΒΗΜΑ -1
                     ΑΝ Έσοδα[λ-1] < Έσοδα[λ] ΤΟΤΕ
                          Βοηθ <-- Έσοδα[λ-1]
                          Έσοδα[λ-1] <-- Έσοδα[λ]
                          Έσοδα[λ] <-- Βοηθ
                     ΤΕΛΟΣ_ΑΝ
              ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 10
              ΓΡΑΨΕ Έσοδα[κ]
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Παρατήρηση
Στο ερώτημα Δ5, μπορεί να δοθεί μια τελείως διαφορετική
λύση, αν θεωρήσουμε ότι ζητείται ο αριθμός του μήνα
με τη μικρότερη συνολική παραγωγή ηλεκτρικής ενέργειας
από όλους τους πελάτες. Σε αυτή την περίπτωση, θα πρέπει
να γράψουμε τα ακόλουθα:
         ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 12
                Σ <-- 0
                ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 10
                      Σ <-- Σ+Π[Μ, Λ]                           
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΣΜΗΝ[Λ] <-- Σ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         Μικ <-- ΣΜΗΝ[1]
         ΑΑΜήνα  <-- 1
         ΓΙΑ Μ ΑΠΟ 2 ΜΕΧΡΙ 10
                ΑΝ ΣΜΗΝ[Μ] < Μικ ΤΟΤΕ
                      Μικ <-- ΣΜΗΝ[Μ]
                      ΑΑμήνα <-- Μ
                ΤΕΛΟΣ_ΑΝ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΓΡΑΨΕ ΑΑΜήνα





 
      

1 σχόλιο:

  1. νομιζω η επιλυση του Γ ειναι λανθασμενη.Η επανάληψη πρέπει να σταματα όταν δεν ειναι δυνατο να επιδοτηθει άλλο μικρο έργο δηλαδή Διαθ<200000*0,6.Στη λύση σας σταματά αν δεν μπορεί να επιδοτήσει κάποιο έργο..

    ΑπάντησηΔιαγραφή