13 Απριλίου 2010

Επαναληπτικές Ημερήσια 2007

ΘΕΜΑ 1ο
Α. Να γράψετε στο τετράδιό σας καθεμιά από τις παρακάτω προτάσεις ως Σ ή Λ.
1. Η μεταφορά δεδομένων είναι μία από τις λειτουργίες που εκτελεί ο υπολογιστής.
2. Ένα τμήμα αλγορίθμου που εκτελείται επαναληπτικά αποκαλείται βρόχος.
3. Όταν ένα υποπρόγραμμα καλείται από το κύριο πρόγραμμα, η διεύθυνση επιστροφής αποθηκεύεται από το μεταφραστή σε μια ουρά.
4. Οι τύποι των μεταβλητών που υποστηρίζει η ΓΛΩΣΣΑ είναι μόνο ΠΡΑΓΜΑΤΙΚΕΣ και ΑΚΕΡΑΙΕΣ.
5. Οι εντολές που βρίσκονται σε μια επανάληψη ΟΣΟ, εκτελούνται τουλάχιστον μία φορά.
Μονάδες 10
Β. Δίνεται το παρακάτω τμήμα αλγορίθμου:
Ι <-- 1
Όσο Ι < 10 επανάλαβε
Εμφάνισε Ι
Ι <-- Ι + 3
Τέλος_επανάληψης
1. Να σχεδιάσετε το ισοδύναμο διάγραμμα ροής.                                                Μονάδες 4
2. Να ξαναγράψετε το παραπάνω τμήμα αλγορίθμου χρησιμοποιώντας την εντολή ΓΙΑ αντί της εντολής ΟΣΟ.                                                                            Μονάδες 5
Γ. 1. Να αναφέρετε ονομαστικά τις κατηγορίες στις οποίες διακρίνονται τα προβλήματα, με κριτήριο το είδος της επίλυσης που επιζητούν αυτά.                                      Μονάδες 3
2. Να αναφέρετε δύο βασικές λειτουργίες επί των δομών δεδομένων που δεν μπορούν να χρησιμοποιηθούν στους πίνακες. Να αιτιολογήσετε την απάντησή σας.    Μονάδες 4
3. Ποια η διαφορά μεταξύ:
α. μεταβλητών και παραμέτρων;                                                              Μονάδες 3
β. τυπικών και πραγματικών παραμέτρων;                                                Μονάδες 3
Δ. Δίνεται η παρακάτω ακολουθία εντολών που στοχεύει στην υλοποίηση ενός αλγορίθμου αναζήτησης κάποιου στοιχείου Χ σε πίνακα Π με Ν στοιχεία:
Αλγόριθμος Αναζήτηση
Δεδομένα //Π,Ν,Χ//
flag ß ψευδής
Ι ß 1
Όσο Ι ≤ Ν και flag=ψευδής επανάλαβε
Αν Π[Ι]=Χ τότε
flag ß αληθής
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα //flag//
Τέλος Αναζήτηση
1. Ποιο αλγοριθμικό κριτήριο δεν ικανοποιεί η παραπάνω ακολουθία εντολών;   Μονάδες 2
Να αιτιολογήσετε την απάντησή σας.                                                                 Μονάδες 3
2. Να διορθώσετε την παραπάνω ακολουθία εντολών έτσι ώστε να υλοποιεί σωστά την αναζήτηση.                                                                              Μονάδες 3
ΘΕΜΑ 2ο
Δίνεται το παρακάτω τμήμα αλγορίθμου με αριθμημένες εντολές για εύκολη αναφορά σε αυτές. Κάθε εντολή περιέχει ένα ή δύο κενά (σημειωμένα με …), που το καθένα αντιστοιχεί σε μία σταθερά ή μία μεταβλητή ή έναν τελεστή. Επίσης δίνεται πίνακας όπου κάθε γραμμή αντιστοιχεί στη διπλανή εντολή του τμήματος αλγορίθμου και κάθε στήλη σε μία θέση μνήμης (μεταβλητή). Η κάθε γραμμή του πίνακα παρουσιάζει το αποτέλεσμα που έχει η εκτέλεση της αντίστοιχης εντολής στη μνήμη: συγκεκριμένα, δείχνει την τιμή της μεταβλητής την οποία επηρεάζει η εντολή.

ΕΝΤΟΛΕΣ




ΜΝΗΜΗ






Α
Β
Γ
Δ
Ε
Ζ
Χ[1]
Χ[2]
Χ[3]
1
Α ß
4








2
Δ ß Α + …



7





3
Αν Α … Δ τότε
     Γ ß Α
Αλλιώς
     Γ ß Δ
Τέλος_αν


7






4
Β ß … - 1

3







5
Ε ß … - …




-1




6
ß Δ + …



6





7
Γ ß Γ… Ε


8






8
Ζ ß … - 1





2



9
Χ[…] ß Γ







8

10
Χ[Ζ…1] ß Δ






6


11
Χ[Ζ…1]ßΧ[Ζ]…1








7

Να γράψετε στο τετράδιό σας τον αριθμό της καθεμιάς εντολής και δίπλα να σημειώσετε τη σταθερά, τη μεταβλητή, ή τον τελεστή που πρέπει να αντικαταστήσει το κάθε κενό της εντολής ώστε να έχει το αποτέλεσμα που δίνεται στον πίνακα, ως εξής:
Α. Για τις εντολές 1 και 2, να σημειώσετε σταθερές τιμές.                                            Μονάδες 2
Β. Για τις εντολές 3,7,10 και 11, να σημειώσετε τελεστές, και για τις υπόλοιπες, να σημειώσετε μεταβλητές.                                                                                  Μονάδες 18
ΘΕΜΑ 3ο
Το κλασικό παιχνίδι «Πέτρα-Ψαλίδι-Χαρτί» παίζεται με δύο παίκτες. Σε κάθε γύρο του παιχνιδιού, ο κάθε παίκτης επιλέγει ένα από τα ΠΕΤΡΑ, ΨΑΛΙΔΙ, ΧΑΡΤΙ, και παρουσιάζει την επιλογή του ταυτόχρονα με τον αντίπαλό του. Η ΠΕΤΡΑ κερδίζει το ΨΑΛΙΔΙ, το ΨΑΛΙΔΙ το ΧΑΡΤΙ και το ΧΑΡΤΙ την ΠΕΤΡΑ. Σε περίπτωση που οι δύο παίκτες έχουν την ίδια επιλογή, ο γύρος λήγει ισόπαλος. Το παιχνίδι προχωράει με συνεχόμενους γύρους μέχρι ένας τουλάχιστον από τους παίκτες να αποχωρήσει. Νικητής αναδεικνύεται ο παίκτης με τις περισσότερες νίκες. Αν οι δύο παίκτες έχουν τον ίδιο αριθμό νικών, το παιχνίδι λήγει ισόπαλο.
Να αναπτύξετε αλγόριθμο ο οποίος διαβάζει τα ονόματα των δύο παικτών και υλοποιεί το παραπάνω παιχνίδι ως εξής:
Α. Για κάθε γύρο του παιχνιδιού:
1. διαβάζει την επιλογή κάθε παίκτη, η οποία μπορεί να είναι μία από τις εξής: ΠΕΤΡΑ, ΨΑΛΙΔΙ, ΧΑΡΤΙ, ΤΕΛΟΣ. (Δεν απαιτείται έλεγχος εγκυρότητας τιμών.)                   Μονάδες 2
2. συγκρίνει τις επιλογές των παικτών και διαπιστώνει το νικητή του γύρου ή την ισοπαλία.
Μονάδες 6
Β. Τερματίζει το παιχνίδι όταν ένας τουλάχιστον από τους δύο παίκτες επιλέξει ΤΕΛΟΣ.
Μονάδες 6
Γ. Εμφανίζει το όνομα του νικητή ή, αν δεν υπάρχει νικητής, το μήνυμα «ΤΟ ΠΑΙΧΝΙΔΙ ΕΛΗΞΕ ΙΣΟΠΑΛΟ».                                                                                       Μονάδες 6


ΘΕΜΑ 4ο
Μια σύγχρονη πτηνοτροφική μονάδα παρακολουθεί την ημερήσια παραγωγή αυγών και καταγράφει τα στοιχεία σε ηλεκτρονικό αρχείο. Να αναπτύξετε αλγόριθμο ο οποίος θα διαχειρίζεται τα στοιχεία της μονάδας στη διάρκεια ενός έτους. Για το σκοπό αυτό:
Α. Να κατασκευάσετε κύριο πρόγραμμα το οποίο:
1. να ζητάει το έτος παρακολούθησης, ελέγχοντας ότι πρόκειται για έτος του 21ου αιώνα (από 2000 μέχρι και 2099). Ο αλγόριθμος να δημιουργεί πίνακα με τον αριθμό των ημερών για καθέναν από τους δώδεκα μήνες του έτους που δόθηκε. Ο αριθμός των ημερών του μήνα θα υπολογίζεται από υποπρόγραμμα το οποίο θα κατασκευάσετε για το σκοπό αυτό. Η λειτουργία του υποπρογράμματος περιγράφεται στο ερώτημα Β.                                            Μονάδες 3
2. να ζητάει την ημερήσια παραγωγή (αριθμό αυγών) για κάθε μέρα του έτους και να καταχωρίζει τις τιμές σε πίνακα δύο διαστάσεων, με μια γραμμή για κάθε μήνα.               Μονάδες 3
3. να εμφανίζει τον τρίτο κατά σειρά από τους μήνες του έτους που έχουν ο καθένας μέσο όρο ημερήσιας παραγωγής μέχρι και δέκα ποσοστιαίες μονάδες πάνω ή κάτω από τον ετήσιο μέσο όρο. Αν δεν βρει τέτοιο μήνα, να εμφανίζει κατάλληλο μήνυμα.                                         Μονάδες 8
Β. Να κατασκευάσετε υποπρόγραμμα το οποίο να δέχεται ως παραμέτρους κάποιο έτος και τον αριθμό κάποιου μήνα (1 έως 12), και να επιστρέφει τον αριθμό των ημερών του συγκεκριμένου μήνα. Όταν το έτος είναι δίσεκτο, ο Φεβρουάριος έχει 29 ημέρες, διαφορετικά έχει 28. Δίσεκτα είναι τα έτη που διαιρούνται με το 4 αλλά όχι με το 100, καθώς και εκείνα που διαιρούνται με το 400. Για τους υπόλοιπους μήνες, πλην του Φεβρουαρίου, ισχύει το εξής: μέχρι και τον Ιούλιο (7ος μήνας) οι μονοί μήνες έχουν 31 ημέρες και οι ζυγοί 30. Για τους μήνες μετά τον Ιούλιο, ισχύει το αντίστροφο.                                                                                                Μονάδες 6 

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου