ΔΙΑΓΩΝΙΣΜΑ ΒΑΘΜΟΣ: στο μάθημα προσανατολισμού Γ τάξης ενιαίου Λυκείου: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον [εξεταστέα ύλη: Βασικές Έννοιες Αλγορίθμων, Δομή Επιλογής, Eισαγωγή στον Προγραμματισμό] Ονοματεπώνυμο: ΘΕΜΑ Α Α1. Να χαρακτηρίσετε ως σωστή (Σ) ή λανθασμένη (Λ), κάθε μία από τις παρακάτω προτάσεις: 1. Όλες οι δομές επιλογής μπορούν να μετατραπούν σε απλή δομή Αν... τότε. 2. Ο μεταγλωττιστής διορθώνει τα λογικά λάθη του προγράμματος. 3. Αν στη δομή επιλογής Αν...τότε... αλλιώς_αν, όλες οι συνθήκες είναι ψευδείς, τότε εκτελούνται οι εντολές της αλλιώς. 4. Το πρόγραμμα που προκύπτει από τη σύνδεση του αντικειμένου με τις βιβλιοθήκες είναι το πηγαίο. 5. Τα κριτήρια που πρέπει να ικανοποιεί ένας αλγόριθμος είναι είσοδος, καθοριστικότητα, περατότητα, ταχύτητα. Α2. Να μετατρέψετε τον παρακάτω αλγόριθμο με χρήση εμφωλευμένων εντολών ΑΝ ΑΛΛΙΩΣ. Αλγόριθμος Επιλογή Διάβασε Β Αν Β > = 100 τότε εμφάνισε "Χάστε επειγόντως βάρος" αλλιώς_αν Β > = 90 τότε εμφάνισε "Πρέπει να χάσετε βάρος" αλλιώς_αν Β > = 80 τότε εμφάνισε "Έχετε κανονικό βάρος" αλλιώς_αν Β > = 70 τότε εμφάνισε "Είστε αδύνατος" αλλιώς εμφάνισε "Πρέπει να πάρετε κιλά" Τέλος Επιλογή σελίδα 1 από 9
Α3. Δίνεται ο παρακάτω αλγόριθμος: Αλγόριθμος Εμφωλευμένες Διάβασε α Αν α < 0 τότε Εμφάνισε αρνητικό Αλλιώς Αν α <= 100 τότε Εμφάνισε μεταξύ 0 και 100 Αλλιώς Αν α <= 200 τότε Εμφάνισε μεταξύ 100 και 200 Αλλιώς Εμφάνισε μεγαλύτερο από 200 Τέλος Εμφωλευμένες Να αναπτύξετε αλγόριθμο ισοδύναμο με τον παραπάνω, χρησιμοποιώντας την εντολή ΑΝ ΑΛΛΙΩΣ_ΑΝ χωρίς χρήση εμφωλευμένων επιλογών Α4. Να αντιγράψετε στο τετράδιο σας τον παρακάτω πίνακα και να υπολογίσετε τις τιμές των συνθηκών για τις αντίστοιχες τιμές των μεταβλητών α, β, γ. α β γ (α>3 και γ>=α) ή γ<β α<>(-β) και (όχι (α=γ)) 5-2 1 3 8 3 6 6-2 5-5 10 Μονάδες 8 Α5. Α. Ποιες είναι οι τρεις αλγοριθμικές δομές που χρησιμοποιούνται στο δομημένο προγραμματισμό; Ποια η λειτουργία της εντολής GOTO και γιατί η χρήση της έχει περιοριστεί τόσο πολύ; Μονάδες 6 Β. Να περιγραφεί η διαδικασία της μεταγλώττισης και σύνδεσης ενός προγράμματος, συμπεριλαμβανόμενης και της εύρεσης και διόρθωσης λαθών. Μονάδες 6 σελίδα 2 από 9
ΘΕΜΑ Β Σε κάποια εξεταστική δοκιμασία κάθε γραπτό αξιολογείται αρχικά από δύο βαθμολογητές και υπάρχει περίπτωση το γραπτό να χρειάζεται αναβαθμολόγηση από τρίτο βαθμολογητή. Στην περίπτωση αναβαθμολόγησης ο τελικός βαθμός υπολογίζεται ως εξής: 1. Αν ο βαθμός του τρίτου βαθμολογητή είναι ίσος με το μέσο όρο (Μ.Ο.) των βαθμών των δύο πρώτων βαθμολογητών, τότε ο τελικός βαθμός είναι ο Μ.Ο. 2. Αν ο βαθμός του τρίτου βαθμολογητή είναι μικρότερος από το μικρότερο βαθμό (ΜΙΝ) των δύο πρώτων βαθμολογητών, τότε ο τελικός βαθμός είναι ο ΜΙΝ. 3. Διαφορετικά, ο τελικός βαθμός είναι ο μέσος όρος του βαθμού του τρίτου βαθμολογητή με τον πλησιέστερο προς αυτόν βαθμό των δύο πρώτων βαθμολογητών. Να αναπτύξετε αλγόριθμο υπολογισμού του τελικού βαθμού ενός γραπτού με αναβαθμολόγηση, ο οποίος: Β1. Να διαβάζει τους βαθμούς του πρώτου, του δεύτερου και του τρίτου βαθμολογητή ενός γραπτού εμφανίζοντας κατάλληλα μηνύματα. Μονάδες 5 Β2. Να υπολογίζει και να εκτυπώνει το μεγαλύτερο (ΜΑΧ) και το μικρότερο (ΜΙΝ) από τους βαθμούς του πρώτου και του δεύτερου βαθμολογητή. Μονάδες 5 Β3. Να υπολογίζει και να εκτυπώνει τον τελικό βαθμό του γραπτού σύμφωνα με την παραπάνω διαδικασία. Παρατήρηση: Θεωρήστε ότι και οι τρεις βαθμοί είναι θετικοί ακέραιοι αριθμοί. σελίδα 3 από 9
ΘΕΜΑ Γ Ομάδα μαθητών στα πλαίσια κάποιας περιβαλλοντικής εκδρομής θα διαμείνει σε ξενοδοχείο. Η ομάδα μπορεί να αποτελείται από 2 καθηγητές και από 4 μέχρι και 15 μαθητές. Το ξενοδοχείο έχει δίκλινα και τρίκλινα δωμάτια. Στο δίκλινο η διανυκτέρευση κοστίζει 60, ενώ στο τρίκλινο 75. Για την κατανομή των μαθητών στα δωμάτια ισχύουν οι εξής κανόνες: οι συνοδοί καθηγητές καταλαμβάνουν 1 δίκλινο δωμάτιο. Οι μαθητές καταλαμβάνουν όσο το δυνατόν περισσότερα τρίκλινα. Επίσης, ποτέ δεν μένει κάποιος μαθητής μόνος του σε δωμάτιο. Για παράδειγμα, 7 μαθητές κατανέμονται σε ένα τρίκλινο και δύο δίκλινα, ενώ οι 8 μαθητές θα κατανεμηθούν σε δύο τρίκλινα και ένα δίκλινο δωμάτιο. Η εκδρομή μπορεί να είναι είτε πενταήμερη (τέσσερις (4) διανυκτερεύσεις), είτε επταήμερη (έξι (6) διανυκτερεύσεις). Να γραφεί πρόγραμμα το οποίο: Γ1. Θα διαβάζει τον αριθμό των διανυκτερεύσεων που θέλει να μείνει η ομάδα καθώς και το πλήθος των μαθητών που την αποτελούν. Να ελέγχεται η ορθότητα των καταχωρήσεων και σε περίπτωση λάθους θα εμφανίζεται κατάλληλο μήνυμα. Γ2. Στη συνέχεια, να υπολογίζει και να εμφανίζει (με κατάλληλο μήνυμα) το ποσό που θα πληρώσει η ομάδα. Μονάδες 15 Γ3. Σε περίπτωση που οι διανυκτερεύσεις είναι περισσότερες από 4, το ξενοδοχείο προσφέρει έκπτωση 10% στο τελικό ποσό. Σε αυτήν την περίπτωση, να υπολογίζεται το ποσό της έκπτωσης και το πρόγραμμα να εμφανίζει: το αρχικό ποσό που είναι να πληρώσει η ομάδα, το ποσό της έκπτωσης, καθώς και το ποσό που θα πληρώσει τελικά η ομάδα. Όλα τα αποτελέσματα θα συνοδεύονται με κατάλληλα μηνύματα. Μονάδες 5 Καλή επιτυχία!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Παπαγιαννούλας Νίκος, Φυσικός Παν. Αθηνών, Μ.Δ.Ε. Παν. Αθηνών, M.Sc. Ε.Μ.Π. σελίδα 4 από 9
ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1. Σωστό 2. Λάθος 3. Σωστό 4. Λάθος 5. Λάθος Α2. Αλγόριθμος Επιλογή Διάβασε Β Αν Β < 70 τότε εμφάνισε "Πρέπει να πάρετε κιλά" Αλλιώς!αν Β >= 70 τότε Αν Β < 80 τότε εμφάνισε "Είστε αδύνατος" Αλλιώς!αν Β >= 80 τότε Αν Β < 90 τότε εμφάνισε "Έχετε κανονικό βάρος" Αλλιώς!αν Β >= 90 τότε Αν Β < 100 τότε εμφάνισε "Πρέπει να χάσετε βάρος" Αλλιώς!αν Β >= 100 τότε εμφάνισε "Χάστε επειγόντως βάρος" Τέλος Επιλογή σελίδα 5 από 9
Α3. Α4. Αλγόριθμος Εμφωλευμένες Διάβασε α Αν α < 0 τότε Εμφάνισε αρνητικό Αλλιώς_αν α <= 100 τότε Εμφάνισε μεταξύ 0 και 100 Αλλιώς_αν α <= 200 τότε Εμφάνισε μεταξύ 100 και 200 Αλλιώς! αν α > 200 τότε Εμφάνισε μεγαλύτερο από 200 Τέλος Εμφωλευμένες α β γ (α>3 και γ>=α) ή γ<β α<>(-β) και (όχι (α=γ)) 5-2 1 Ψ Α 3 8 3 Α Ψ 6 6-2 Α Α 5-5 10 Α Ψ Μονάδες 8 Α5. Α. Βιβλίο μαθητή σελίδες 118-119, ή φυλλάδιο σελίδα 173. Μονάδες 6 Β. Βιβλίο μαθητή σελίδες 121-122, ή φυλλάδιο σελίδες 174-175. Μονάδες 6 σελίδα 6 από 9
ΘΕΜΑ Β Αλγόριθμος Αναβαθμολόγηση Εμφάνισε Παρακαλώ, δώστε τους βαθμούς των τριών βαθμολογητών Διάβασε βθμ1, βθμ2, βθμ3 ΜΑΧ βθμ1! θέτουμε αυθαίρετα ως μέγιστη τιμή το βθμ1 ΜΙΝ βθμ2! θέτουμε αυθαίρετα ως ελάχιστη τιμή το βθμ2 Αν βθμ2 > βθμ1 τότε! Αν η υπόθεσή μας είναι λανθασμένη, αλλάζουμε ΜΑΧ, ΜΙΝ ΜΑΧ βθμ2 ΜΙΝ βθμ1 ΜΟ (βθμ1 + βθμ2) / 2! Υπολογίζουμε το μέσο όρο των δύο πρώτων βαθμολογητών Αν βθμ3 = ΜΟ τότε! Αν ο βαθμός του τρίτου βαθμολογητή ισούται με το ΜΟ ΤΒ ΜΟ! τότε ο τελικός βαθμός είναι ο ΜΟ Αλλιώς_αν βθμ3 < ΜΙΝ τότε! ο βαθμός του τρίτου είναι μικρότερος του ΜΟ ΤΒ ΜΙΝ! τότε ο τελικός βαθμός είναι ο ΜΙΝ Αλλιώς! ο βαθμός του τρίτου είναι σίγουρα μεγαλύτερος του ΜΙΝ, δεν!ξέρουμε τη σχέση του με το ΜΑΧ διαφμιν βθμ3 ΜΙΝ! υπολογίζουμε πόσο απέχει ο βθμ3 από ΜΙΝ! η μεταβλητή διαφμιν είναι σίγουρα θετικός αριθμός, γιατί βθμ3 > ΜΙΝ διαφμαχ ΜΑΧ βθμ3! υπολογίζουμε πόσο απέχει ο βθμ3 από ΜΑΧ! η μεταβλητή διαφμαχ μπορεί να είναι θετικός ή αρνητικός αριθμός γιατί δεν!γνωρίζουμε τη σχέση του βθμ3 με το ΜΑΧ, οπότε: Αν διαφμαχ < 0 τότε! αν είναι αρνητική η διαφορά, δηλαδή βθμ3 > ΜΑΧ διαφμαχ διαφμαχ * (-1)! πολλαπλασιάζουμε με (-1) για να!γίνει θετικός αριθμός Αν διαφμιν < διαφμαχ τότε! Συγκρίνουμε τις διαφορές, αν είναι!μικρότερη η διαφμιν τότε κοντινότερος στον βθμ3 είναι ο ΜΙΝ, οπότε: ΤΒ (βθμ3 + διαφμιν) / 2 Αλλιώς! αν είναι!μικρότερη η διαφμαχ τότε κοντινότερος στον βθμ3!είναι ο ΜΑΧ, οπότε: ΤΒ (βθμ3 + διαφμαχ) / 2 Εμφάνισε ΤΕΛΙΚΟΣ ΒΑΘΜΌΣ, ΤΒ Τέλος Αναβαθμολόγηση σελίδα 7 από 9
Β τρόπος: Αλγόριθμος Αναβαθμολόγηση Εμφάνισε Παρακαλώ, δώστε τους βαθμούς των τριών βαθμολογητών Διάβασε βθμ1, βθμ2, βθμ3 ΜΑΧ βθμ1! θέτουμε αυθαίρετα ως μέγιστη τιμή το βθμ1 ΜΙΝ βθμ2! θέτουμε αυθαίρετα ως ελάχιστη τιμή το βθμ2 Αν βθμ2 > βθμ1 τότε! Αν η υπόθεσή μας είναι λανθασμένη, αλλάζουμε ΜΑΧ, ΜΙΝ ΜΑΧ βθμ2 ΜΙΝ βθμ1 ΜΟ (βθμ1 + βθμ2) / 2! Υπολογίζουμε το μέσο όρο των δύο πρώτων βαθμολογητών Αν βθμ3 = ΜΟ τότε! Αν ο βαθμός του τρίτου βαθμολογητή ισούται με το ΜΟ ΤΒ ΜΟ! τότε ο τελικός βαθμός είναι ο ΜΟ Αλλιώς_αν βθμ3 < ΜΙΝ τότε! ο βαθμός του τρίτου είναι μικρότερος του ΜΟ ΤΒ ΜΙΝ! τότε ο τελικός βαθμός είναι ο ΜΙΝ Αλλιώς! ο βαθμός του τρίτου είναι σίγουρα μεγαλύτερος του ΜΙΝ, δεν!ξέρουμε τη σχέση του με το ΜΑΧ διαφμιν Α_Τ(βθμ3 ΜΙΝ)! υπολογίζουμε πόσο απέχει ο βθμ3 από ΜΙΝ! η μεταβλητή διαφμιν είναι σίγουρα θετικός αριθμός διαφμαχ Α_Τ(ΜΑΧ βθμ3)! υπολογίζουμε πόσο απέχει ο βθμ3 από ΜΑΧ! η μεταβλητή διαφμαχ είναι σίγουρα θετικός αριθμός Αν διαφμιν < διαφμαχ τότε! Συγκρίνουμε τις διαφορές, αν είναι!μικρότερη η διαφμιν τότε κοντινότερος στον βθμ3 είναι ο ΜΙΝ, οπότε: ΤΒ (βθμ3 + διαφμιν) / 2 Αλλιώς! αν είναι!μικρότερη η διαφμαχ τότε κοντινότερος στον βθμ3!είναι ο ΜΑΧ, οπότε: ΤΒ (βθμ3 + διαφμαχ) / 2 Εμφάνισε ΤΕΛΙΚΟΣ ΒΑΘΜΌΣ, ΤΒ Τέλος Αναβαθμολόγηση σελίδα 8 από 9
ΘΕΜΑ Γ ΠΡΟΓΡΑΜΜΑ ΘέμαΓ ΣΤΑΘΕΡΕΣ κόστος_δίκλινου = 60 κόστος_τρίκλινου = 75 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: δν, μαθ, υπόλ, τρίκλινα, δίκλινα ΑΡΧΗ ΓΡΑΨΕ Παρακαλώ δώστε αριθμό διανυκτερεύσεων ΔΙΑΒΑΣΕ δν ΓΡΑΨΕ Παρακαλώ δώστε αριθμό μαθητών ΔΙΑΒΑΣΕ μαθ δίκλινα 1!το δίκλινο των καθηγητών τρίκλινα μαθdiv3!υπολογίζουμε πόσα τρίκλινα αντιστοιχούν στους μαθητές υπόλ μαθmod3! υπολογίζουμε πόσοι μαθητές περισσεύουν ΑΝ υπόλ = 0 ΤΟΤΕ!δεν περισσεύει κανείς, έχουμε μόνο τριάδες τρίκλινα τρίκλινα ΑΛΛΙΩΣ_ΑΝ υπόλ = 2 ΤΟΤΕ!περισσεύουν δύο μαθητές δίκλινα δίκλινα + 1!άρα, προσθέτουμε ένα δίκλινο σε αυτό!των καθηγητών ΑΛΛΙΩΣ!ΑΝ υπόλ = 1, περισσεύει ένας μαθητής μόνος του, άρα τρίκλινα τρίκλινα 1!χαλάμε το ένα τρίκλινο και δίκλινα δίκλινα + 2!προσθέτουμε δύο δίκλινα (ένας που!περίσσεψε + τρεις του τρίκλινου που χαλάσαμε) σε αυτό των καθηγητών ΤΕΛΟΣ_ΑΝ κόστος (δίκλινα * κόστος_δίκλινου + τρίκλινα * κόστος_τρίκλινου) * δν ΑΝ δν = 4 ΤΟΤΕ ΓΡΑΨΕ Ποσό πληρωμής:, κόστος, ΑΛΛΙΩΣ! αν δν = 6 τότε εκπτ κόστος * 10 / 100 ΓΡΑΨΕ Αρχικό ποσό πληρωμής:, κόστος, ΓΡΑΨΕ Ποσό έκπτωσης:, εκπτ, ΓΡΑΨΕ Τελικό ποσό πληρωμής:, κόστος εκπτ, ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Καλή επιτυχία!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Παπαγιαννούλας Νίκος, Φυσικός Παν. Αθηνών, Μ.Δ.Ε. Παν. Αθηνών, M.Sc. Ε.Μ.Π. σελίδα 9 από 9