ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Ο Α. Να αναπτύξετε τις παρακάτω ερωτήσεις: 1. Τι καλείται βρόγχος; 2. Σε ποιες κατηγορίες διακρίνονται τα προβλήματα ανάλογα με την δυνατότητα επίλυσης τους. Να αναφέρετε λίγα λόγια για την κάθε μία. (10 μονάδες) Β. Να χαρακτηρίσετε ως Σωστές (Σ) ή Λανθασμένες (Λ) τις παρακάτω προτάσεις: 1. Η δομή επανάληψης «Για» μπορεί να χρησιμοποιηθεί για άγνωστο πλήθος επαναλήψεων. 2. Ο τελεστής MOD είναι συγκριτικός. 3. Η ταχύτητα ενός αλγορίθμου επηρεάζεται από τις διάφορες τεχνολογίες υλικού. 4. Στην εντολή α β mod γ η μεταβλητή α μπορεί να είναι και πραγματικού τύπου. 5. Ο τύπος της μεταβλητής μπορεί να αλλάζει κατά την εκτέλεση ενός αλγορίθμου. 6. Όταν το πλήθος των επαναλήψεων είναι γνωστό τότε δεν μπορεί να χρησιμοποιηθεί η επαναληπτική δομή «Όσο». 7. Α_Μ(Χ) είναι η συνάρτηση της ΓΛΩΣΣΑΣ που υπολογίζει την απόλυτη τιμή του Χ. 8. Κάθε εντολή ενός αλγορίθμου πρέπει να καθορίζεται χωρίς αμφιβολία για τον τρόπο εκτέλεσής της. 9. Οι δεσμευμένες λέξεις της ΓΛΩΣΣΑΣ δεν μπορούν να χρησιμοποιηθούν ως ονόματα δεδομένων σε έναν αλγόριθμο. 10. Η σύγκριση λογικών δεδομένων έχει έννοια μόνο στην περίπτωση του ίσου (=) και του διάφορου (<>). Γ. Δίνεται το παρακάτω τμήμα αλγορίθμου με αριθμημένες τις εντολές του: (1) Σ 0 (2) Κ 0 (3) Όσο Σ <= 1000 Επανάλαβε (4) Διάβασε Χ (5) Σ Σ+Χ (6) Αν Χ>0 τότε (7) Κ Κ+1 (8) Τέλος_Αν (9) Τέλος_Επανάληψης (10) Εμφάνισε Χ
Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. 1. Η εντολή (4) θα εκτελεστεί τουλάχιστον μία φορά. 2. Η εντολή (1) θα εκτελεστεί ακριβώς μία φορά. 3. Στη μεταβλητή Κ καταχωρείται το πλήθος των θετικών αριθμών που δόθηκαν. 4. Η εντολή (7) εκτελείται πάντα λιγότερες φορές από την εντολή (4). 5. Η εντολή (6) εκτελείται το πολύ ίδιες φορές από την εντολή (4). Δ. Δίνεται το παρακάτω τμήμα αλγορίθμου: Για Χ από Α μέχρι Μ με_βήμα Β Εμφάνισε Χ Τέλος_επανάληψης Να γράψετε στο τετράδιό σας για καθεμία από τις παρακάτω περιπτώσεις τις τιμές των Α, Μ, Β, έτσι ώστε το αντίστοιχο τμήμα αλγορίθμου να εμφανίζει όλους: 1. τους ακεραίους από 1 μέχρι και 100 2. τους ακεραίους από 10 μέχρι και 200 σε φθίνουσα σειρά 3. τους ακεραίους από -1 μέχρι και -200 σε αύξουσα σειρά 4. τους άρτιους ακεραίους από 100 μέχρι και 2005 5. τους θετικούς ακεραίους που είναι μικρότεροι του 8128 και πολλαπλάσια του 13. Ε. Να συμπληρώσετε τις κενές θέσεις στον παρακάτω πίνακα: Α Β Γ Α Η (Β ΚΑΙ Γ) ΟΧΙ (Α ΚΑΙ Β) ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΨΕΥΔΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ
ΣΤ. Αν οι τιμές εισόδου είναι 'Αντώνης' και 'Αργύρης' αντίστοιχα τι θα εμφανίσει το παρακάτω σύνολο εντολών: Διάβασε x, y Αν x > y τότε Αν x < Αυγό τότε Εμφάνισε ΧΧΧΧ Αλλιώς Εμφάνισε ΨΨΨΨΨ Τέλος_Αν Αλλιώς Αν x < Αγέρι Η y >= Αντίο Τότε Εμφάνισε ΖΖΖΖΖ Αλλιώς Εμφάνισε ΩΩΩΩΩ Τέλος_αν Τέλος_αν Ζ. Απλοποιήστε το παρακάτω τμήμα εντολών απαλείφοντας τους περιττούς ελέγχους. Δίνεται ότι ο Χ είναι ακέραιος αριθμός. ΔΙΑΒΑΣΕ Χ ΑΝ Χ>0 Η Χ<=0 ΤΟΤΕ Χ Α_Τ(Χ) ΑΝ ΧMOD2=0 ΤΟΤΕ ΑΝ XMOD3=0 ΤΟΤΕ Υ 1 _ΑΝ ΧMOD3=1 TOTE Y 2 ΑΝ XMOD3=2 ΤΟΤΕ Υ 3 Υ 4 ΑΝ ΧMOD2=1 ΤΟΤΕ Υ 5
ΘΕΜΑ 2 Ο Α. Δίνεται το παρακάτω τμήμα αλγορίθμου με αριθμημένες εντολές για εύκολη αναφορά σε αυτές. Κάθε εντολή περιέχει ένα ή δύο κενά (σημειωμένα με ), που το καθένα αντιστοιχεί σε μία σταθερά ή μία μεταβλητή ή έναν τελεστή. Επίσης δίνεται πίνακας όπου κάθε γραμμή αντιστοιχεί σε μία εντολή του τμήματος αλγορίθμου και κάθε στήλη σε μία θέση μνήμης (μεταβλητή). Η κάθε γραμμή του πίνακα παρουσιάζει το αποτέλεσμα που έχει η εκτέλεση της αντίστοιχης εντολής στη μνήμη: συγκεκριμένα, δείχνει την τιμή της μεταβλητής την οποία επηρεάζει η εντολή. Αν κατά την εκτέλεση της εντολής η μεταβλητή αλλάζει τιμή περισσότερες από μια φορές τότε φαίνονται όλες οι τιμές με την αντίστοιχη σειρά. Δηλαδή η τελευταία εντολή είναι και η τελική τιμή της μεταβλητής. Εντολές Μνήμη Επανάληψ η Α Β Γ Χ Υ Σ 1 A 13 2 B 12 1 3 Γ mod 0 4 X Ψευδής Αληθής Αν <> Ψευδής τότε 5 0 10 αλλιώς 10 0 Α 10 Τέλος_Αν Γ 1 Για i από μέχρι με_βήμα 14 1 η 6 Γ Γ + i 2 η 37 Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τον αριθμό της καθεμιάς εντολής και δίπλα να σημειώσετε τη σταθερά, τη μεταβλητή, ή τον τελεστή που πρέπει να αντικαταστήσει το κάθε κενό της εντολής ώστε να έχει το αποτέλεσμα που δίνεται στον πίνακα, ως εξής: 1. Για τις εντολές 1, 6 να συμπληρώσετε με σταθερές τιμές. 2. Για την εντολή 4 να συμπληρώσετε με τελεστή και για τις 2, 3, 5 εντολές να συμπληρώσετε με μεταβλητές. (10 ΜΟΡΙΑ)
Β. Ποιά θα είναι η έξοδος του αλγορίθμου μετά την εκτέλεση των παρακάτω εντολών: Κ 1 Χ 20 ΟΣΟ Κ<=4 ΕΠΑΝΑΛΑΒΕ ΑΝ ΧDIV3>5 ΤΟΤΕ Υ ΧMOD3 Ζ Υ^2 Υ 2*Χ Ζ Υ +3 Η Υ Θ Ζ ΕΜΦΑΝΙΣΕ Η, Θ, ΗΘ Χ Χ-2 Κ Κ +1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ (8 μονάδες) ΘΕΜΑ 3 Ο Στο φορολογικό σύστημα μιας χώρας οι μισθωτοί έχουν κωδικό Μ και οι ελεύθεροι επαγγελματίες κωδικό ΕΕ. Μισθωτοί Ελεύθεροι Επαγγελματίες Εισόδημα Φόρος Εισόδημα Φόρος Έως και 10000 0% Για το τμήμα πάνω από 10000 ως και 20000 15% Για πάνω από 20000 25% Για το σύνολο του ποσού Το ποσοστό του φόρου παρακρατείται από το εισόδημα με βάση τον παραπάνω πίνακα και η παρακράτηση γίνεται με κλιμακωτό τρόπο. Κάθε φορολογούμενος έχει ΑΦΜ (ένας ακέραιος αριθμός) που είναι διαφορετικός για καθέναν. Να γραφεί αλγόριθμος ο οποίος θα: 1. διαβάζει το ΑΦΜ 10.000.000 φορολογουμένων καθώς και το εισόδημα τους. 2. ελέγχει με βάση το ΑΦΜ αν το άτομο είναι ελεύθερος επαγγελματίας ή μισθωτός και θα καταχωρεί τον κωδικό του σε μια μεταβλητή Κ. Το ΑΦΜ των μισθωτών λήγει σε 1 ή 2. Όλοι οι υπόλοιποι θεωρούνται ελεύθεροι επαγγελματίες. 3. Υπολογίζει και εμφανίζει το φόρο που αντιστοιχεί στο κάθε φορολογούμενο. 4. Θα υπολογίζει και θα εμφανίζει το συνολικό κέρδος του κράτους από τους φόρους. (20 μονάδες) 30%
ΘΕΜΑ 4 Ο Ένας αγώνας πετοσφαίρισης (volley) παίζεται από δυο ομάδες. Νικήτρια χαρακτηρίζεται η ομάδα η οποία κερδίζει πρώτη τρία σετ. Κατά συνέπεια ένας αγώνας volley μπορεί να χρειαστεί ως και πέντε σετ για να τελειώσει. Μία ομάδα κερδίζει ένα σετ όταν φτάσει πρώτη τους 25 πόντους, με εξαίρεση το 5 ο σετ το οποίο ολοκληρώνεται στους 15 πόντους, με την προϋπόθεση βέβαια ότι έχει τουλάχιστον δύο πόντους παραπάνω από τον αντίπαλο της. Για παράδειγμα αν το σκορ γίνει 24-24, τότε το σετ ολοκληρώνεται όταν μία από τις δύο ομάδες φτάσει τους 26 πόντους, ενώ αν το σκορ γίνει 25-25 το σετ ολοκληρώνεται όταν μία από τις δύο ομάδες φτάσει τους 27 πόντους κ.ο.κ. Να γραφεί αλγόριθμος σε ΓΛΩΣΣΑ ο οποίος: 1. θα διαβάζει σε δύο μεταβλητές τα ονόματα των ομάδων. 2. Για κάθε ένα από τα σετ θα εκτελεί τα ακόλουθα: a. Θα διαβάζει κάθε φορά το όνομα της ομάδας που κέρδισε πόντο. b. Υπολογίζει το νικητή του σετ, το οποίο ολοκληρώνεται με βάση τους κανόνες που αναφέρθηκαν παραπάνω. c. Με την ολοκλήρωση του κάθε σετ θα εμφανίζει το όνομα του σετ και το τελικό αποτέλεσμα π.χ. Σετ 1: 15-25 3. Θα εμφανίζει το όνομα του τελικού νικητή ΜΕ ΕΠΙΤΥΧΙΑ!!!