Να υλοποιηθεί πρόγραμμα που θα διαβάζει τα μεγέθη των αυγών ενός κέντρου παραγωγής και θα τα κατατάσσει σε κατηγορίες ανάλογα με το μέγεθος του. Οι κατηγορίες είναι Μ (μεγάλα), Μεσαία (Μεσαία), Μ (Μικρά) για μεγέθη διαμέτρου >30, >20, >10.
Τα αυγά τοποθετούνται σε συσκευασίες των 10. Κάθε φορά που γεμίζει 1 συσκευασία, προωθείται νέα. Η διαδικασία τερματίζεται όταν δοθεί είσοδος 999. Στο τέλος εμφανίζεται ο αριθμός συσκευασιών κάθε κατηγορίας.

ΜΕΧΡΙΣ ΟΤΟΥ |ΟΣΟ ΕΠΑΝΑΛΑΒΕ | FLAG

ΛΥΣΗ


ΜΕΧΡΙΣ_ΟΤΟΥ

ΠΡΟΓΡΑΜΜΑ ΣΥΣΚΕΥΑΣΙΑ_ΑΥΓΩΝ_ΜΕΧΡΙΣ_ΟΤΟΥ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: L,M,S,SIZE,BOX, Lb,Mb,Sb
ΑΡΧΗ
  L <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ LARGE
  M <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ MEDIUM
  S <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ SMALL

  Lb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ LARGE
  Mb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ MEDIUM
  Sb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ SMALL

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ SIZE
    ΑΝ SIZE <> 999 ΤΟΤΕ   ! δεν θα προσμετρηθεί στα μεγέθη η τιμή-φρουρός
        !κατηγορία S
      ΑΝ  SIZE < 10 ΤΟΤΕ
        Sb <-- Sb + 1
        ΑΝ  Sb = 10 ΤΟΤΕ
          S <-- S + 1
          Sb <-- 0
        ΤΕΛΟΣ_ΑΝ
        !κατηγορία M
      ΑΛΛΙΩΣ_ΑΝ  SIZE < 20 ΤΟΤΕ
        Mb <-- Mb + 1
        ΑΝ  Mb = 10 ΤΟΤΕ
          M <-- M + 1
          Mb <-- 0
        ΤΕΛΟΣ_ΑΝ
        !κατηγορία L
      ΑΛΛΙΩΣ
        Lb <-- Lb + 1   !Προσθέτω αυγά στην ανοικτή συσκευασία μεγέθους L
        ΑΝ  Lb = 10 ΤΟΤΕ
          L <-- L + 1  !Αυξάνω τον μετρητή των έτοιμων πακέτων
          Lb <-- 0    !Μηδενίζω τον μετρητή της συσκευασίας
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ SIZE = 999

  ΓΡΑΨΕ 'Συσκευασίες Μικρού Μεγέθους',S
  ΓΡΑΨΕ 'Συσκευασίες Μεσαίου Μεγέθους',M
  ΓΡΑΨΕ 'Συσκευασίες Μεγάλου Μεγέθους',L

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΟΣΟ_ΕΠΑΝΑΛΑΒΕ

ΠΡΟΓΡΑΜΜΑ ΣΥΣΚΕΥΑΣΙΑ_ΑΥΓΩΝ_ΟΣΟ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: L,M,S,SIZE,BOX, Lb,Mb,Sb

ΑΡΧΗ
  L <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ LARGE
  M <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ MEDIUM
  S <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ SMALL

  Lb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ LARGE
  Mb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ MEDIUM
  Sb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ SMALL

  ΔΙΑΒΑΣΕ SIZE
  ΟΣΟ SIZE <> 999 ΕΠΑΝΑΛΑΒΕ
    !κατηγορία S
    ΑΝ  SIZE < 10 ΤΟΤΕ
      Sb <-- Sb + 1

      ΑΝ  Sb = 10 ΤΟΤΕ
        S <-- S + 1
        Sb <-- 0
      ΤΕΛΟΣ_ΑΝ
    κατηγορία M
    ΑΛΛΙΩΣ_ΑΝ  SIZE < 20 ΤΟΤΕ
      Mb <-- Mb + 1
      ΑΝ  Mb = 10 ΤΟΤΕ
        M <-- M + 1
        Mb <-- 0
      ΤΕΛΟΣ_ΑΝ
    !κατηγορία L
    ΑΛΛΙΩΣ
      Lb <-- Lb + 1   !Προσθέτω αυγά στην ανοικτή συσκευασία μεγέθους L
      ΑΝ  Lb = 10 ΤΟΤΕ
        L <-- L + 1  !Αυξάνω τον μετρητή των έτοιμων πακέτων
        Lb <-- 0    !Μηδενίζω τον μετρητή της συσκευασίας
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ

    ΔΙΑΒΑΣΕ SIZE
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Συσκευασίες Μικρού Μεγέθους',S
  ΓΡΑΨΕ 'Συσκευασίες Μεσαίου Μεγέθους',M
  ΓΡΑΨΕ 'Συσκευασίες Μεγάλου Μεγέθους',L

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

FLAG

ΠΡΟΓΡΑΜΜΑ ΣΥΣΚΕΥΑΣΙΑ_ΑΥΓΩΝ_FLAG
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: L,M,S,SIZE,BOX, Lb,Mb,Sb
  ΛΟΓΙΚΕΣ: ΤΕΛΟΣ_ΣΥΣΚΕΥΑΣΙΑΣ

ΑΡΧΗ
  L <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ LARGE
  M <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ MEDIUM
  S <-- 0    ! ΠΛΗΘΟΣ ΣΥΣΚΕΥΑΣΙΩΝ SMALL

  Lb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ LARGE
  Mb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ MEDIUM
  Sb <-- 0   ! ΤΡΕΧΟΝ ΠΛΗΘΟΣ ΑΥΓΩΝ ΑΝΟΙΚΤΗΣ ΣΥΣΚΕΥΑΣΊΑΣ SMALL

  ΤΕΛΟΣ_ΣΥΣΚΕΥΑΣΙΑΣ <-- ΨΕΥΔΗΣ

  ΟΣΟ ΤΕΛΟΣ_ΣΥΣΚΕΥΑΣΙΑΣ = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
      ΔΙΑΒΑΣΕ SIZE
      ΑΝ SIZE <> 999 ΤΟΤΕ
        !κατηγορία S
        ΑΝ SIZE < 10 ΤΟΤΕ
           Sb <-- Sb + 1
           ΑΝ Sb = 10 ΤΟΤΕ
              S <-- S + 1
              Sb <-- 0
          ΤΕΛΟΣ_ΑΝ
        !κατηγορία M
        ΑΛΛΙΩΣ_ΑΝ  SIZE < 20 ΤΟΤΕ
           Mb <-- Mb + 1
           ΑΝ Mb = 10 ΤΟΤΕ
              M <-- M + 1
             Mb <-- 0
           ΤΕΛΟΣ_ΑΝ
        !κατηγορία L
        ΑΛΛΙΩΣ
           Lb <-- Lb + 1   !Προσθέτω αυγά στην ανοικτή συσκευασία μεγέθους L
           ΑΝ Lb = 10 ΤΟΤΕ
              L <-- L + 1  !Αυξάνω τον μετρητή των έτοιμων πακέτων
              Lb <-- 0    !Μηδενίζω τον μετρητή της συσκευασίας
           ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΑΝ
      ΑΛΛΙΩΣ
         ΤΕΛΟΣ_ΣΥΣΚΕΥΑΣΙΑΣ <-- ΑΛΗΘΗΣ
      ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Συσκευασίες Μικρού Μεγέθους',S
  ΓΡΑΨΕ 'Συσκευασίες Μεσαίου Μεγέθους',M
  ΓΡΑΨΕ 'Συσκευασίες Μεγάλου Μεγέθους',L

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Share This