Λύσεις Θεμάτων 2021 Ημερήσιων / Εσπερινών Λυκείων

Θέμα Α

Α1

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

Α2

α) Βλ. κεφάλαιο 6 “Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον” Βιβλίου Μαθητή σελ. 121.
β) Βλ. κεφάλαιο 10 “Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον” Βιβλίου Μαθητή σελ. 175.
γ) Βλ. κεφάλαιο 2 “Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον” Βιβλίου Μαθητή σελ. 33.

Α3

ΔΙΑΒΑΣΕ α
β <- 1
ΑΝ α <= 5 ΤΟΤΕ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    β <- β + α
    ΔΙΑΒΑΣΕ α
  ΜΕΧΡΙΣ_ΟΤΟΥ α > 5
ΤΕΛΟΣ_ΑΝ

Α4

ΠΡΟΓΡΑΜΜΑ Α4
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: χ
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε μονοψήφιο αριθμό: '
  ΔΙΑΒΑΣΕ χ
  ΕΠΙΛΕΞΕ χ
  ΠΕΡΙΠΤΩΣΗ 2, 4, 6, 8
    ΓΡΑΨΕ 'Άρτιος'
  ΠΕΡΙΠΤΩΣΗ 1, 3, 5, 7, 9
    ΓΡΑΨΕ 'Περιττός'
  ΠΕΡΙΠΤΩΣΗ 0
    ΓΡΑΨΕ 'Μηδέν'
  ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ο αριθμός δεν είναι μονοψήφιος…'
  ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Α5

ΓΙΑ Χ ΑΠΟ 5 ΜΕΧΡΙ 3 ΜΕ_ΒΗΜΑ -1
   ΓΙΑ Ψ ΑΠΟ 1 ΜΕΧΡΙ Χ ΜΕ_ΒΗΜΑ 1
      ΓΡΑΨΕ Ψ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Θέμα Β

Β1

Αρχικά θα πρέπει να αποφασίσουμε το είδος του υποπρογράμματος που θα πρέπει να κάνουμε. Δεδομένου ότι η εκφώνηση μας ζητάει:

  1. Να διαβάσουμε 1000 αριθμούς και
  2. Να επιστρέψουμε 2 τιμές. Θα πρέπει να κάνουμε ΔΙΑΔΙΚΑΣΙΑ.
ΔΙΑΔΙΚΑΣΙΑ ΕΙΣΟΔΟΣ(πολλαπλάσια3, Στριψήφιων)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: πολλαπλάσια3, Στριψήφιων, αριθμός, ι
ΑΡΧΗ
  πολλαπλάσια3 <- 0
  Στριψήφιων <- 0
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 1000
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ αριθμός
    ΜΕΧΡΙΣ_ΟΤΟΥ αριθμός > 0
    ΑΝ αριθμός MOD 3 = 0 ΤΟΤΕ
      πολλαπλάσια3 <- πολλαπλάσια3 + 1
    ΤΕΛΟΣ_ΑΝ
    ΑΝ αριθμός >= 100 ΚΑΙ αριθμός <= 999 ΤΟΤΕ
      Στριψήφιων <- Στριψήφιων + αριθμός
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Β2

ΑΝ front = 0 ΚΑΙ rear = 0 ΤΟΤΕ
  ΓΡΑΨΕ 'Άδεια ουρά'
ΑΛΛΙΩΣ_ΑΝ front = rear ΤΟΤΕ
  ΓΡΑΨΕ ‘Εξάγεται το στοιχείο:’, Α[front]
  front <- 0
  rear <- 0
AΛΛΙΩΣ
  ΓΡΑΨΕ ‘Εξάγεται το στοιχείο:’, Α[front]
  front <- front + 1
TEΛΟΣ_ΑΝ

Θέμα Γ

ΠΡΟΓΡΑΜΜΑ ΘέμαΓ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: πλήθοςΚιβωτίων, πλήθοςΜεΜέγιστοΒάρος
  ΠΡΑΓΜΑΤΙΚΕΣ: μεγΣΒ, μεγΣΟ, ΣυνολικόΒάρος, ΣυνολικόςΌγκος, βάροςΚιβωτίου, όγκοςΚιβωτίου, μέσοΒάρος, μέγιστοΒάρος
  ΛΟΓΙΚΕΣ: παραβίαση
ΑΡΧΗ
  ! Γ2
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ μεγΣΒ ! μέγιστο συνολικό βάρος
  ΜΕΧΡΙΣ_ΟΤΟΥ μεγΣΒ >= 5000
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ μεγΣΟ ! μέγιστος συνολικός όγκος
  ΜΕΧΡΙΣ_ΟΤΟΥ μεγΣΟ >= 300

  πλήθοςΚιβωτίων <- 0
  ΣυνολικόΒάρος <- 0
  ΣυνολικόςΌγκος <- 0

  μέγιστοΒάρος <- 0
  πλήθοςΜεΜέγιστοΒάρος <- 0
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ! Γ3α
    ΔΙΑΒΑΣΕ βάροςΚιβωτίου, όγκοςΚιβωτίου

    ! Γ3β
    ΑΝ ΣυνολικόΒάρος + βάροςΚιβωτίου > μεγΣΒ ΤΟΤΕ
      παραβίαση <- ΑΛΗΘΗΣ
    ΑΛΛΙΩΣ_ΑΝ ΣυνολικόςΌγκος + όγκοςΚιβωτίου > μεγΣΟ ΤΟΤΕ
      παραβίαση <- ΑΛΗΘΗΣ
    ΑΛΛΙΩΣ
      παραβίαση <- ΨΕΥΔΗΣ
      ΣυνολικόΒάρος <- ΣυνολικόΒάρος + βάροςΚιβωτίου
      ΣυνολικόςΌγκος <- ΣυνολικόςΌγκος + όγκοςΚιβωτίου
      πλήθοςΚιβωτίων <- πλήθοςΚιβωτίων + 1
      
      ΑΝ βάροςΚιβωτίου > μέγιστοΒάρος ΤΟΤΕ
        μέγιστοΒάρος <- βάροςΚιβωτίου
        πλήθοςΜεΜέγιστοΒάρος <- 1
      ΑΛΛΙΩΣ_ΑΝ βάροςΚιβωτίου = μέγιστοΒάρος ΤΟΤΕ
        πλήθοςΜεΜέγιστοΒάρος <- πλήθοςΜεΜέγιστοΒάρος + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ παραβίαση = ΑΛΗΘΗΣ
  μέσοΒάρος <- ΣυνολικόΒάρος / πλήθοςΚιβωτίων

  ΓΡΑΨΕ πλήθοςΚιβωτίων, μέσοΒάρος
  ΓΡΑΨΕ μέγιστοΒάρος, πλήθοςΜεΜέγιστοΒάρος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Θέμα Δ

ΠΡΟΓΡΑΜΜΑ ΘέμαΔ
ΜΕΤΑΒΛΗΤΕΣ ! Δ1α
  ΑΚΕΡΑΙΕΣ: i, άλμα, μεγ_άλμα, άκυρα, j, k
  ΠΡΑΓΜΑΤΙΚΕΣ: ΕΠΙΔ[20, 6], μεγ_επιδ, temp
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[20]
ΑΡΧΗ
  ! Δ1β
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΔΙΑΒΑΣΕ ΟΝ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ! Δ1γ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΙΑ άλμα ΑΠΟ 1 ΜΕΧΡΙ 6
      ΔΙΑΒΑΣΕ ΕΠΙΔ[i, άλμα]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ! Δ2
  μεγ_επιδ <- 0
  μεγ_άλμα <- 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΙΑ άλμα ΑΠΟ 1 ΜΕΧΡΙ 6
      ΑΝ ΕΠΙΔ[i, άλμα] > μεγ_επιδ ΤΟΤΕ
        μεγ_επιδ <- ΕΠΙΔ[i, άλμα]
        μεγ_άλμα <- άλμα
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ μεγ_επιδ, μεγ_άλμα
  ! Δ3
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    άκυρα <- 0
    άλμα <- 1
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΑΝ ΕΠΙΔ[i, άλμα] = 0 ΤΟΤΕ
        άκυρα <- άκυρα + 1
      ΤΕΛΟΣ_ΑΝ
      άλμα <- άλμα + 1 
    ΜΕΧΡΙΣ_ΟΤΟΥ άλμα > 6 Η άκυρα = 2
    ΑΝ άκυρα = 2 ΤΟΤΕ
      ΓΡΑΨΕ ΟΝ[i]
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ! Δ4
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΙΑ k ΑΠΟ 2 ΜΕΧΡΙ 6
      ΓΙΑ j ΑΠΟ 6 ΜΕΧΡΙ k ΜΕ ΒΗΜΑ -1
        ΑΝ ΕΠΙΔ[i, j] > ΕΠΙΔ[i, j - 1] ΤΟΤΕ
          temp <- ΕΠΙΔ[i, j]
          ΕΠΙΔ[i, j] <- ΕΠΙΔ[i, j - 1]
          ΕΠΙΔ[i, j - 1] <- temp
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ ΟΝ[i]
    ΓΙΑ άλμα ΑΠΟ 1 ΜΕΧΡΙ 6
      ΓΡΑΨΕ ΕΠΙΔ[i, άλμα]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ