ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Θέμα 1ο I. Τι πρέπει να ικανοποιεί ένα κομμάτι κώδικα ώστε να χαρακτηριστεί ως υποπρόγραμμα; Τα υποπρογράμματα πρέπει να τα χαρακτηρίζουν οι παρακάτω τρεις ιδιότητες: Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα Κάθε υποπρόγραμμα πρέπει να μην είναι πολύ μεγάλο (Μονάδες 7) II. Να γράψετε στο τετράδιό σας τον αριθμό κάθε μιας από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη ΣΩΣΤΟ αν είναι σωστή ή τη λέξη ΛΑΘΟΣ αν είναι λανθασμένη. 1. Ο οπτικός προγραμματισμός είναι αυτός που μας βοηθά να φτιάξουμε γραφικά ολόκληρο το περιβάλλον μιας εφαρμογής. (ΣΩΣΤΟ) 2. Ο δομημένος προγραμματισμός περιορίζει τη χρήση της εντολής GOTO. (ΣΩΣΤΟ) 3. Η ώθηση και η απώθηση είναι λειτουργίες της ουράς. (ΛΑΘΟΣ) 4. Οι λογικοί τελεστές εκτελούνται πριν από τους αριθμητικούς τελεστές. (ΛΑΘΟΣ) 5. Ο τμηματικός προγραμματισμός χρησιμοποιείται για την υλοποίηση της ιεραρχικής σχεδίασης. (ΣΩΣΤΟ) (Μονάδες 5) III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα; Αρχικά ο μεταγλωττιστής δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε μια γλώσσα προγραμματισμού και αφού το ελέγξει για συντακτικά σφάλματα, παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. Το αρχικό πρόγραμμα καλείται πηγαίο (source code) και το πρόγραμμα που παράγεται από τον μεταγλωττιστή λέγεται αντικείμενο (object). Ακολούθως, ο συνδέτης φορτωτής συνδέει τα μέρη του προγράμματος μεταξύ τους και με βιβλιοθήκες της γλώσσας και παράγει το εκτελέσιμο πρόγραμμα. (Μονάδες 6) IV. ίνεται ο παρακάτω αλγόριθμος. Να μετατραπεί σε ισοδύναμο δομημένο αλγόριθμο. 1. Αλγόριθμος Α4 2. i 3 3. p 1 4. Αν i > 100 τότε 5. πήγαινε στο 11 6. 7. p p * i 8. i i + 3
9. πήγαινε στο 4 10. 11. Γράψε p 12. Τέλος Α4 (Μονάδες 12) Αλγόριθμος Α4 p 1 Για i από 3 μέχρι 100 με_βήμα 3 p p * i Γράψε p Τέλος Α4 V. Τι είναι το συντακτικό μιας γλώσσας; (Μονάδες 4) Συντακτικό είναι το σύνολο των κανόνων που καθορίζει τη νομιμότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δημιουργία προτάσεων. Η γνώση του συντακτικού στις φυσικές γλώσσες επιτρέπει τη δημιουργία σωστών προτάσεων, ενώ στις τεχνητές γλώσσες τη δημιουργία σωστών εντολών. VI. Να αναφέρετε σε ποιες περιπτώσεις χρησιμοποιούμε τη σειριακή αναζήτηση.
(Μονάδες 6) Την σειριακή μέθοδο αναζήτησης την εφαρμόζουμε όταν: ο πίνακας δεν είναι ταξινομημένος ο πίνακας είναι μικρού μεγέθους (n<=20) η αναζήτηση στον πίνακα γίνεται σπάνια Θέμα 2ο Α) Να συμπληρωθούν τα κενά ώστε ο παρακάτω αλγόριθμος να συγχωνεύει τους πίνακες Α (50 θέσεων) και Β (27 θέσεων) στον πίνακα Γ. Οι πίνακες είναι ταξινομημένοι σε αύξουσα σειρά. Αλγόριθμος ΣΥΓΧΩΝΕΥΣΗ i 1 j 1 k 1 Όσο i <= 50 και j <= 27 επανάλαβε Αν Α[ i ] < Β[ j ] τότε Γ[k] Α[ i ] i i +1 k k+1 Γ[ k ] B[ j ] j j +1 k k+1 Τέλος_επανάληψης Αν i > 50 τότε Γ[λ] Β[ j ] j j +1 Γ[λ] Α[ i ]
i i +1 (Μονάδες 12) Β) Να τροποποιηθεί το παρακάτω κομμάτι κώδικα (είναι το τελευταίο μέρος του αλγορίθμου συγχώνευσης), ώστε να έχει το ίδιο αποτέλεσμα με χρήση μόνο μίας επανάληψης. Αν... > 50 τότε Γ[λ] Β[... ]...... +1 Γ[λ] Α[... ]...... +1 Αν i > 50 τότε Γ[λ] Β[ j ] j j +1 Γ[λ] A[ i ] i i +1 (Μονάδες 8) Θέμα 3ο Ένας μαθητής προάγεται στην επόμενη τάξη αν ο βαθμός του είναι μεγαλύτερος ή ίσος του 10. Να γραφεί πρόγραμμα το οποίο: 1. Να διαβάζει το όνομα και το βαθμό των μαθητών μιας τάξης. Η ανάγνωση των στοιχείων θα σταματάει όταν σαν όνομα δοθεί η λέξη ΤΕΛΟΣ.
(3 μονάδες) 2. Για κάθε μαθητή καλεί υποπρόγραμμα που στρογγυλοποιεί το βαθμό στον πλησιέστερο ακέραιο (π.χ το 12,4 θα γίνει 12, ενώ το 11,5 θα γίνει 12). (3 μονάδες) 3. Εμφανίζει αν ο μαθητής προάγεται ή όχι. (1 μονάδα) 4. Εμφανίζει μήνυμα με το πόσοι μαθητές προάγονται συνολικά και τον μέσο όρο τους (ο υπολογισμός του μέσου όρου θα γίνει με χρήση των στρογγυλοποιημένων βαθμών). (6 μονάδες) 5. Να γραφεί το κατάλληλο υποπρόγραμμα. (7 μονάδες) (Μονάδες 20) Πρόγραμμα Θ3 Μεταβλητές ακέραιες: πλ, ΣΒ πραγματικές: S, ΜΟ χαρακτήρες: ΟΝ Αρχή s 0 πλ 0 Γράψε ' ώσε όνομα και βαθμό' ιάβασε ΟΝ, Β Όσο ΟΝ <> 'Τέλος' επανάλαβε ΣΒ στρογγ(β) Αν ΣΒ >= 10 τότε S S + ΣΒ πλ πλ + 1 Γράψε 'Ο', ΟΝ, 'προάγεται' Γράψε 'Ο', ΟΝ, 'απορρίπτεται' Γράψε ' ώσε όνομα και βαθμό' ιάβασε ΟΝ, Β ΜΟ S / πλ Γράψε 'Προάγονται συνολικά', πλ, 'μαθητές με μέσο όρο βαθμολογίας', ΜΟ τέλος_προγράμματος Συνάρτηση στρογγ(β): ακέραια Μεταβλητές πραγματικές: Β, Μ Αρχή Μ Β Α_Μ(Β) Αν Μ >= 0,5 τότε στρογγ Α_Μ(Β) + 1
στρογγ Α_Μ(Β) τέλος_συνάρτησης Θέμα 4ο Μια εταιρία αυτοκινήτων δοκιμάζει τις επιδόσεις 10 νέων μοντέλων. Κάθε μοντέλο δοκιμάζεται για τις επιδόσεις του 4 φορές. Η επίδοση κάθε μοντέλου μετριέται με έναν δείκτη ο οποίος παίρνει τιμές από 1 έως και 10. Η εταιρία θέλει να βγάλει στην αγορά 2 από τα μοντέλα. Κριτήριο για το ποια θα βγουν είναι ο δείκτης επιδόσεων και το κόστος κατασκευής. Το σκεπτικό της εταιρία είναι το ακόλουθο: Στην αγορά θα κυκλοφορήσουμε 2 αυτοκίνητα. Αυτό με το μικρότερο κόστος κατασκευής και αυτό με το μεγαλύτερο μέσο όρο στο δείκτη επιδόσεων. Αν το μοντέλο με το μικρότερο κόστος κατασκευής έχει ταυτόχρονα και το μεγαλύτερο μέσο όρο στο δείκτη επιδόσεων, τότε θα κυκλοφορήσει στην αγορά και το αυτοκίνητο με το δεύτερο καλύτερο μέσο όρο επιδόσεων. Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τα ονόματα των μοντέλων, το κόστος κατασκευής τους καθώς και το δείκτη επίδοσης κάθε μία από τις 4 φορές που δοκιμάστηκαν (να γίνει έλεγχος για ορθή καταχώρηση του δείκτη). Στη συνέχεια θα εμφανίζει τα ονόματα των μοντέλων που θα κυκλοφορήσουν στην αγορά. Θεωρούμε ότι το μικρότερο κόστος κατασκευής και το δεύτερο καλύτερο μέσο όρο επίδοσης δεν τα έχουν περισσότερα από ένα μοντέλα. (Μονάδες 20) Αλγόριθμος Θ4 Γράψε ' ώσε όνομα μοντέλου και κόστος κατασκευής' ιάβασε ΟΝ[ i ], ΚΚ[ i ] Για j από 1 μέχρι 4 Αρχή_επανάληψης Γράψε ' ώσε το δείκτη επίδοσης του', ΟΝ[ i ], 'την φορά', j ιάβασε Ε[ i, j ] μέχρις_ότου Ε[ i, j ] >=1 και Ε[ i, j ] <=10 ΜΟΓ[ i ] 0 Για j από 1 μέχρι 4 ΜΟΓ[ i ] ΜΟΓ[ i ] + Ε[ i, j ]
ΜΟΓ[ i ] ΜΟΓ[ i ] / 4 max ΜΟΓ[ 1 ] θmax 1 Αν ΜΟΓ[ i ] > max τότε max ΜΟΓ[ i ] θmax i min ΚΚ[ 1 ] θmin 1 Αν ΚΚ[ i ] > min τότε min ΚΚ[ i ] θmin i Γράψε 'Θα κυκλοφορήσει το μοντέλο', ΟΝ[θmin] Αν θmin <> θmax τότε Γράψε 'Θα κυκλοφορήσει το μοντέλο', ΟΝ[θmax] Για i από 2 μέχρι 10 Για j από 10 μέχρι i με_βήμα -1 Αν ΜΟΓ[ j 1 ] < ΜΟΓ[ j ] τότε αντιμετάθεσε ΜΟΓ[ j 1 ], ΜΟΓ[ j ] αντιμετάθεσε ΟΝ[ j 1 ], ΟΝ[ j ] Γράψε 'Θα κυκλοφορήσει το μοντέλο', ΟΝ[2] τέλος Θ4