1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Διάρκεια 3 ώρες Στοιχεία Μαθητή: Όνομα... Επώνυμο... Βαθμός...
2 Θεμα Α (30%) Α1 ΣΩΣΤΟ - ΛΑΘΟΣ 1. Ένα υποπρόγραμμα δεν μπορεί να κληθεί περισσότερες από δυο φορές από το κυρίως πρόγραμμα. 2. Μια διαδικασία μπορεί να μην έχει καμία παράμετρο. 3. Στην δομή της ουράς, όταν οι δείκτες Εμπρός και Πίσω έχουν την τιμή 7, η ουρά έχει 7 στοιχεία. 4. Ο δομημένος προγραμματισμός βασίζεται στη χρήση του Goto (πήγαινε) σε συνδυασμό με την ιεραρχική σχεδίαση. 5. Ένας από τους λόγους ανάθεσης ενός προβλήματος σε υπολογιστή είναι η πολυπλοκότητα των υπολογισμών. 6. Η σειριακή αναζήτηση είναι ο πιο γρήγορος αλγόριθμος αναζήτησης. 7. Αν η συνθήκη στη δομή Αρχή_επανάληψης... μέχρις_ότου γίνει αληθής κατά το δεύτερο έλεγχο τότε οι εσωτερικές εντολές θα εκτελεστούν δύο φορές 8. Ο βρόχος για i από x μέχρι y με_βήμα -1 δεν θα εκτελεστεί καμία φορά αν η τιμή x είναι μεγαλύτερη από την τιμή y 9. Οι εντολές μέσα στη δομή επανάληψης «Για x από 10 μέχρι 3 με_βήμα - 3» εκτελούνται 3 φορές 10. Στην εντολή Αρχή_επανάληψης Μέχρις_ότου αν η συνθήκη είναι ψευδής οι εντολές δε θα εκτελεστούν καμία φορά. 11. Όλες οι δομές επανάληψης μπορούν να μετατραπούν σε Όσο... επανάλαβε. 12. Αν στη δομή επανάληψης Για από μέχρι το βήμα δοθεί μηδέν, τότε ο βρόχος της επανάληψης δεν εκτελείται καμία φορά. 13. Ένα σύγχρονο προγραμματιστικό περιβάλλον είναι πλήρες όταν περιλαμβάνει το συντάκτη, το μεταγλωττιστή και τις βιβλιοθήκες της γλώσσας. 14. Τα προγράμματα σε γλώσσα μηχανής δε χρησιμοποιούν ούτε συμβολομεταφραστή ούτε μεταγλωττιστή για την εκτέλεσή τους από τον υπολογιστή. 15. Τα λογικά λάθη του προγράμματος εμφανίζονται κατά τη μεταγλώττιση. 16. Ο μεταγλωττιστής δέχεται στην είσοδό του ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. 17. Τα προβλήματα, με κριτήριο το είδος της επίλυσης που επιζητούν, διακρίνονται σε τρεις κατηγορίες: επιλύσιμα, ανοικτά και άλυτα. 18. Η εγγραφή είναι δομή δεδομένων η οποία αποτελείται από πεδία που αποθηκεύουν χαρακτηριστικά. 19. Η μεταφορά δεδομένων είναι μία από τις λειτουργίες που εκτελεί ο υπολογιστής. 20. Η ταξινόμηση φυσαλίδας είναι ο πιο απλός και ταυτόχρονα ο πιο γρήγορος αλγόριθμος ταξινόμησης. 21. Ενώ η τιμή μίας μεταβλητής μπορεί να αλλάζει κατά την εκτέλεση του προγράμματος, αυτό που μένει υποχρεωτικά αναλλοίωτο είναι ο τύπος της. 22. Το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται εκτελέσιμο. 23. Σε μία εντολή εκχώρησης του αποτελέσματος μίας έκφρασης σε μία μεταβλητή, η μεταβλητή και η έκφραση πρέπει να είναι του ίδιου τύπου. 24. Η εξαγωγή (dequeue) στοιχείου γίνεται από το εμπρός άκρο της ουράς. 25. Η απώθηση (pop) στοιχείου γίνεται από το πάνω άκρο της στοίβας. 26. Η λογική πράξη "ή" μεταξύ δύο προτάσεων είναι ψευδής, όταν οποιαδήποτε από τις δύο προτάσεις είναι ψευδής. 27. Η εντολή GOTO που αλλάζει τη ροή εκτέλεσης ενός προγράμματος είναι απαραίτητη στο δομημένο προγραμματισμό. 28. Τα συντακτικά λάθη στον πηγαίο κώδικα εμφανίζονται κατά το στάδιο της μεταγλώττισής του.
3 Α2 ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Να αναφέρετε τα πλεονεκτήματα του δομημένου προγραμματισμού. 2. Δώστε τον ορισμό του Αλγορίθμου. 3. Αναφέρετε τους τρόπους αναπαράστασης αλγορίθμου. Α3 ΜΕΤΑΤΡΟΠΕΣ ΜΕΤΑΞΥ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ 1.Να μετατραπεί το παρακάτω ώστε να χρησιμοποιεί ΓΙΑ... ΑΠΟ..ΜΕΧΡΙ.. α 3 β 3 Όσο β<60 Επανάλαβε κ α- 4/β β β+2 α α- 4 α α- 4*β Τέλος_Επανάληψης 2.Να μετατραπεί το παρακάτω ώστε να χρησιμοποιεί την δομή Όσο... Επανάλαβε Διάβασε α για λ από 100 μέχρι α με_βήμα -2 γράψε α Τέλος_Επανάληψης 3.Να μετατραπεί το παρακάτω ώστε να χρησιμοποιεί την δομή Αρχή_ Επανάληψης..Μέχρις ότου Διάβασε α, β Όσο α+2*β>0 Επανάλαβε Γράψε α, β α α+β Τέλος_Επανάληψης 4.Να μετατραπεί το παρακάτω ώστε να χρησιμοποιεί την δομή Όσο... Επανάλαβε Διάβασε α, β Αρχή_ Επανάληψης Γράψε α,β α α-4 β β^2 Μέχρις ότου α+β=8 Α4 ΑΛΓΟΡΙΘΜΙΚΑ ΚΡΙΤΗΡΙΑ Ποιό ή ποιά αλγοριθμικά κριτήρια παραβιάζουν τα παρακάτω σύνολα εντολών;
4 χ 1 Όσο χ < 19 επανάλαβε Εμφάνισε χ Αν χ < 4 τότε χ χ+3 αλλιώς_αν χ < 10 τότε χ χ+6 αλλιώς χ χ-9 Τέλος_αν Διάβασε Χ Όσο Χ > 0 επανάλαβε Εμφάνισε Χ Διάβασε Χ Εμφάνισε 1/(Χ+11) Αλγόριθμος Τεστ Διάβασε Μ σ 0 Όσο σ < Μ επανάλαβε Διάβασε α σ σ+1/α Τέλος Τεστ Διάβασε χ κ 1 'Οσο κ < 1000 επανάλαβε Διάβασε λ μ 1/(λ+3) Εμφάνισε μ χ 3 Αρχή_επανάληψης Αν χ mod 3 = 0 τότε χ χ-1 αλλιώς χ χ+1 Τέλος_αν α 1/χ Εμφάνισε α Μέχρις_ότου χ =0 κ 110 Όσο Τ_Ρ(κ) > 10 επανάλαβε Διάβασε λ Υ κ/(λ-4) Εμφάνισε κ, λ, Υ κ κ+1 Α5 ΑΝΤΙΣΤΟΙΧΙΣΗ Να αντιστοιχίσετε κάθε σταθερά της Στήλης Α με τον σωστό τύπο της Στήλης Β. Τα στοιχεία της Στήλης Β μπορείτε να τα χρησιμοποιήσετε καμία, μία ή περισσότερες φορές. Στήλη Α Σταθερά Στήλη Β Τύπος 1. 3.5 2. Ι.Κ.Α. 3. 19 4. Ψευδής 5. 2.0 Α. Λογική σταθερά Β. Αριθμητική σταθερά πραγματικού τύπου Γ. Αριθμητική σταθερά ακέραιου τύπου Δ. Αλφαριθμητική σταθερά 6. Αληθής Α6 ΑΝΤΙΣΤΟΙΧΙΣΗ Να αντιστοιχίσετε κάθε μεταβλητή που βρίσκεται στο αριστερό μέλος της εντολής εκχώρησης της Στήλης Α με τον σωστό τύπο της Στήλης Β. Τα στοιχεία της Στήλης Β μπορείτε να τα χρησιμοποιήσετε καμία, μία ή περισσότερες φορές.
5 Στήλη Α Στήλη Β 1. Βάρος 3.52 2. Είδος Σχολικό 3. Εισακτέοι 210 4. Συμμετοχή Αληθής 5. Μαρία 75 6. MO (α + β) / 3 7. ΜΟ (α + β) / 2 Α. Λογικός τύπος Β. Πραγματικός τύπος Γ. Αλφαριθμητικός τύπος Δ. Ακέραιος τύπος 8. Μ_Ο (α + β + γ) div 3 9. Έρευνα Ψευδής 10. Μισό Α_Μ(β / 2) Θεμα Β (30%) Β1ΠΙΝΑΣΑΣ ΤΙΜΩΝ Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί; ΠΡΟΓΡΑΜΜΑ Πίνακας_Τιμών5 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β ΑΡΧΗ Α < 2 Β < 19 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ Επεξεργασία_Τιμών5 (Β, Α) ΓΡΑΨΕ Α, Β ΜΕΧΡΙΣ_ΟΤΟΥ (Α > Β) ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ! ========================================= ΔΙΑΔΙΚΑΣΙΑ Επεξεργασία_Τιμών5 (αριθμός1, αριθμός2) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: αριθμός1, αριθμός2 ΑΡΧΗ αριθμός1 < αριθμός1-2 αριθμός2 < αριθμός2 + 5 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
6 Β2 ΜΕΤΑΤΡΟΠΗ ΑΠΟ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΣΕ ΑΛΓΟΡΙΘΜΟ Να μετατραπεί το επόμενο διάγραμμα ροής σε αλγόριθμο. Β3 ΜΕΤΑΤΡΟΠΗ ΑΠΟ ΑΛΓΟΡΙΘΜΟ ΣΕ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ Να μετατραπεί ο επόμενος αλγόριθμος σε διάγραμμα ροής. Αλγόριθμος ΆσκσησηΔΡ Σ <- 0 Αρχή_επανάληψης Διάβασε x Όσο x > 0 επανάλαβε Εμφάνισε x x <- x - 3 Σ <- Σ + x Μέχρις_ότου Σ > 200 Τέλος ΆσκησηΔΡ Θεμα Γ (20%) 1. Έχουμε δύο πίνακες χαρακτήρων Α[Ν] και Β[Μ] οι οποίοι περιέχουν έναν μόνο χαρακτήρα σε κάθε θέση. Οι πίνακες αναπαριστούν σύνολα, δηλαδή δεν περιέχουν διπλότυπα. Θέλουμε τα κοινά στοιχεία των δύο πινάκων, δηλαδή στοιχεία τα οποία
7 να εμφανίζονται και στους δύο πίνακες (την τομή τους). Γράψτε έναν αλγόριθμο σε ψευδογλώσσα που να βρίσκει και να εμφανίζει στην οθόνη τα κοινά στοιχεία. (Σημείωση: Οι πίνακες δέν έχουν το ίδιο μέγεθος) 2. Σε έναν μονοδιάστατο πίνακα N θέσεων έχουμε αποθηκευμένο ένα κείμενο χαρακτήρα-χαρακτήρα, δηλαδή σε κάθε θέση του πίνακα είναι αποθηκευμένος ένας μόνο χαρακτήρας του κειμένου. Θέλουμε να μετρήσουμε τις λέξεις του κειμένου. Κάθε λέξη χωρίζεται από την επόμενη με έναν κενό διάστημα (' ' ή ). Να γραφεί αλγόριθμος σε ψευδογλώσσα που να μετρά τις λέξεις.το κείμενο είναι προσεκτικά γραμμένο ώστε μεταξύ των λέξεων να υπάρχει ένα και μόνο ένα κενό διάστημα. Θεμα Δ (20%) Το κυλικείο ενός σχολείου, πουλάει δύο διαφορετικές μάρκες χυμών : την ΜΑΡΚΑ_Α και την ΜΑΡΚΑ_Β. Για καθεμιά από τις παραπάνω μάρκες διατίθενται χυμοί ροδάκινου, πορτοκαλιού και ανάμεικτοι. Η τιμή πώλησης του κάθε προϊόντος φαίνεται στον πίνακα που ακολουθεί: Μάρκα Χυμός πορτοκάλι Χυμός ροδάκινου Χυμός ανάμεικτος ΜΑΡΚΑ_Α 0.7 0.8 0.9 ΜΑΡΚΑ_Β 0.8 0.9 1.0 1. Γράψτε συνάρτηση που δέχεται ως παράμετρο τη μάρκα του χυμού (Α - ΜΑΡΚΑ_Α, Β - ΜΑΡΚΑ_Β) και το είδος του (Π - πορτοκάλι, Ρ - ροδάκινο, Α - ανάμεικτος) και υπολογίζει την τιμή πώλησης του αντίστοιχου προϊόντος. 2. Γράψτε πρόγραμμα το οποίο: διαβάζει τη μάρκα (Α - ΜΑΡΚΑ_Α, Β - ΜΑΡΚΑ_Β) και το είδος του χυμού (Π - πορτοκάλι, Ρ - ροδάκινο, Α - ανάμεικτος) που αγοράζει κάθε παιδί από το κυλικείο (η είσοδος ολοκληρώνεται μόλις δοθεί ως μάρκα το κενό διάστημα), καλεί κατάλληλα τη συνάρτηση που γράψατε στο 1, προκειμένου να υπολογίσει την τιμή πώλησης του αντίστοιχου προϊόντος, υπολογίζει και εμφανίζει : α) τη συνολική είσπραξη του κυλικείου από τους παραπάνω χυμούς, β) το πλήθος των χυμών πορτοκάλι της ΜΑΡΚΑΣ_Α που πουλήθηκαν τελικά. Παρατήρηση : Το πρόγραμμα πρέπει να διασφαλίζει την εγκυρότητα των εισερχόμενων δεδομένων.