Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γενικές εξετάσεις => Γ΄ Λυκείου => Εξετάσεις 2025-2026 => Μήνυμα ξεκίνησε από: gpapargi στις 04 Ιουν 2026, 08:27:03 ΠΜ

Τίτλος: Θέμα Γ
Αποστολή από: gpapargi στις 04 Ιουν 2026, 08:27:03 ΠΜ
Εδώ σχολιάζουμε το θέμα Γ
Τίτλος: Μια λύση..
Αποστολή από: Sergio στις 05 Ιουν 2026, 10:44:48 ΠΜ
Μια λύση..

Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ Σούπερ_Μάρκετ
ΣΤΑΘΕΡΕΣ
  Ν = 150
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι, ΑΠΟΘ[Ν], Κατ, Κουτ, Κατ_Εξ, π, π_5
  ΠΡΑΓΜΑΤΙΚΕΣ: ποσ
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΑΠΟΘ[ι]
    ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΟΘ[ι] > 0
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Κατ_Εξ <- 0
  π <- 0
  π_5 <- 0
  ΔΙΑΒΑΣΕ Κατ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    π <- π + 1
    ΔΙΑΒΑΣΕ Κουτ
    ΑΝ ΑΠΟΘ[Κατ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Δεν υπάρχει απόθεμα'
    ΑΛΛΙΩΣ
      ΑΝ ΑΠΟΘ[Κατ] >= Κουτ ΤΟΤΕ
        ΑΠΟΘ[Κατ] <- ΑΠΟΘ[Κατ] - Κουτ
        π_5 <- π_5 + 1
      ΑΛΛΙΩΣ
        ΑΠΟΘ[Κατ] <- 0
      ΤΕΛΟΣ_ΑΝ
      ΑΝ ΑΠΟΘ[Κατ] = 0 ΚΑΙ Κατ_Εξ = 0 ΤΟΤΕ
        Κατ_Εξ <- Κατ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
    ΔΙΑΒΑΣΕ Κατ
  ΜΕΧΡΙΣ_ΟΤΟΥ Κατ = 0
  ΑΝ Κατ_Εξ = 0 ΤΟΤΕ
    ΓΡΑΨΕ "Δεν εξαντλήθηκε το απόθεμα σε ΚΑΝΕΝΑ κατάστημα"
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ "Το απόθεμα εξαντλήθηκε πρώτα στο κατάστημα ", Κατ_Εξ
  ΤΕΛΟΣ_ΑΝ
  ποσ <- π_5/π*100
  ΓΡΑΨΕ ποσ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Τίτλος: Απ: Θέμα Γ
Αποστολή από: nikolasmer στις 05 Ιουν 2026, 12:09:41 ΜΜ
Αυτό το εμφωλευμένο Αν στο ερώτημα Γ3 μπορούμε να το αποφύγουμε;
Εννοώ έτσι;


Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΑΠΟΘ[150], κ, πλ, Ι, ΚΑΤ, ΚΟΥΤΙΑ, ΠΡΩΤΟ
  ΠΡΑΓΜΑΤΙΚΕΣ: ΠΟΣΟΣΤΟ
  ΛΟΓΙΚΕΣ: ΦΛΑΓΚ
ΑΡΧΗ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 150
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΑΠΟΘ[Ι]
    ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΟΘ[Ι] > 0
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  πλ <- 0
  κ <- 0
  ΦΛΑΓΚ <- ΨΕΥΔΗΣ
  ΔΙΑΒΑΣΕ ΚΑΤ
  ΟΣΟ ΚΑΤ <> 0 ΕΠΑΝΑΛΑΒΕ
    ΔΙΑΒΑΣΕ ΚΟΥΤΙΑ                               ! Διάβασμα επιθυμητής ποσότητας
    πλ <- πλ + 1                              ! Αύξηση συνολικού πλήθους πελατών
    ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ                ! Έλεγχος αν το απόθεμα έχει μηδενιστεί
      ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
    ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤΙΑ ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤΙΑ! Ο πελάτης αγοράζει όλη την ποσότητα που ζήτησε
      κ <- κ + 1
    ΑΛΛΙΩΣ
      ΑΠΟΘ[ΚΑΤ] <- 0                    ! Ο πελάτης αγοράζει ό,τι έχει απομείνει
    ΤΕΛΟΣ_ΑΝ
    ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ ΦΛΑΓΚ = ΨΕΥΔΗΣ ΤΟΤΕ
      ΠΡΩΤΟ <- ΚΑΤ        ! Έλεγχος αν εξαντλήθηκε για πρώτη φορά κάποιο απόθεμα
      ΦΛΑΓΚ <- ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ
    ΔΙΑΒΑΣΕ ΚΑΤ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ ΦΛΑΓΚ = ΑΛΗΘΗΣ ΤΟΤΕ
    ΓΡΑΨΕ ΠΡΩΤΟ
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Δεν εξαντλήθηκε απόθεμα σε κανένα υποκατάστημα'
  ΤΕΛΟΣ_ΑΝ

  ΠΟΣΟΣΤΟ <- (κ/πλ)*100      ! Υπολογισμός ποσοστού πλήρους εξυπηρέτησης πελατών
  ΓΡΑΨΕ ΠΟΣΟΣΤΟ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Τίτλος: Απ: Θέμα Γ
Αποστολή από: petrosp13 στις 05 Ιουν 2026, 12:23:45 ΜΜ
Αν θεωρήσουμε ότι ο πελάτης δεν μπορεί να ζητήσει μηδέν κουτιά, μπορούμε να βάλουμε τους ελέγχους

Αν απόθεμα >= κουτιά

Αλλιώς_Αν απόθεμα = 0

Μπορούμε να το θεωρήσουμε όμως;
Εγώ ψηφίζω Ναι
Τίτλος: Απ: Θέμα Γ
Αποστολή από: nikolasmer στις 05 Ιουν 2026, 06:36:08 ΜΜ
Αυτή είναι η λύση της ΚΕΕ



Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Γ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΑΑ, ΑΡ_ΚΟΥΤ, ΑΠΟΘ[150], Ι, ΠΛ, ΠΛ0, ΠΡΩΤΟ, ΠΛΕ
  ΠΡΑΓΜΑΤΙΚΕΣ: ΠΟΣΟΣΤΟ
ΑΡΧΗ
! Γ5
  ΠΛ <- 0
  ΠΛΕ <- 0
! Γ4
  ΠΛ0 <- 0
  ΠΡΩΤΟ <- 0
! Γ1
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 150
    ΓΡΑΨΕ 'ΔΩΣΕ ΑΠΟΘΕΜΑ ', Ι, 'ου ΥΠΟΚΑΤΑΣΤΗΜΑΤΟΣ'
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΑΠΟΘ[Ι]
    ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΟΘ[Ι] > 0
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Γ2
  ΓΡΑΨΕ 'ΔΩΣΕ ΑΡΙΘΜΟ ΥΠΟΚΑΤΑΣΤΗΜΑΤΟΣ:'
  ΔΙΑΒΑΣΕ ΑΑ
  ΟΣΟ ΑΑ <> 0 ΕΠΑΝΑΛΑΒΕ
    ΓΡΑΨΕ 'ΔΩΣΕ ΑΡΙΘΜΟ ΚΟΥΤΙΩΝ ΑΝΑΨΥΚΤΙΚΟΥ:'
    ΔΙΑΒΑΣΕ ΑΡ_ΚΟΥΤ
    ΠΛ <- ΠΛ + 1 
! Γ3
    ΑΝ ΑΠΟΘ[ΑΑ] >= ΑΡ_ΚΟΥΤ ΤΟΤΕ
      ΑΠΟΘ[ΑΑ] <- ΑΠΟΘ[ΑΑ] - ΑΡ_ΚΟΥΤ
      ΠΛΕ <- ΠΛΕ + 1
    ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΑΑ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
    ΑΛΛΙΩΣ
      ΑΠΟΘ[ΑΑ] <- 0
    ΤΕΛΟΣ_ΑΝ     
! Γ4
    ΑΝ ΑΠΟΘ[ΑΑ] = 0 ΤΟΤΕ
      ΠΛ0 <- ΠΛ0 + 1
      ΑΝ ΠΛ0 = 1 ΤΟΤΕ
        ΠΡΩΤΟ <- ΑΑ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
 ! Γ2
    ΓΡΑΨΕ 'ΔΩΣΕ ΑΡΙΘΜΟ ΥΠΟΚΑΤΑΣΤΗΜΑΤΟΣ:'
    ΔΙΑΒΑΣΕ ΑΑ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Γ5
  ΠΟΣΟΣΤΟ <- ΠΛΕ/ ΠΛ* 100
  ΓΡΑΨΕ 'ΠΟΣΟΣΤΟ ΠΕΛΑΤΩΝ ΠΟΥ ΑΓΟΡΑΣΑΝ ΟΣΑ ΖΗΤΗΣΑΝ: ', ΠΟΣΟΣΤΟ, '%'
! Γ4
  ΑΝ ΠΡΩΤΟ > 0 ΤΟΤΕ
    ΓΡΑΨΕ 'ΣΤΟ ΥΠΟΚΑΤΑΣΤΗΜΑ ', ΠΡΩΤΟ, ' ΕΞΑΝΤΛΗΘΗΚΕ ΠΡΩΤΑ ΤΟ ΑΠΟΘΕΜΑ'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'ΣΕ ΚΑΝΕΝΑ ΥΠΟΚΑΤΑΣΤΗΜΑ ΔΕΝ ΕΞΑΝΤΛΗΘΗΚΕ ΤΟ ΑΠΟΘΕΜΑ'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Προβληματίζομαι λίγο γιατί να λύνει πρώτα το Γ3γ και μετά το Γ3β και γιατί δεν το έδωσε έτσι στην εκφώνηση.
Τίτλος: Απ: Θέμα Γ
Αποστολή από: petrosp13 στις 05 Ιουν 2026, 06:55:21 ΜΜ
Γιατί το απόθεμα μπορεί να είναι μηδέν και άρα σίγουρα μικρότερο της ζητούμενης ποσότητας
Είναι άλλη περίπτωση όμως το μηδέν και άλλη το μικρότερο
Τίτλος: Απ: Θέμα Γ
Αποστολή από: nikolasmer στις 05 Ιουν 2026, 07:03:36 ΜΜ
Έχω δεί κάποιες απαντήσεις στο δίκτυο για το Γ3 και Γ4:

1η Λύση
Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ<>0 ΕΠΑΝΑΛΑΒΕ
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤ ΚΑΙ ΑΠΟΘ[ΚΑΤ] > 0 ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- 0
      ΓΡΑΨΕ 'Δεν υπάρχει απόθεμα'
   ΤΕΛΟΣ_ΑΝ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ FLAG = ΨΕΥΔΗΣ ΤΟΤΕ
     ΠΡΩΤΟ <- ΚΑΤ
      FLAG <- ΑΛΗΘΗΣ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

2η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ<>0 ΕΠΑΝΑΛΑΒΕ
   ΓΡΑΨΕ 'ΔΩΣΕ ΠΟΣΑ ΚΟΥΤΙΑ ΕΠΙΘΥΜΕΙΣ'
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
   ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] < ΚΟΥΤ ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- 0
   ΑΛΛΙΩΣ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΤΕΛΟΣ_ΑΝ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ FLAG = ΨΕΥΔΗΣ ΤΟΤΕ
      ΠΡΩΤΟ <- ΚΑΤ
      FLAG <- ΑΛΗΘΗΣ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

3η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ <> 0 ΕΠΑΝΑΛΑΒΕ
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
   ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤ ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΑΛΛΙΩΣ
      ΑΠΟΘ[ΚΑΤ] <- 0
   ΤΕΛΟΣ_ΑΝ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ FLAG = ΨΕΥΔΗΣ ΤΟΤΕ
      ΠΡΩΤΟ <- ΚΑΤ
      FLAG <- ΑΛΗΘΗΣ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

4η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ <> 0 ΕΠΑΝΑΛΑΒΕ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤ ΤΟΤΕ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
   ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
   ΑΛΛΙΩΣ
      ΑΠΟΘ[ΚΑΤ] <- 0
   ΤΕΛΟΣ_ΑΝ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ FLAG = 0 ΤΟΤΕ
      FLAG <- 1
      ΓΡΑΨΕ 'ΕΞΑΝΤΛΗΘΗΚΕ ΠΡΩΤΟ ΤΟ ΑΠΟΘΕΜΑ ΤΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ', ΚΑΤ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

5η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ > 0 ΕΠΑΝΑΛΑΒΕ
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Δεν υπάρχει απόθεμα'
   ΑΛΛΙΩΣ_ΑΝ ΚΟΥΤ <= ΑΠΟΘ[ΚΑΤ] ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΑΛΛΙΩΣ
      ΑΠΟΘ[ΚΑΤ] <- 0
   ΤΕΛΟΣ_ΑΝ
   ΑΝ FLAG = ΨΕΥΔΗΣ ΤΟΤΕ
      ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 150
         ΑΝ ΑΠΟΘ[i] = 0 ΤΟΤΕ
            ΠΡΩΤΟ <- i
            FLAG <- ΑΛΗΘΗΣ
         ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

6η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ <> 0 ΕΠΑΝΑΛΑΒΕ
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Δεν υπάρχει απόθεμα'
   ΑΛΛΙΩΣ_ΑΝ ΚΟΥΤ > ΑΠΟΘ[ΚΑΤ] ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- 0
      ΑΝ ΠΡΩΤΟ = 0 ΤΟΤΕ
         ΠΡΩΤΟ <- ΚΑΤ
      ΤΕΛΟΣ_ΑΝ
   ΑΛΛΙΩΣ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
      ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ ΠΡΩΤΟ = 0 ΤΟΤΕ
         ΠΡΩΤΟ <- ΚΑΤ
      ΤΕΛΟΣ_ΑΝ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΤΕΛΟΣ_ΑΝ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

7η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ <> 0 ΕΠΑΝΑΛΑΒΕ
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
   ΑΛΛΙΩΣ_ΑΝ ΚΟΥΤ <= ΑΠΟΘ[ΚΑΤ] ΤΟΤΕ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
   ΑΛΛΙΩΣ_ΑΝ ΚΟΥΤ > ΑΠΟΘ[ΚΑΤ] ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- 0
   ΤΕΛΟΣ_ΑΝ
   ΑΝ FLAG = ΨΕΥΔΗΣ ΤΟΤΕ
      ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
         FLAG <- ΑΛΗΘΗΣ
         ΠΡΩΤΟ <- ΚΑΤ
      ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΑΝ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

8η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ <> 0 ΕΠΑΝΑΛΑΒΕ
   ΓΡΑΨΕ 'ΠΟΣΑ ΚΟΥΤΙΑ ΕΠΙΘΥΜΕΙΣ;'
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤ ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] < ΚΟΥΤ ΚΑΙ ΑΠΟΘ[ΚΑΤ] <> 0 ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- 0
   ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
   ΤΕΛΟΣ_ΑΝ
   ΑΝ ΠΡΩΤΟ = 0 ΚΑΙ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΠΡΩΤΟ <- ΚΑΤ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

9η Λύση

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Δεν υπάρχει απόθεμα'
   ΑΛΛΙΩΣ
      ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤ ΤΟΤΕ
         ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
         ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
      ΑΛΛΙΩΣ
         ΑΠΟΘ[ΚΑΤ] <- 0
      ΤΕΛΟΣ_ΑΝ
      ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ ΠΡΩΤΟ = 0 ΤΟΤΕ
         ΠΡΩΤΟ <- ΚΑΤ
      ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΜΕΧΡΙΣ_ΟΤΟΥ ΚΑΤ = 0

Τροφοδοτώντας την εκφώνηση σε ΑΙ και ρωτόντας για το αλγοριθμικό αποτύπωμα κάθε μιας πήρα τα εξής:

"""Με αυστηρά αλγοριθμικά κριτήρια:
Καλές: 3η, 6η, 7η, 8η
Μέτριες: 4η, 5η, 9η
Προβληματική:

Η λύση που μοιάζει υπερβολικά περισσότερο με της Κεντρικής Επιτροπής είναι η 4η λύση.
Έχει σχεδόν ίδια λογική:

Κώδικας [Επιλογή]
ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤ ΤΟΤΕ
   ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΤΟΤΕ
   ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΘΕΜΑ'
ΑΛΛΙΩΣ
   ΑΠΟΘ[ΚΑΤ] <- 0
ΤΕΛΟΣ_ΑΝ


Αυτή είναι ουσιαστικά η ίδια τριμερής διάκριση με την επίσημη λύση:
Πολύ κοντά είναι και η 8η λύση, γιατί ακολουθεί την ίδια λογική, απλώς έχει αλλάξει τη σειρά των δύο τελευταίων περιπτώσεων.

Η πιο καλή μορφή θα ήταν αυτή:

Κώδικας [Επιλογή]
ΔΙΑΒΑΣΕ ΚΑΤ
ΟΣΟ ΚΑΤ <> 0 ΕΠΑΝΑΛΑΒΕ
   ΔΙΑΒΑΣΕ ΚΟΥΤ
   ΠΕΛΑΤΕΣ <- ΠΕΛΑΤΕΣ + 1
   ΑΝ ΑΠΟΘ[ΚΑΤ] >= ΚΟΥΤ ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- ΑΠΟΘ[ΚΑΤ] - ΚΟΥΤ
      ΠΛΗΡΕΙΣ <- ΠΛΗΡΕΙΣ + 1
   ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] > 0 ΤΟΤΕ
      ΑΠΟΘ[ΚΑΤ] <- 0
   ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Δεν υπάρχει απόθεμα'
   ΤΕΛΟΣ_ΑΝ
   ΑΝ ΑΠΟΘ[ΚΑΤ] = 0 ΚΑΙ ΠΡΩΤΟ = 0 ΤΟΤΕ
      ΠΡΩΤΟ <- ΚΑΤ
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ ΚΑΤ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Αυτή είναι η πιο καθαρή αλγοριθμικά, γιατί:
Άρα, ως πλήρη λύση Θέματος Γ, θα πρότεινα προσέγγιση τύπου 8ης λύσης, αλλά με τον έλεγχο:

Κώδικας [Επιλογή]
ΑΛΛΙΩΣ_ΑΝ ΑΠΟΘ[ΚΑΤ] > 0 ΤΟΤΕ
αντί για πιο σύνθετες συνθήκες."""
Τίτλος: Απ: Θέμα Γ
Αποστολή από: nikolasmer στις 05 Ιουν 2026, 07:05:42 ΜΜ
Παράθεση από: petrosp13 στις Σήμερα στις 06:55:21 ΜΜΓιατί το απόθεμα μπορεί να είναι μηδέν και άρα σίγουρα μικρότερο της ζητούμενης ποσότητας
Είναι άλλη περίπτωση όμως το μηδέν και άλλη το μικρότερο
Δηλαδή αν η εκφώνηση ήταν 
Γ3 α) μετά Γ3 γ) και μετά Γ3 β) δε θα ήταν σωστό;
Τίτλος: Απ: Θέμα Γ
Αποστολή από: gthal στις 05 Ιουν 2026, 07:19:17 ΜΜ
Παράθεση από: nikolasmer στις Σήμερα στις 07:05:42 ΜΜΔηλαδή αν η εκφώνηση ήταν
Γ3 α) μετά Γ3 γ) και μετά Γ3 β) δε θα ήταν σωστό;

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

Παράθεση από: nikolasmer στις Σήμερα στις 06:36:08 ΜΜΑυτή είναι η λύση της ΚΕΕ

Να πω για τη λύση της ΚΕΕ ότι η χρήση της ΠΛ0 είναι πλεονασμός.
Το να το κάνουν οι μαθητές, το καταλαβαίνω. Αλλά και η ΚΕΕ...;  :-\

Παράθεση από: nikolasmer στις Σήμερα στις 07:03:36 ΜΜΈχω δεί κάποιες απαντήσεις στο δίκτυο για το Γ3 και Γ4:
Μου έκανε εντύπωση η 4η λύση!  :)
(αλλά και η 5η, για το πόσο κακή ιδέα είναι ...  :'( )