ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 05/01/2010 ΘΕΜΑ 1 ο Α) Δίνεται η παρακάτω ακολουθία εντολών αλγορίθμου: ΑΛΓΟΡΙΘΜΟΣ Θέμα1 ΔΙΑΒΑΣΕ Ν Σ 0 π 0 ΓΙΑ ψ ΑΠΟ -1 ΜΕΧΡΙ Ν ΔΙΑΒΑΣΕ α, β Σ Σ + α + β π π + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Αποτ Σ / π ΑΠΟΤΕΛΕΣΜΑΤΑ // Αποτ // ΤΕΛΟΣ Θέμα1 Να χαρακτηρίσετε αν κάθε μία από τις παρακάτω προτάσεις είναι σωστή (Σ) ή λανθασμένη (Λ). 1. Οι εντολές του βρόχου θα εκτελεστούν τουλάχιστον μία φορά σε κάθε περίπτωση. 2. Μπορεί να υλοποιηθεί ισοδύναμος αλγόριθμος με τη χρήση της εντολής επανάληψης ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΜΕΧΡΙΣ_ΟΤΟΥ αντί της ΓΙΑ χωρίς την προσθήκη επιπλέον εντολών. 3. Υπάρχει ένα αλγοριθμικό κριτήριο που δεν πληρείται στις εντολές αυτές. 4. Ο παραπάνω αλγόριθμος υπολογίζει το μέσο όρο των αριθμών που διαβάζει. 5. Η τιμή του Ν δηλώνει το πλήθος των αριθμών που εισάγονται με την εντολή ΔΙΑΒΑΣΕ Μονάδες 5 1
Β) Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί σωστά. Στη στήλη Β υπάρχουν δύο επιπλέον στοιχεία. Α Β 1. Περιττός αριθμός. Α. x MOD 5 = 0 2. Πολλαπλάσιο του 5. Β. x MOD 2 = 0 3. Το 1ο ψηφίο τετραψήφιου αριθμού. Γ. x MOD 2 <> 0 4. Τελευταίο ψηφίο ενός τετραψήφιου αριθμού. Δ. x DIV 1000 5. Μεσαίο ψηφίο ενός τριψήφιου E. x MOD 1000 ΣΤ. x MOD 10 Ζ. x DIV 10 MOD 10 Μονάδες 5 Γ) Να σχεδιαστεί το διάγραμμα ροής του παρακάτω τμήματος αλγορίθμου: ΔΙΑΒΑΣΕ Δ Κ 0 ΓΙΑ Ε ΑΠΟ 5 ΜΕΧΡΙ 24.5 ΑΝ Δ ΜΟD 7 = 1 ΤΟΤΕ Κ Κ + 1 ΔΙΑΒΑΣΕ Δ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΕΜΦΑΝΙΣΕ Κ Δ) Να εξηγήσετε τη λειτουργία του συντάκτη και του συνδέτη-φορτωτή στη διαδικασία του προγραμματισμού. 2
Ε) Να ξαναγράψετε τον παρακάτω τμήμα αλγορίθμου, χρησιμοποιώντας τη δομή επανάληψης Για για τον εξωτερικό βρόγχο και μέχρις_ότου για τον εσωτερικό, αντί της Όσο. δ 5 α 1 Όσο δ < 25 επανάλαβε Διάβασε χ Όσο χ <> Σχολείο και α<=10 επανάλαβε α α+2 Διάβασε χ Τέλος_επανάληψης α 1 δ δ + 0,01 Τέλος_επανάληψης Εμφάνισε χ Μονάδες 10 Στ) Να συμπληρώσετε τα κενά στις παρακάτω προτάσεις επιλέγοντας τις κατάλληλες λέξεις από τις ακόλουθες: συνθήκες, ψευδής, εκτελεστέα, εκφράσεις, δεδομένο, Pascal, ίσου, αληθής, PROLOG, δηλωτική, διάφορου, πληροφορία 1) Με τον όρο αναφέρετε οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδομένων. 2) Η εντολή Τέλος χαρακτηρίζεται ως εντολή. 3) Οι σχηματίζονται από σταθερές, μεταβλητές, συναρτήσεις, τελεστές και παρενθέσεις. 4) Η γλώσσα προγραμματισμού χαρακτηρίζεται και ως μη διαδικασιακή. 5) Η σύγκριση λογικών δεδομένων έχει έννοια μόνο στην περίπτωση του και του. Μονάδες 6 3
ΘΕΜΑ 2 Ο Α. Δίνεται το παρακάτω τμήμα αλγορίθμου: Γ 1 S 0 λ 0 κ 0 ω 0 π 0 Αρχή_επανάληψης Αρχή _επανάληψης Διάβασε x Μέχρις_ότου x>=0 λ λ+1 Αν x mod 2 = 0 τότε π π+1 S S+x αλλιώς_αν x mod 3 = 0 τότε Γ Γ*x ω ω+1 αλλιώς κ κ+1 Τέλος_αν Εμφάνισε Θέλετε να εισάγετε άλλο αριθμό; Διάβασε απάντηση Μέχρις_ότου απάντηση= όχι Αν π<>0 τότε Μ S/π Τέλος_αν Εμφάνισε M, Γ, κ, λ, ω 4
Αφού κατανοήσετε την λειτουργία του παραπάνω αλγορίθμου απαντήστε στις παρακάτω ερωτήσεις : 1. Αν κατά την ερώτηση «Θέλετε να εισάγετε άλλο αριθμό;» ο χρήστης εισάγει το κείμενο «Δεν θέλω» θα τερματίσει ο εξωτερικός βρόχος; 2. Αν εισαχθεί στη μεταβλητή x ο αριθμός -2 θα γίνει αποδεκτός για επεξεργασία; 3. Εισάγετε 3 αριθμούς που θα αυξήσουν τη μεταβλητή π. 4. Εισάγετε 3 αριθμούς που θα αυξήσουν τη μεταβλητή κ. 5. Τι υπολογίζει η μεταβλητή π; 6. Τι υπολογίζει η μεταβλητή κ; 7. Τι υπολογίζει η μεταβλητή Γ; 8. Τι υπολογίζει η μεταβλητή Μ; 9. Μπορεί να εισαχθεί κάποια τιμή που να αυξήσει τις τιμές και των 3 μεταβλητών λ, π και κ; 10. Ο αριθμός 6 αυξάνει τη μεταβλητή ω; Μονάδες 10 Β. Δίνεται ο παρακάτω αλγόριθμος Αλγόριθμος θ2 sum 0 Διάβασε k, p Α Α_Μ(Α_Τ(k)) Β Α_Μ(Α_Τ(p)) π 0 Όσο Β >= 1 επανάλαβε Αν Β mod 2 = 1 τότε sum sum + Α Αλλιώς π π + 1 Τέλος_αν Α Α * 2 Β Β div 2 Τέλος_Επανάληψης Αν (k>0 και p<0) ή (k<0 και p>0) τότε sum sum*(-1) Τέλος_Αν Εμφάνισε sum, π, A, B Τέλος θ2 5
Να γράψετε τις τιμές που δέχονται οι μεταβλητές του αλγορίθμου κατά την εκτέλεση του, καθώς και τι θα εμφανιστεί τελικά στην οθόνη, αν δοθούν ως είσοδοι οι τιμές 30.55 και -26. Μονάδες 10 Θέμα 3 ο Ένα γυμνάσιο προσπαθεί να δημιουργήσει έναν αλγόριθμο που θα λειτουργεί κατά την περίοδο των εγγραφών και θα πρέπει να εκτελεί τα παρακάτω: Για κάθε μαθητή που επιθυμεί να εγγραφεί, θα διαβάζει την τάξη που θα φοιτήσει ο μαθητής ( Α, Β ή Γ, όπου απαιτείται και έλεγχος εγκυρότητας), το όνομά του και τον τελικό βαθμό του από την προηγούμενη χρονιά. Το σχολείο δεν μπορεί να δεχθεί πάνω από 100 μαθητές σε κάθε τάξη. Μονάδες 4 Κατά τη διάρκεια των έγγραφών αν σε κάποια τάξη συμπληρωθούν οι 100 μαθητές, στον επόμενο μαθητή που θα ζητήσει να εγγραφεί σε αυτήν την τάξη θα εμφανίζεται κατάλληλο μήνυμα που θα αναφέρει ότι πρέπει να αναζητήσει άλλο σχολείο και ο αλγόριθμος θα συνεχίζει με τον επόμενο μαθητή. Αν συμπληρωθούν οι 100 μαθητές και στις 3 τάξεις (δηλαδή συνολικά 300 μαθητές) η επανάληψη θα τερματίζει. Μονάδες 6 Επίσης, ο αλγόριθμος θα ρωτάει επαναληπτικά αν υπάρχει άλλος μαθητής για εγγραφή. Σε περίπτωση που η απάντηση είναι ΌΧΙ, η επανάληψη θα τερματίζει. Μονάδες 3 Στο τέλος, σε περίπτωση που ο συνολικός αριθμός των μαθητών που εγράφησαν είναι από 0 έως και 15 θα εμφανίζεται το μήνυμα το σχολείο δεν θα λειτουργήσει φέτος, διαφορετικά ο αλγόριθμος θα πρέπει να εμφανίζει τον αριθμό των τμημάτων που δημιουργήθηκαν στην Α γυμνασίου αν είναι γνωστό ότι σε κάθε τμήμα μπορούν να φοιτήσουν έως και 25 μαθητές καθώς και το όνομα του μαθητή της Γ γυμνασίου με τον μεγαλύτερο περυσινό τελικό βαθμό. 6
Θέμα 4 ο Στο τμήμα των Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών, ένας φοιτητής έχει τις εξής υποχρεώσεις στα πλαίσια του μαθήματος «Εισαγωγή στον προγραμματισμό»: Να κάνει 12 εργασίες και να δώσει γραπτές εξετάσεις στο τέλος του εξαμήνου. Προϋπόθεση για να συμμετάσχει στη γραπτή εξέταση είναι ο μέσος όρος των 12 ασκήσεων να είναι από 4 και πάνω. Ο υπολογισμός του τελικού βαθμού (ο οποίος υπολογίζεται μόνο αν ο φοιτητής κερδίσει το δικαίωμα να δώσει γραπτή εξέταση) υπολογίζεται ως εξής: Ο μέσος όρος ασκήσεων συμμετέχει σε ποσοστό 35% στον τελικό βαθμό ενώ ο βαθμός της γραπτής εξέτασης συμμετέχει σε ποσοστό 65% στον συνολικό βαθμό. Να γράψετε πρόγραμμα το οποίο θα διαβάζει επαναληπτικά έναν ακέραιο αριθμό, ο οποίος πρέπει να είναι το 1, το 2 ή το 3 (να εκτελείται έλεγχος εγκυρότητας). Μονάδες 2 Κάθε φορά που πληκτρολογείται το 1, ο αλγόριθμος διαβάζει το όνομα ενός φοιτητή και τους βαθμούς του στις 12 ασκήσεις και θα υπολογίζει τον μέσο όρο. Έπειτα, αν ο μέσος όρος των ασκήσεων είναι από 4 και πάνω, θα διαβάζει το βαθμό της γραπτής εξέτασης, και θα υπολογίζει, εμφανίζει τον τελικό βαθμό του φοιτητή μαζί με το όνομά του. Διαφορετικά, θα εμφανίζει το όνομα του φοιτητή, μαζί με κατάλληλο μήνυμα που θα εξηγεί ότι ο φοιτητής δε μπορεί να λάβει μέρος στην γραπτή εξέταση του μαθήματος. Όταν πληκτρολογείται το 2, το πρόγραμμα θα πρέπει να εμφανίζει τον μέσο όρο βαθμολογίας όλων των φοιτητών των οποίων έχει υπολογιστεί ο τελικός τους βαθμός καθώς και το ποσοστό (%) των φοιτητών που δεν έχουν δικαίωμα στην γραπτή εξέταση, ως εκείνη τη στιγμή. Τέλος, αν εισαχθεί το 3, η επανάληψη τερματίζεται. Μονάδες 4 7