! =================================================================================================
! ΠΡΟΣΟΜΟΙΩΣΗ 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 = ΨΕΥΔΗΣ ΤΟΤΕ
ΓΡΑΨΕ 'Δεν υπάρχει αγελάδα με τέτοιο κωδικό.'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ