Ασκησιολόγιο ΓλωσσοΜάθειας https://www.spinet.gr/glossomatheia/programs/ |
|
Επαναληπτικές Ημερήσιο - Θέμα 4 https://www.spinet.gr/glossomatheia/programs/viewtopic.php?f=30&t=654 |
Σελίδα 1 από 1 |
Συγγραφέας: | ΧΑΤΖΗΤΣΟΜΠΑΝΗΣ ΘΕΟΦΙΛΟΣ [ Πέμ 24 Ιούλ 2008 10:17 am ] |
Θέμα δημοσίευσης: | Επαναληπτικές Ημερήσιο - Θέμα 4 |
! ============= ΙΟΥΛΙΟΣ 2007 ΗΜΕΡΗΣΙΟ ΘΕΜΑ 4 =====================================
! Μια σύγχρονη πτηνοτροφική μονάδα παρακολουθεί την ημερήσια παραγωγή αυγών ! και καταγράφει τα στοιχεία σε ηλεκτρονικό αρχείο. ! Να αναπτύξετε αλγόριθμο ο οποίος θα διαχειρίζεται τα στοιχεία της μονάδας ! στη διάρκεια ενός έτους. Για το σκοπό αυτό : ! Α. Να κατασκευάσετε κύριο πρόγραμμα το οποίο : ! 1. να ζητάει το έτος παρακολούθησης, ελέγχοντας ότι πρόκειται για έτος ! του 21ου αιώνα (από 2000 μέχρι και 2099). Ο αλγόριθμος να δημιουργεί ! πίνακα με τον αριθμό των ημερών για καθέναν από τους δώδεκα μήνες ! του έτους που δόθηκε. Ο αριθμός των ημερών του μήνα θα υπολογίζεται ! από υποπρόγραμμα το οποίο θα κατασκευάσετε για το σκοπό αυτό. ! Η λειτουργία του υποπρογράμματος περιγράφεται στο ερώτημα Β. ! 2. να ζητάει την ημερήσια παραγωγή (αριθμό αυγών) για κάθε μέρα του ! έτους και να καταχωρίζει τις τιμές σε πίνακα δυο διαστάσεων, ! με μια γραμμή για κάθε μήνα. ! 3. να εμφανίζει τον τρίτο κατά σειρά από τους μήνες του έτους που έχουν ! ο καθένας μέσο όρο ημερήσιας παραγωγής μέχρι και δέκα ποσοστιαίες ! μονάδες πάνω ή κάτω από τον ετήσιο μέσο όρο. Αν δεν βρει τέτοιο μήνα, ! να εμφανίζει κατάλληλο μήνυμα. ! Β. Να κατασκευάσετε υποπρόγραμμα το οποίο να δέχεται ως παραμέτρους κάποιο ! έτος και τον αριθμό κάποιου μήνα (1 έως 12), και να επιστρέφει τον αριθμό ! των ημερών του συγκεκριμένου μήνα. ! Όταν το έτος είναι δίσεκτο, ο Φεβρουάριος έχει 29 ημέρες, διαφορετικά έχει 28. ! Δίσεκτα είναι τα έτη που διαιρούνται με το 4 αλλά όχι με το 100, καθώς και ! εκείνα που διαιρούνται με το 400. Για τους υπόλοιπους μήνες, πλην του ! Φεβρουαρίου, ισχύει το εξής: ! μέχρι και τον Ιούλιο (7ος μήνας) οι μονοί μήνες έχουν 31 ημέρες και ! οι ζυγοί 30. Για τους μήνες μετά τον Ιούλιο, ισχύει το αντίστροφο. ! ================================================================================ ΠΡΟΓΡΑΜΜΑ HMER_2007_07_4 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: days[12] , egg[12,31] , i , j , k , n , s , year ΠΡΑΓΜΑΤΙΚΕΣ : mo , mom ΑΡΧΗ ΓΡΑΨΕ 'Δώσε το έτος' ΔΙΑΒΑΣΕ year ΟΣΟ year < 2000 ή year > 2099 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ 'Λάθος. Ξαναδώσε' ΔΙΑΒΑΣΕ year ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 12 days[i] <-- ΣΥΝΑΡΤ(year , i) ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 12 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ days[i] ΓΡΑΨΕ 'Δώσε την ημερήσια παραγωγή αυγών την', j , 'μέρα του μήνα' , i ΔΙΑΒΑΣΕ egg[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ s <-- 0 n <-- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 12 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ days[i] n <-- n + 1 s <-- s + egg[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ mo <-- s / n ! ΕΤΗΣΙΟΣ ΜΕΣΟΣ ΟΡΟΣ k <-- 0 i <-- 1 ΟΣΟ i<= 12 ΚΑΙ k < 3 ΕΠΑΝΑΛΑΒΕ s <-- 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ days[i] s <-- s + egg[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ mom <-- s / days[i] ! ΜΕΣΟΣ ΟΡΟΣ ΜΗΝΑ ΑΝ Α_Τ(mom - mo)*100/mo <= 10 ΤΟΤΕ k <-- k + 1 ΑΝ k = 3 ΤΟΤΕ ΓΡΑΨΕ 'Ο τρίτος μήνας με μέσο όρο ημερήσιας παραγωγής μέχρι και δέκα ποσοστιαίες μονάδες πάνω ή κάτω από τον ετήσιο μέσο όρο είναι ο' , i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ i <-- i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ k < 3 ΤΟΤΕ ΓΡΑΨΕ 'Δεν υπάρχει μήνας με μέσο όρο ημερήσιας παραγωγής μέχρι και δέκα ποσοστιαίες μονάδες πάνω ή κάτω από τον ετήσιο μέσο όρο' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ ΣΥΝΑΡΤ(y , d): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : d , y ΑΡΧΗ ΑΝ d = 2 ΤΟΤΕ ΑΝ (y MOD 4 = 0 ΚΑΙ y MOD 100 <> 0) ή y MOD 400 = 0 ΤΟΤΕ ΣΥΝΑΡΤ <-- 29 ΑΛΛΙΩΣ ΣΥΝΑΡΤ <-- 28 ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ_ΑΝ d <= 7 ΤΟΤΕ ΑΝ d MOD 2 = 1 ΤΟΤΕ ΣΥΝΑΡΤ <-- 31 ΑΛΛΙΩΣ ΣΥΝΑΡΤ <-- 30 ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ d MOD 2 = 1 ΤΟΤΕ ΣΥΝΑΡΤ <-- 30 ΑΛΛΙΩΣ ΣΥΝΑΡΤ <-- 31 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ |
Σελίδα 1 από 1 | Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |