Ασκησιολόγιο ΓλωσσοΜάθειας
https://www.spinet.gr/glossomatheia/programs/

Προσομοίωση - Θέμα 3
https://www.spinet.gr/glossomatheia/programs/viewtopic.php?f=30&t=559
Σελίδα 1 από 1

Συγγραφέας:  ΧΑΤΖΗΤΣΟΜΠΑΝΗΣ ΘΕΟΦΙΛΟΣ [ Τετ 23 Μάιος 2007 11:35 am ]
Θέμα δημοσίευσης:  Προσομοίωση - Θέμα 3

Syntax: [ Download ] [ Hide ]
!=================================================================================================
! ΠΡΟΣΟΜΟΙΩΣΗ 2007 - ΘΕΜΑ 3
!=================================================================================================
! Η δανειστική βιβλιοθήκη του σχολείου σας έχει 100 τίτλους βιβλίων, καθένας από τους οποίους
! πιθανό να υπάρχει σε περισσότερα από ένα αντίτυπα.
! Να γραφεί πρόγραμμα σε γλώσσα προγραμματισμού 'ΓΛΩΣΣΑ' το οποίο :
!  Α) Αποθηκεύει στο μονοδιάστατο πίνακα ΤΙΤΛΟΙ[100] καθέναν από τους 100 τίτλους των βιβλίων.
!  B) Αποθηκεύει στο μονοδιάστατο πίνακα ΑΝΤΙΤΥΠΑ[100] τον αριθμό των διαθέσιμων προς δανεισμό
!     αντιτύπων του κάθε βιβλίου, εξασφαλίζοντας ότι κάθε στοιχείο του πίνακα είναι μη αρνητικός
!     αριθμός.
!  Γ) Διαβάζει έναν τίτλο και αν ο τίτλος δεν είναι καταχωρημένος, εμφανίζει το μήνυμα "ΔΕΝ
!     ΥΠΑΡΧΕΙ Η ΚΑΤΑΧΩΡΗΣΗ ΑΥΤΗ". Αν ο τίτλος είναι καταχωρημένος, καλεί μια διαδικασία η οποία
!     υλοποιεί τα εξής : ΑΝ υπάρχουν διαθέσιμα αντίτυπα, εμφανίζει το μήνυμα "ΔΙΑΘΕΣΙΜΟ" και
!     μειώνει κατά ένα τον αριθμό των διαθεσίμων αντιτύπων, ενώ αν έχουν δανειστεί όλα τα αντί-
!     τυπα, εμφανίζει το μήνυμα "ΜΗ ΔΙΑΘΕΣΙΜΟ".
!=================================================================================================

ΠΡΟΓΡΑΜΜΑ PR_07_3
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : ΑΝΤΙΤΥΠΑ[100] , i
  ΧΑΡΑΚΤΗΡΕΣ : ΤΙΤΛΟΣ[100] , x
  ΛΟΓΙΚΕΣ : flag
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
    ΓΡΑΨΕ 'Δώσε τίτλο' , i , 'ου βιβλίου'
    ΔΙΑΒΑΣΕ ΤΙΤΛΟΣ[i]                                    
    ΓΡΑΨΕ 'Δώσε τον αριθμό των διαθεσίμων αντιτύπων του'
    ΔΙΑΒΑΣΕ ΑΝΤΙΤΥΠΑ[i]
    ΟΣΟ ΑΝΤΙΤΥΠΑ[i] < 0 ΕΠΑΝΑΛΑΒΕ
      ΓΡΑΨΕ 'Λάθος. Ξαναδώσε.'
      ΔΙΑΒΑΣΕ ΑΝΤΙΤΥΠΑ[i]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Ποιο βιβλίο θέλεις ;'
  ΔΙΑΒΑΣΕ x
  flag <-- ΨΕΥΔΗΣ
  i <-- 1
  ΟΣΟ flag = ΨΕΥΔΗΣ ΚΑΙ i <= 100 ΕΠΑΝΑΛΑΒΕ
    ΑΝ ΤΙΤΛΟΣ[i] = x ΤΟΤΕ
      flag <-- ΑΛΗΘΗΣ
      ΚΑΛΕΣΕ D(ΑΝΤΙΤΥΠΑ[i]) ! ΘΑ ΜΠΟΡΟΥΣΑΜΕ ΝΑ ΣΤΕΙΛΟΥΜΕ ΟΛΟ ΤΟΝ ΠΙΝΑΚΑ
    ΑΛΛΙΩΣ                  ! ANTITYPA ΣΤΗ ΔΙΑΔΙΚΑΣΙΑ. ΤΟΤΕ ΒΕΒΑΙΑ ΘΑ
      i <-- i + 1           ! ΕΠΡΕΠΕ ΝΑ ΣΤΕΙΛΟΥΜΕ ΚΑΙ ΤΗ ΘΕΣΗ ΣΤΗΝ ΟΠΟΙΑ
    ΤΕΛΟΣ_ΑΝ                ! ΒΡΕΘΗΚΕ Ο ΤΙΤΛΟΣ ΠΟΥ ΨΑΧΝΟΥΜΕ ΩΣΤΕ ΝΑ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ          ! ΞΕΡΕΙ Η ΔΙΑΔΙΚΑΣΙΑ ΣΕ ΠΟΙΑ ΘΕΣΗ ΝΑ ΨΑΞΕΙ
  ΑΝ flag = ΨΕΥΔΗΣ ΤΟΤΕ     ! ΤΟΝ ΑΡΙΘΜΟ ΤΩΝ ΠΡΟΣ ΔΙΑΘΕΣΗ ΑΝΤΙΤΥΠΩΝ.
    ΓΡΑΨΕ 'Δεν υπάρχει η καταχώρηση αυτή.'
  ΤΕΛΟΣ_ΑΝ

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

! ----ΔΙΑΔΙΚΑΣΙΑ ----

ΔΙΑΔΙΚΑΣΙΑ D(x)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : x
ΑΡΧΗ
  ΑΝ x = 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Μη διαθέσιμο.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Διαθέσιμο.'
    x <-- x - 1
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Σελίδα 1 από 1 Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/