Λύσεις Πανελλήνιων Εξετάσεων Γ' τάξης
Ημερήσιου Γενικού Λυκείου 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
                ΑΝ ΣΜΗΝ[Μ] < Μικ
 ΤΟΤΕ
                      Μικ <-- ΣΜΗΝ[Μ]
                      ΑΑμήνα <-- Μ
                ΤΕΛΟΣ_ΑΝ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΓΡΑΨΕ ΑΑΜήνα