ΘΕΜΑ Α Α1. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 25/04/2014 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 2 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΙΚΟΣΙ (20) ΑΠΑΝΤΗΣΕΙΣ 1. ΣΩΣΤΟ 2. ΛΑΘΟΣ 3. ΛΑΘΟΣ 4. ΣΩΣΤΟ 5. ΛΑΘΟΣ Α2. Α. Χ <> 0 Β. Ι <= 10 C. X D. 1 E. Γ ή Α. Ι <= 10 Β. Χ <> 0 C. X D. 1 E. Γ Α3. Θέση (Ι) 1 2 3 4 5 Τιμή (Β[Ι]) 5 8 6 4 9 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Α4. α. Τρόπος 1 (Όσο επανάλαβε) Τρόπος 2 (Για από μέχρι ) Σ 0 Ν 0 Ι 1 Όσο Ι <= 5 επανάλαβε Διάβασε Χ Αν Χ > 0 τότε Ν Ν + 1 Ι Ι + 1 Αν Ν = 5 τότε Κ 2 * Σ Αλλιώς Σ 0 Ν 0 Για Ι από 1 μέχρι 5 Διάβασε Χ Αν Χ > 0 τότε Ν Ν + 1 Αν Ν = 5 τότε Κ 2 * Σ Αλλιώς Κ Σ ^ 2 Κ Σ ^ 2 β. Η σωστή επιλογή δίνεται από το γράμμα Β. ΤΕΛΟΣ 2ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 3ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Β Β1. Για διευκόλυνση του αναγνώστη, θα παραθέσουμε δύο ενδεικτικές μορφές πίνακα τιμών. 1 η μορφή Ενέργειες Κύριο Πρόγραμμα Συνάρτηση Διαδικασία Κύριο πρόγραμμα: Αρχικοποίηση μεταβλητών 1 7 1 Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΟΣΟ:1<=6 και 7 < > 5 αληθής και αληθής =αληθής. 1 η επανάληψη Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΑΝ:1 MOD 2=0 και 7 MOD 4 <>0. ψευδής και αληθής= ψευδής Δεν ισχύει. Εκτέλεση εντολών ΑΛΛΙΩΣ. ι α ζ τ α τ ΣΥΝ1 α τ Κύριο πρόγραμμα: Κλήση διαδικασίας ΔΙΑΔ. πέρασμα των τιμών 1 και 7 στις αντίστοιχες τυπικές παραμέτρους της διαδικασίας Διαδικασία: Εκτέλεση.α=1+4=5 και τ=7+2=9. Εμφάνιση της τιμής 9 1 7 5 9 Κύριο πρόγραμμα: Επιστροφή από διαδικασία. Καταχώριση των τιμών των τυπικών παραμέτρων της διαδικασίας στις αντίστοιχες πραγματικές του κυρίου προγράμματος. 9 5 Κύριο πρόγραμμα: Εμφάνιση της τιμής 5 Κύριο πρόγραμμα: Εισαγωγή από το πληκτρολόγιο της τιμής της τιμής 9 στην μεταβλητή α 9 Κύριο πρόγραμμα: αύξηση της μεταβλητής ι κατά ένα. 2 Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΟΣΟ: 2<=6 και 9 < > 5 αληθής και αληθής =αληθής. 2 η επανάληψη ΤΕΛΟΣ 3ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 4ΗΣ ΣΕΛΙΔΑΣ Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΑΝ:2 MOD 2=0 και 9 MOD 4 <>0. αληθής και αληθής= αληθής. Άρα ισχύει. Εκτέλεση εντολών ΑΝ Κύριο πρόγραμμα: Κλήση συνάρτησης ΣΥΝ1. Πέρασμα των τιμών 5 και 9 στις αντίστοιχες τυπικές παραμέτρους της συνάρτησης Συνάρτηση: Εκτέλεση εντολών: α=5+2=7 και ΣΥΝ1=7+9=16. 5 9 7 16 Κύριο πρόγραμμα: Επιστροφή από την συνάρτηση με την καταχώριση της τιμής 16 στην μεταβλητή ζ μέσω του ονόματος της συνάρτησης. 16 Κύριο πρόγραμμα: Εμφάνιση τιμής της 16. Κύριο πρόγραμμα: Εισαγωγή από το πληκτρολόγιο της τιμής της τιμής 2 στην μεταβλητή α 2 Κύριο πρόγραμμα: αύξηση της μεταβλητής ι κατά ένα. 3 Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΟΣΟ:3<=6 και 2 < > 5 αληθής και αληθής =αληθής. 3 η επανάληψη Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΑΝ: 3 MOD 2=0 και 2 MOD 4 <>0. ψευδής και αληθής= ψευδής Δεν ισχύει. Εκτέλεση εντολών ΑΛΛΙΩΣ. Κύριο πρόγραμμα: Κλήση διαδικασίας ΔΙΑΔ. πέρασμα των τιμών 5 και 2 στις αντίστοιχες τυπικές παραμέτρους της διαδικασίας Διαδικασία: Εκτέλεση.α=5+4=9 και τ=2+2=4. Εμφάνιση της τιμής 4 5 2 9 4 Κύριο πρόγραμμα: Επιστροφή από διαδικασία. Καταχώριση των τιμών των τυπικών παραμέτρων της διαδικασίας στις αντίστοιχες πραγματικές του κυρίου προγράμματος. 4 9 Κύριο πρόγραμμα: Εμφάνιση της τιμής 9 ΤΕΛΟΣ 4ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 5ΗΣ ΣΕΛΙΔΑΣ Κύριο πρόγραμμα: Εισαγωγή από το πληκτρολόγιο της τιμής της τιμής 8 στην μεταβλητή α 8 Κύριο πρόγραμμα: αύξηση της μεταβλητής ι κατά ένα. 4 Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΟΣΟ: 4<=6 και 8 < > 5 αληθής και αληθής =αληθής. 4 η επανάληψη Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΑΝ: 4 MOD 2=0 και 8 MOD 4 <>0. αληθής και ψευδής= ψευδής Δεν ισχύει. Εκτέλεση εντολών ΑΛΛΙΩΣ. Κύριο πρόγραμμα: Κλήση διαδικασίας ΔΙΑΔ. πέρασμα των τιμών 5 και 2 στις αντίστοιχες τυπικές παραμέτρους της διαδικασίας Διαδικασία: Εκτέλεση.α=9+4=13 και τ=8+2=10. Εμφάνιση της τιμής 10 9 8 13 10 Κύριο πρόγραμμα: Επιστροφή από διαδικασία. Καταχώριση των τιμών των τυπικών παραμέτρων της διαδικασίας στις αντίστοιχες πραγματικές του κυρίου προγράμματος. 10 13 Κύριο πρόγραμμα: Εμφάνιση της τιμής 13 Κύριο πρόγραμμα: Εισαγωγή από το πληκτρολόγιο της τιμής της τιμής 5 στην μεταβλητή α 5 Κύριο πρόγραμμα: αύξηση της μεταβλητής ι κατά ένα. 5 Κύριο πρόγραμμα: Έλεγχος συνθήκης στην εντολή ΟΣΟ: 5<=6 και 5 < > 5 αληθής και ψευδής =ψευδής. Τερματισμός εκτέλεσης αλγορίθμου. 2 η μορφή Ο πίνακας τιμών κατασκευάζεται εκτελώντας τα επόμενα βήματα: ΤΕΛΟΣ 5ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 6ΗΣ ΣΕΛΙΔΑΣ Ι. Αριθμούμε όλες τις γραμμές (ΟΧΙ ΤΙΣ ΚΕΝΕΣ!) του κύριου προγράμματος (καθώς και των δύο υποπρογραμμάτων του). ΙΙ. Η επικεφαλίδα της πρώτης στήλης του πίνακα είναι "Αριθμός Γραμμής". ΙΙΙ. Κατασκευάζουμε τόσες στήλες όσες είναι και οι μεταβλητές του κύριου προγράμματος. IV. Κατασκευάζουμε τόσες στήλες όσες είναι και οι λογικές εκφράσεις (συνθήκες) του κύριου προγράμματος (εφόσον αυτές υπάρχουν). V. Αν υπάρχουν εντολές εξόδου (έστω και μία) στο κύριο πρόγραμμα κατασκευάζουμε στήλη με την επικεφαλίδα "Έξοδος". VI. Εκτελούμε τα βήματα ΙΙΙ, IV και V για καθένα από τα υποπρογράμματα που έχουμε. 1. ΠΡΟΓΡΑΜΜΑ Κύριο 2. ΜΕΤΑΒΛΗΤΕΣ 3. ΑΚΕΡΑΙΕΣ: ι, α, ζ, τ 4. ΑΡΧΗ 5. ΔΙΑΒΑΣΕ α 6. ι 1 7. τ 1 8. ΟΣΟ (ι < = 6) ΚΑΙ (α < > 5) ΕΠΑΝΑΛΑΒΕ 9. ΑΝ (ι MOD 2 = 0) ΚΑΙ (α MOD 4 < > 0) ΤΟΤΕ 10. ζ ΣΥΝ1(τ, α) 11. ΓΡΑΨΕ ζ 12. ΑΛΛΙΩΣ 13. ΚΑΛΕΣΕ ΔΙΑΔ (τ, α) 14. ΓΡΑΨΕ τ 15. ΤΕΛΟΣ_ΑΝ 20. ΣΥΝΑΡΤΗΣΗ ΣΥΝ1( α, τ) : ΑΚΕΡΑΙΑ 21. ΜΕΤΑΒΛΗΤΕΣ 22. ΑΚΕΡΑΙΕΣ: α, τ 23. ΑΡΧΗ 24. α α + 2 25. ΣΥΝ1 α + τ 26. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ 27. ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(α, τ) 28. ΜΕΤΑΒΛΗΤΕΣ 29. ΑΚΕΡΑΙΕΣ: α, τ 30. ΑΡΧΗ 31. α α +4 32. τ τ +2 33. ΓΡΑΨΕ τ 34. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΤΕΛΟΣ 6ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 7ΗΣ ΣΕΛΙΔΑΣ 16. ΔΙΑΒΑΣΕ α 17. ι ι +1 18. ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 19. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Κύριο Πρόγραμμα Συνάρτηση Διαδικασία Μεταβλητές Λογικές Εκφράσεις Μεταβλητές Μεταβλητές Αριθμός Γραμμής ι α ζ τ (ι < = 6) ΚΑΙ (α < > 5) (ι MOD 2 = 0 ) ΚΑΙ (α MOD 4 < > 0) Έξοδος α τ α τ Έξοδος 5 7 6 1 7 1 8 ΑΛΗΘΗΣ 9 ΨΕΥΔΗΣ 27 1 7 31 5 32 9 33 9 13 9 5 14 5 16 9 17 2 8 ΑΛΗΘΗΣ 9 ΑΛΗΘΗΣ ΤΕΛΟΣ 7ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 8ΗΣ ΣΕΛΙΔΑΣ 20 5 9 24 7 10 16 11 16 16 2 17 3 8 ΑΛΗΘΗΣ 9 ΨΕΥΔΗΣ 27 5 2 31 9 32 4 33 4 13 4 9 14 9 16 8 17 4 8 ΑΛΗΘΗΣ 9 ΨΕΥΔΗΣ 27 9 8 31 13 32 10 33 10 13 10 13 14 13 16 5 ΤΕΛΟΣ 8ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 9ΗΣ ΣΕΛΙΔΑΣ 17 5 8 ΨΕΥΔΗΣ Με βάση είτε την μια είτε την άλλη μορφή πίνακα τιμών κατά την εκτέλεση του προγράμματος εμφανίζονται με τη σειρά οι εξής τιμές: 9 (διαδικασία), 5 (κύριο πρόγραμμα), 16 (κύριο πρόγραμμα), 4 (διαδικασία), 9 (κύριο πρόγραμμα), 10 (διαδικασία) και 13 (κύριο πρόγραμμα). Β2. ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ι, α, ζ, τ ΑΡΧΗ ΔΙΑΒΑΣΕ α ι 1 τ 1 ΟΣΟ (ι < = 6) ΚΑΙ (α < > 5) ΕΠΑΝΑΛΑΒΕ ΑΝ (ι MOD 2 = 0) ΚΑΙ (α MOD 4 < > 0) ΤΟΤΕ ζ (τ + 2) + α ΓΡΑΨΕ ζ ΑΛΛΙΩΣ τ τ + 4 α α + 2 ΓΡΑΨΕ α ΓΡΑΨΕ τ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ 9ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 10ΗΣ ΣΕΛΙΔΑΣ ΔΙΑΒΑΣΕ α ι ι +1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΘΕΜΑ Γ Ενδεικτική Απάντηση ΠΡΟΓΡΑΜΜΑ Τουρνουά_Τρόπος1_Με_Την_Εντολή_ΜΕΧΡΙΣ_ΟΤΟΥ! Γ1 - Τμήμα δήλωσης μεταβλητών ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Ποσοστό ΑΚΕΡΑΙΕΣ: Μέγιστη_Τελική, Συμμετέχοντες, Νίκες_Άνω_Των_25, Τελική, Νίκες ΧΑΡΑΚΤΗΡΕΣ: Ονοματεπώνυμο, Νικητής ΑΡΧΗ Μέγιστη_Τελική -1! Γ41 - Πλαστή αρχική τιμή μέγιστης τελικής βαθμολογίας Συμμετέχοντες 0! Γ42 - Αρχική τιμή πλήθους παικτών που πήραν μέρος στο διαγωνισμό Νίκες_Άνω_Των_25 0! Γ43 - Αρχική τιμή πλήθους παικτών που είχαν άνω των 25 νικών ΓΡΑΨΕ 'Δώστε ονοματεπώνυμο παίκτη - game over για τέλος:' ΔΙΑΒΑΣΕ Ονοματεπώνυμο! Γ2α - Εισαγωγή πρώτου ονοματεπωνύμου! Με βάση την υπόδειξη 2 της εκφώνησης, το πρώτο ονοματεπώνυμο δεν είναι η φράση game over ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Δώστε πλήθος νικών παίκτη:' ΔΙΑΒΑΣΕ Νίκες! Γ2α - Εισαγωγή πλήθους νικών κάθε παίκτη που έχει έγκυρο ονοματεπώνυμο Τελική Υπολογισμός (Νίκες)! Γ2β - Κλήση συνάρτησης υπολογισμού τελικής βαθμολογίας ΤΕΛΟΣ 10ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 11ΗΣ ΣΕΛΙΔΑΣ! Γ2γ - Εμφάνιση ονοματεπωνύμου & τελικής βαθμολογίας κάθε παίκτη που έχει έγκυρο ον/μο ΓΡΑΨΕ 'Ο παίκτης', Ονοματεπώνυμο, 'είχε τελική βαθμολογία:', Τελική, 'πόντους'! Γ41 - Εύρεση μέγιστης τελικής βαθμολογίας νικητή καθώς και του αντίστοιχου ον/μου του ΑΝ Τελική > Μέγιστη_Τελική ΤΟΤΕ Μέγιστη_Τελική Τελική Νικητής Ονοματεπώνυμο ΤΕΛΟΣ_ΑΝ! Γ42 - Υπολογισμός πλήθους παικτών που πήραν μέρος στο διαγωνισμό Συμμετέχοντες Συμμετέχοντες + 1! Γ43 - Υπολογισμός πλήθους παικτών που είχαν άνω των 25 νικών ΑΝ Νίκες > 25 ΤΟΤΕ Νίκες_Άνω_Των_25 Νίκες_Άνω_Των_25 + 1 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ 'Δώστε ονοματεπώνυμο παίκτη - game over για τέλος:' ΔΙΑΒΑΣΕ Ονοματεπώνυμο! Γ3 - Εισαγωγή επόμενου ονοματεπωνύμου ΜΕΧΡΙΣ_ΟΤΟΥ Ονοματεπώνυμο = 'game over'! Γ41 - Εμφάνιση ονοματεπωνύμου νικητή ΓΡΑΨΕ 'Ο μεγάλος νικητής είναι ο:', Νικητής! Γ42 - Εμφάνιση πλήθους παικτών που πήραν μέρος στο διαγωνισμό ΓΡΑΨΕ 'Πλήθος παικτών που πήραν μέρος στο διαγωνισμό:', Συμμετέχοντες! Γ43 - Υπολογισμός και εμφάνιση ποσοστού παικτών που είχαν άνω των 25 νικών Ποσοστό (Νίκες_Άνω_Των_25 / Συμμετέχοντες) * 100 ΓΡΑΨΕ 'Το ποσοστό των παικτών που είχαν άνω των 25 νικών είναι:', Ποσοστό, '%' ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ! Γ5 - Εντολές συνάρτησης υπολογισμού τελικής βαθμολογίας κάθε παίκτη που έχει έγκυρο ον/μο ΤΕΛΟΣ 11ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΣΥΝΑΡΤΗΣΗ Υπολογισμός (Χ) :ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ ΑΡΧΗ ΑΝ Χ >= 1 ΚΑΙ Χ <= 10 ΤΟΤΕ Υπολογισμός 3 * Χ ΑΛΛΙΩΣ_ΑΝ Χ >= 11 ΚΑΙ Χ <= 25 ΤΟΤΕ Υπολογισμός (3 * 10) + 5 * (Χ - 10) ΑΛΛΙΩΣ_ΑΝ Χ > 25 ΤΟΤΕ ΑΡΧΗ 12ΗΣ ΣΕΛΙΔΑΣ Υπολογισμός (3 * 10) + (5 * 15) + 7 * (Χ - 25) ΑΛΛΙΩΣ! Άρα ΑΝ Χ = 0 ΤΟΤΕ. Προσοχή: Χ < 0 εδώ δεν υπάρχει (βλέπε εκφώνηση - υπόδειξη 1) Υπολογισμός 0 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ ΠΡΟΓΡΑΜΜΑ Τουρνουά_Τρόπος2_Με_Την_Εντολή_ΟΣΟ! Γ1 - Τμήμα δήλωσης μεταβλητών ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Ποσοστό ΑΚΕΡΑΙΕΣ: Μέγιστη_Τελική, Συμμετέχοντες, Νίκες_Άνω_Των_25, Τελική, Νίκες ΧΑΡΑΚΤΗΡΕΣ: Ονοματεπώνυμο, Νικητής ΑΡΧΗ Μέγιστη_Τελική -1! Γ41 - Πλαστή αρχική τιμή μέγιστης τελικής βαθμολογίας Συμμετέχοντες 0! Γ42 - Αρχική τιμή πλήθους παικτών που πήραν μέρος στο διαγωνισμό Νίκες_Άνω_Των_25 0! Γ43 - Αρχική τιμή πλήθους παικτών που είχαν άνω των 25 νικών ΤΕΛΟΣ 12ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 13ΗΣ ΣΕΛΙΔΑΣ ΓΡΑΨΕ 'Δώστε ονοματεπώνυμο παίκτη - game over για τέλος:' ΔΙΑΒΑΣΕ Ονοματεπώνυμο! Γ2α - Εισαγωγή πρώτου ονοματεπωνύμου! Με βάση την υπόδειξη 2 της εκφώνησης, το πρώτο ονοματεπώνυμο δεν είναι η φράση game over ΟΣΟ Ονοματεπώνυμο <> 'game over' ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ 'Δώστε πλήθος νικών παίκτη:' ΔΙΑΒΑΣΕ Νίκες! Γ2α - Εισαγωγή πλήθους νικών κάθε παίκτη που έχει έγκυρο ονοματεπώνυμο Τελική Υπολογισμός (Νίκες)! Γ2β - Κλήση συνάρτησης υπολογισμού τελικής βαθμολογίας! Γ2γ - Εμφάνιση ονοματεπωνύμου & τελικής βαθμολογίας κάθε παίκτη που έχει έγκυρο ον/μο ΓΡΑΨΕ 'Ο παίκτης', Ονοματεπώνυμο, 'είχε τελική βαθμολογία:', Τελική, 'πόντους'! Γ41 - Εύρεση μέγιστης τελικής βαθμολογίας νικητή καθώς και του αντίστοιχου ον/μου του ΑΝ Τελική > Μέγιστη_Τελική ΤΟΤΕ Μέγιστη_Τελική Τελική Νικητής Ονοματεπώνυμο ΤΕΛΟΣ_ΑΝ! Γ42 - Υπολογισμός πλήθους παικτών που πήραν μέρος στο διαγωνισμό Συμμετέχοντες Συμμετέχοντες + 1! Γ43 - Υπολογισμός πλήθους παικτών που είχαν άνω των 25 νικών ΑΝ Νίκες > 25 ΤΟΤΕ Νίκες_Άνω_Των_25 Νίκες_Άνω_Των_25 + 1 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ 'Δώστε ονοματεπώνυμο παίκτη - game over για τέλος:' ΔΙΑΒΑΣΕ Ονοματεπώνυμο! Γ3 - Εισαγωγή επόμενου ονοματεπωνύμου ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! Γ41 - Εμφάνιση ονοματεπωνύμου νικητή ΤΕΛΟΣ 13ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΓΡΑΨΕ 'Ο μεγάλος νικητής είναι ο:', Νικητής ΑΡΧΗ 14ΗΣ ΣΕΛΙΔΑΣ! Γ42 - Εμφάνιση πλήθους παικτών που πήραν μέρος στο διαγωνισμό ΓΡΑΨΕ 'Πλήθος παικτών που πήραν μέρος στο διαγωνισμό:', Συμμετέχοντες! Γ43 - Υπολογισμός και εμφάνιση ποσοστού παικτών που είχαν άνω των 25 νικών Ποσοστό (Νίκες_Άνω_Των_25 / Συμμετέχοντες) * 100 ΓΡΑΨΕ 'Το ποσοστό των παικτών που είχαν άνω των 25 νικών είναι:', Ποσοστό, '%' ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ! Γ5 - Εντολές συνάρτησης υπολογισμού τελικής βαθμολογίας κάθε παίκτη που έχει έγκυρο ον/μο ΣΥΝΑΡΤΗΣΗ Υπολογισμός (Χ) :ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ ΑΡΧΗ ΑΝ Χ >= 1 ΚΑΙ Χ <= 10 ΤΟΤΕ Υπολογισμός 3 * Χ ΑΛΛΙΩΣ_ΑΝ Χ >= 11 ΚΑΙ Χ <= 25 ΤΟΤΕ Υπολογισμός (3 * 10) + 5 * (Χ - 10) ΑΛΛΙΩΣ_ΑΝ Χ > 25 ΤΟΤΕ Υπολογισμός (3 * 10) + (5 * 15) + 7 * (Χ - 25) ΑΛΛΙΩΣ! Άρα ΑΝ Χ = 0 ΤΟΤΕ. Προσοχή: Χ < 0 εδώ δεν υπάρχει (βλέπε εκφώνηση - υπόδειξη 1) Υπολογισμός 0 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ ΤΕΛΟΣ 14ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
Παρατηρήσεις (αφορούν και τους δύο τρόπους) Π1. Τα ονόματα των μεταβλητών είναι ενδεικτικά. ΑΡΧΗ 15ΗΣ ΣΕΛΙΔΑΣ Π2. Τα σχόλια είναι προαιρετικά και χρησιμοποιήθηκαν για διευκόλυνση του αναγνώστη. Π3. Τα μηνύματα εισόδου και εξόδου είναι ενδεικτικά. Π4. Η χρήση ονόματος της τυπικής παραμέτρου (Χ) διαφορετικού από εκείνου της αντίστοιχης πραγματικής της (Νίκες) έγινε για διευκόλυνση του αναγνώστη. Είναι δυνατή η χρήση ως τυπικής παραμέτρου της ονομασίας Νίκες αρκεί αυτή η μεταβλητή να δηλωθεί στη συνάρτηση. Π5. Στο ερώτημα Γ41, το παρακάτω τμήμα εντολών ΑΝ Τελική > Μέγιστη_Τελική ΤΟΤΕ Μέγιστη_Τελική Τελική Νικητής Ονοματεπώνυμο ΤΕΛΟΣ_ΑΝ Συμμετέχοντες Συμμετέχοντες + 1 μπορεί να αντικατασταθεί ισοδύναμα από το διπλανό τμήμα εντολών Συμμετέχοντες Συμμετέχοντες + 1 ΑΝ Συμμετέχοντες = 1 ΤΟΤΕ Μέγιστη_Τελική Τελική Νικητής Ονοματεπώνυμο ΑΛΛΙΩΣ ΑΝ Τελική > Μέγιστη_Τελική ΤΟΤΕ Μέγιστη_Τελική Τελική Νικητής Ονοματεπώνυμο ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ με την ακόλουθη αλλαγή: Διαγράφεται η εντολή Μέγιστη_Τελική -1 ΘΕΜΑ Δ Ενδεικτική Απάντηση Αλγόριθμος Είδη_Σπιτιού! Δ1α - Δημιουργία των μονοδιάστατων πινάκων ΠΡ και ΤΙΜΗ Για Ι από 1 μέχρι 1000 Διάβασε ΠΡ[Ι], ΤΙΜΗ[Ι] ΤΕΛΟΣ 15ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 16ΗΣ ΣΕΛΙΔΑΣ! Δ1β - Δημιουργία του μονοδιάστατου πίνακα ΚΑΤ Για Υ από 1 μέχρι 10 Διάβασε ΚΑΤ[Υ]! Δ1γ - Δημιουργία του δισδιάστατου πίνακα ΣΤΟΚ Για Ι από 1 μέχρι 1000 Για Υ από 1 μέχρι 10 Αρχή_επανάληψης Διάβασε ΣΤΟΚ[Ι, Υ] Μέχρις_ότου ΣΤΟΚ[Ι, Υ] >= 0!Δ2 - Σειριακή αναζήτηση στον πίνακα ΠΡ που έχει ΑΤΑΞΙΝΟΜΗΤΑ και ΜΟΝΑΔΙΚΑ στοιχεία Διάβασε Όνομα! Εισαγωγή αναζητούμενου ονόματος προϊόντος Βρέθηκε Ψευδής! Ένδειξη ότι το αναζητούμενο όνομα δεν έχει βρεθεί ακόμα Ι 1! Έναρξη αναζήτησης από την πρώτη θέση του πίνακα ΠΡ Όσο (Ι <= 1000) και (Βρέθηκε = Ψευδής) επανάλαβε Αν ΠΡ[Ι] = Όνομα τότε! Αν ισχύει, σημαίνει ότι βρέθηκε το αναζητούμενο όνομα Βρέθηκε Αληθής! Ενημέρωση ένδειξης ότι τελικά βρέθηκε το αναζητούμενο όνομα Διάβασε Περιοχή! Εισαγωγή περιοχής προτίμησης Υ 1 Βρέθηκε_κατ Ψευδής Όσο ( Υ< = 10) και ( Βρέθηκε_κατ = Ψευδής ) επανάλαβε Αν Περιοχή = ΚΑΤ[Υ] τότε Βρέθηκε_κατ Αληθής ΤΕΛΟΣ 16ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 17ΗΣ ΣΕΛΙΔΑΣ Αν ΣΤΟΚ[Ι,Υ]< > 0 τότε! Εφόσον το αναζητούμενο προϊόν είναι διαθέσιμο Εμφάνισε ΣΤΟΚ[Ι Υ], ΤΙΜΗ[Ι]! Εμφάνιση διαθέσιμης ποσότητας και τιμής Αλλιώς! Το αναζητούμενο προϊόν ΔΕΝ είναι διαθέσιμο Για Κ από 1 μέχρι 10! Έλεγχος περιοχών που είναι διαθέσιμο το προϊόν Αν Κ < > Υ τότε! αποφυγή του ελέγχου της ίδιας περιοχής. Αν ΣΤΟΚ[Ι, Κ] < > 0 τότε Εμφάνισε ΚΑΤ[Κ], ΣΤΟΚ[Ι, Κ] Αλλιώς Υ Υ +1! Συνέχιση αναζήτησης σε επόμενη θέση του πίνακα ΚΑΤ Αλλιώς Ι Ι + 1! Συνέχιση αναζήτησης σε επόμενη θέση του πίνακα ΠΡ!Δ3α-Υπολογισμός εσόδων κάθε καταστήματος και αποθήκευσή τους στον πίνακα Συνολικά_ Έσοδα Για Υ από 1 μέχρι 10 Συνολικά_Έσοδα[Υ] 0 Για Ι από 1 μέχρι 1000 Συνολικά_Έσοδα[Υ] Συνολικά_ Έσοδα[Υ] + ΤΙΜΗ[Ι] * ΣΤΟΚ[Ι, Υ]! Δ3β - Φθίνουσα ταξινόμηση όλων των στοιχείων του πίνακα Συνολικά_Έσοδα ΤΕΛΟΣ 17ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 18ΗΣ ΣΕΛΙΔΑΣ Για I από 2 μέχρι 10 Για Y από 10 μέχρι I με_βήμα -1 Αν Συνολικά_Έσοδα [Y-1] < Συνολικά_Έσοδα [Y] τότε Αντιμετάθεσε Συνολικά_Έσοδα[Y-1], Συνολικά_Έσοδα[Y]! Δ3γ -Ταυτόχρονη αντιμετάθεση στοιχείων πίνακα ΚΑΤ για να μη χαθεί η παραλληλία Αντιμετάθεσε ΚΑΤ[Y-1], ΚΑΤ[Y]! Δ3δ -Εμφάνιση περιοχών τα καταστήματα των οποίων έχουν τα 3 μεγαλύτερα συνολικά έσοδα Για Υ από 1 μέχρι 3 Εμφάνισε ΚΑΤ[Υ] Τέλος Είδη_Σπιτιού Παρατηρήσεις Π1. Τα ονόματα των μεταβλητών είναι ενδεικτικά. Π2. Τα σχόλια είναι προαιρετικά και χρησιμοποιήθηκαν για διευκόλυνση του αναγνώστη. Π3. Οι εντολές του ερωτήματος Δ2 θα μπορούσαν ισοδύναμα να γραφούν ως εξής: Διάβασε Όνομα Βρέθηκε Ψευδής Ι 1 Όσο (Ι <= 1000) και (Βρέθηκε = Ψευδής) επανάλαβε Αν ΠΡ[Ι] = Όνομα τότε ΤΕΛΟΣ 18ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 19ΗΣ ΣΕΛΙΔΑΣ Βρέθηκε Αληθής Θέση_πρ Ι Αλλιώς Ι Ι + 1 Αν Βρέθηκε = Αληθής τότε Διάβασε Περιοχή! Εισαγωγή περιοχής προτίμησης Υ 1 Βρέθηκε_κατ Ψευδής Όσο ( Υ< = 10) και ( Βρέθηκε_κατ = Ψευδής ) επανάλαβε Αν Περιοχή = ΚΑΤ[Υ] τότε Βρέθηκε_κατ Αληθής Θέση_περ Υ Αλλιώς Υ Υ +1! Συνέχιση αναζήτησης σε επόμενη θέση του πίνακα ΚΑΤ Αν Βρέθηκε_κατ =Αληθής τότε Αν ΣΤΟΚ[Θέση_πρ, Θέση_περ] > 0 τότε Εμφάνισε ΣΤΟΚ[Θέση_πρ, Θέση_περ], ΤΙΜΗ[Θέση_πρ] Αλλιώς Για Κ από 1 μέχρι 10 Αν (Κ <> Θέση_περ) και (ΣΤΟΚ[Θέση_πρ, Κ] > 0) τότε Εμφάνισε ΚΑΤ[Κ], ΣΤΟΚ[Θέση_πρ, Κ] ΤΕΛΟΣ 19ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ
ΑΡΧΗ 20ΗΣ ΣΕΛΙΔΑΣ ΤΕΛΟΣ 20ΗΣ ΑΠΟ 20 ΣΕΛΙΔΕΣ