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

Προσομοίωση - Θέμα 4
http://spinet.gr/glossomatheia/programs/viewtopic.php?f=39&t=659
Σελίδα 1 από 1

Συγγραφέας:  ΧΑΤΖΗΤΣΟΜΠΑΝΗΣ ΘΕΟΦΙΛΟΣ [ Παρ 25 Ιούλ 2008 10:26 pm ]
Θέμα δημοσίευσης:  Προσομοίωση - Θέμα 4

Syntax: [ Download ] [ Hide ]
! =================================================================================================
!  ΠΡΟΣΟΜΟΙΩΣΗ 2008 - ΘΕΜΑ 4
! =================================================================================================
! Σε ένα σύγχρονο στάβλο υπάρχουν 250 γαλακτοπαραγωγές αγελάδες οι οποίες αρμέγονται μηχανικά
! καθημερινά για 365 ημέρες συνεχώς. Ο ιδιοκτήτης της θέλει να μηχανογραφήσει τον στάβλο του ώστε
! να είναι ευκολότερη η εκτίμηση της γενετικής αξίας κάθε ζώου.
! Για το λόγο αυτό να δημιουργήσετε αλγόριθμο o οποίος σε αρχικά να υλοποιεί τα παρακάτω:
! 1. Σε κατάλληλους πίνακες καταχωρεί τον κωδικό του κάθε ζώου και την συνολική γαλακτοπαραγωγή
!    (σε γραμμάρια) του κάθε ζώου χωριστά για κάθε ημέρα.
! 2. Να υπολογίζει για κάθε αγελάδα, το σύνολο των ημερών στη διάρκεια του έτους κατά τις οποίες
!    η κάθε αγελάδα είχε "Ξηρά περίοδο", δηλαδή δεν παρήγαγε γάλα. Επίσης, να εμφανίζει τα
!    αποτελέσματα με πρώτο τον κωδικό της κάθε αγελάδας ακολουθούμενο από το σύνολο των ημερών
!    χωρίς γάλα, ξεχωριστά για κάθε ζώο.
!
! Στα πλαίσια της παραπάνω αναβάθμισης του στάβλου ο ιδιοκτήτης θέλει να κάνει δειγματοληπτικά,
! για λόγους διαχείρισης της μονάδος, τα παρακάτω:
! 3. Να δέχεται τον κωδικό μιας αγελάδας,
!    α. και με τη βοήθεια της σειριακής αναζήτησης, να βρίσκει αν υπάρχει ή δεν υπάρχει η αγελάδα
!       αυτή μέσα στο πίνακα των κωδικών. Αν δεν υπάρχει να εμφανίζει το μήνυμα "Ο κωδικός δεν
!       αντιστοιχεί σε κάποια αγελάδα".
!    β. αν υπάρχει η αγελάδα αυτή να βρίσκει και να εμφανίζει τη παραγωγή της σε γάλα ανά ημέρα
!       ταξινομημένη σε φθίνουσα σειρά.
! Παρατηρήσεις:
! Ο κωδικός του κάθε ζώου είναι μοναδικός.
! Θεωρείστε ότι η συνολική γαλακτοπαραγωγή ενός ζώου είναι μη αρνητικός αριθμός.
!=================================================================================================

ΠΡΟΓΡΑΜΜΑ PR_08_4
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : n[250] , milk[250,365] , i , j , k , temp
  ΧΑΡΑΚΤΗΡΕΣ : code[250] , c
  ΛΟΓΙΚΕΣ : flag
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 250
    ΓΡΑΨΕ 'Δώσε τον κωδικό της αγελάδας' , i
    ΔΙΑΒΑΣΕ code[i]
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 365
      ΓΡΑΨΕ 'Πόσα γραμμάρια γάλα έδωσε την', j , 'η μέρα του έτους;'
      ΔΙΑΒΑΣΕ milk[i,j]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 250
    n[i] <-- 0
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 365
      ΑΝ milk[i,j] = 0 ΤΟΤΕ
        n[i] <-- n[i] + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Κωδικός αγελάδας' , code[i] , 'Ξηρά περίοδος, ημέρες' , n[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Δώσε τον κωδικό της αγελάδας που σε ενδιαφέρει'
  ΔΙΑΒΑΣΕ c
  flag <-- ΨΕΥΔΗΣ
  i <-- 1
  ΟΣΟ i <= 250 ΚΑΙ flag = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
    ΑΝ code[i] = c ΤΟΤΕ
      ΓΙΑ k ΑΠΟ 2 ΜΕΧΡΙ 365
        ΓΙΑ j ΑΠΟ 365 ΜΕΧΡΙ k ΜΕ ΒΗΜΑ -1
          ΑΝ milk[i,j-1] < milk[i,j-1] ΤΟΤΕ
            temp <-- milk[i,j-1]
            milk[i,j-1] <-- milk[i,j]
            milk[i,j] <-- temp
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΓΡΑΨΕ 'Η ημερήσια παραγωγή της αγελάδας με κωδικό' , c , 'είναι'
      ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 365
        ΓΡΑΨΕ milk[i,j]
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΛΛΙΩΣ
      i <-- i + 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ flag = ΨΕΥΔΗΣ ΤΟΤΕ
    ΓΡΑΨΕ 'Δεν υπάρχει αγελάδα με τέτοιο κωδικό.'
  ΤΕΛΟΣ_ΑΝ

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

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