Μάθημα : Γ ΓΕΛ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Κωδικός : 0754020319

G-GEL  -  ΔΗΜΗΤΡΙΟΣ ΜΑΣΣΑΣ

Ενότητες μαθήματος - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ-ΟΥΡΕΣ

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ-ΟΥΡΕΣ

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

ΠΡΟΓΡΑΜΜΑ Ουρά_Αναμονής
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Επιλογή, Δείκτης_Αρχής, Δείκτης_Τέλους, i
  ΧΑΡΑΚΤΗΡΕΣ: Ονόματα[10] 
 
ΑΡΧΗ
  Δείκτης_Αρχής <- 0
  Δείκτης_Τέλους <- 0
 
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Επέλεξε Λειτουργία (1..3): '
    ΓΡΑΨΕ
    ΓΡΑΨΕ '1. Εγγραφή στην Ουρά αναμονής'
    ΓΡΑΨΕ '2. Έξοδος 1ου από τη Ουρά αναμονής'
    ΓΡΑΨΕ '3. Τέλος προγράμματος'
    ΔΙΑΒΑΣΕ Επιλογή

    ΕΠΙΛΕΞΕ Επιλογή
      ΠΕΡΙΠΤΩΣΗ 1
        ΑΝ Δείκτης_Τέλους = 10 ΤΟΤΕ
          ΓΡΑΨΕ 'Η Ουρά αναμονής είναι πλήρης.'
        ΑΛΛΙΩΣ_ΑΝ (Δείκτης_Αρχής = 0 ΚΑΙ Δείκτης_Τέλους = 0) ΤΟΤΕ
          Δείκτης_Αρχής <- 1
          Δείκτης_Τέλους <- 1
          ΓΡΑΨΕ 'Δώσε το όνομα: '
          ΔΙΑΒΑΣΕ Ονόματα[Δείκτης_Τέλους] 
          ΓΡΑΨΕ 'Το όνομα ', Ονόματα[Δείκτης_Τέλους], ' προστέθηκε στην Ουρά αναμονής στη θέση ', Δείκτης_Τέλους, ' από 10.'
        ΑΛΛΙΩΣ
          Δείκτης_Τέλους <- Δείκτης_Τέλους + 1
          ΓΡΑΨΕ 'Δώσε το όνομα: '
          ΔΙΑΒΑΣΕ Ονόματα[Δείκτης_Τέλους] 
          ΓΡΑΨΕ 'Το όνομα ', Ονόματα[Δείκτης_Τέλους], ' προστέθηκε στν Ουρά αναμονής στη θέση ', Δείκτης_Τέλους, ' από 10.'
        ΤΕΛΟΣ_ΑΝ
       
      ΠΕΡΙΠΤΩΣΗ 2
        ΑΝ (Δείκτης_Αρχής = 0 ΚΑΙ Δείκτης_Τέλους = 0) ΤΟΤΕ
          ΓΡΑΨΕ 'Η Ουρά αναμονής είναι άδεια.'
        ΑΛΛΙΩΣ_ΑΝ Δείκτης_Τέλους = 1 ΤΟΤΕ
          ΓΡΑΨΕ 'Το όνομα ', Ονόματα[Δείκτης_Αρχής], ' εξήλθε από την Ουρά αναμονής '
          Ονόματα[Δείκτης_Αρχής] <- ''
          ΓΡΑΨΕ
          Δείκτης_Αρχής <- 0
          Δείκτης_Τέλους <- 0
        ΑΛΛΙΩΣ
          ΓΡΑΨΕ 'Το όνομα ', Ονόματα[Δείκτης_Αρχής], ' εξήλθε από την Ουρά αναμονής '
          ΓΡΑΨΕ
          ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Δείκτης_Τέλους
            Ονόματα[i - 1] <- Ονόματα[i] 
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
          Ονόματα[Δείκτης_Τέλους] <- ''
          Δείκτης_Τέλους <- Δείκτης_Τέλους - 1
        ΤΕΛΟΣ_ΑΝ
       
      ΠΕΡΙΠΤΩΣΗ 3
        ΓΡΑΨΕ 'Έξοδος από το πρόγραμμα.'
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
   
  ΜΕΧΡΙΣ_ΟΤΟΥ Επιλογή = 3

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ουρά_Αναμονής