ΦΡΟΝΤΙΣΤΗΡΙΑΚΟΣ ΟΡΓΑΝΙΣΜΟΣ ΘΕΜΑ Α ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ 01/03/2015 Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; 2. Τι είναι στατική δοµή δεδοµένων; 3. Να αναφερθούν οι βασικές λειτουργίες (πράξεις) επί των δοµών δεδοµένων. Α2. Σημειώστε με Σ (σωστό) ή Λ (λάθος) τις παρακάτω προτάσεις: 1. Η ταξινόμηση των στοιχείων ενός πίνακα πρέπει να γίνεται πάντα πριν από την σειριακή αναζήτηση. 2. Κάθε εντολή πολλαπλής επιλογής μπορεί να αντικατασταθεί από μια σειρά εντολών απλής επιλογής. 3. Μια εντολή επανάληψης που δεν μεταβάλλει την αρχική τιμή της συνθήκης, εκτελείται απεριόριστα. 4. Για να χρησιμοποιήσει ο προγραμματιστής στον αλγόριθμο, πίνακα δεδομένων, δεν χρειάζεται να ξέρει το ακριβές πλήθος των δεδομένων που θα αποθηκευτούν σε αυτόν. 5. Η χρήση πινάκων στους αλγορίθμους απαιτεί πολλές θέσεις μνήμης. 6. Η ταξινόμηση φυσαλίδας είναι ο πιο απλός και ταυτόχρονα ο πιο γρήγορος αλγόριθμος ταξινόμησης. 7. Όταν ένας βρόχος είναι εμφωλευμένος σε άλλο, ο βρόχος που ξεκινάει τελευταίος πρέπει να ολοκληρώνεται πρώτος. 8. Η σειριακή αναζήτηση χρησιμοποιείται αποκλειστικά στους ταξινομημένους πίνακες. 9. Η εντολή επανάληψης ΓΙΑ ΑΠΟ ΜΕΧΡΙ ΜΕ_ΒΗΜΑ μπορεί να χρησιμοποιηθεί, όταν έχουμε άγνωστο αριθμό επαναλήψεων. 10. Σε μία δυναμική δομή δεδομένων τα δεδομένα αποθηκεύονται υποχρεωτικά σε συνεχόμενες θέσεις μνήμης. Μονάδες 10 Α3. «Η χρήση πινάκων είναι ένας βολικός τρόπος για τη διαχείριση πολλών δεδομένων ιδίου τύπου, αλλά συχνά η χρήση τους είναι περιττή και επιζήμια στην ανάπτυξη του προγράμματος. Η απόφαση για την χρήση ή όχι πίνακα είναι κυρίως θέμα εμπειρίας στον προγραμματισμό». Σύμφωνα με τους συγγραφείς του σχολικού βιβλίου πότε πρέπει να χρησιμοποιούνται οι πίνακες; Α4. Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ, Ζ[15] ΠΡΑΓΜΑΤΙΚΕΣ: Ω
Να μετατρέψετε της ενέργειες που δίνονται παρακάτω σε εντολές της «ΓΛΩΣΣΑΣ»: α. Εκχώρησε την τιμή -3 στη μεταβλητή Χ. β. Εκχώρησε την τιμή της μεταβλητής Χ στις πρώτες πέντε θέσεις του πίνακα Ζ. γ. Εμφάνισε της τιμές των δύο πρώτων θέσεων του πίνακα Ζ. δ. Εκχώρησε στη μεταβλητή Ω τον μέσο όρο των τιμών των δύο τελευταίων θέσεων του πίνακα Ζ. ε. Αν 1 Χ 15 εμφάνισε την τιμή της θέσης Χ του πίνακα Ζ. Σημείωση: Οι απαντήσεις σας στα ερωτήματα αυτά θα είναι ανεξάρτητες μεταξύ τους, δηλαδή θα πρόκειται για διαφορετικές εντολές. Α5. Ποιο κριτήριο δεν ικανοποιεί ο παρακάτω αλγόριθμος και γιατί; δ 0 Για Ι από 2 μέχρι 10 με_βήμα 0 δ δ+ι Εμφάνισε δ Α6. Δίνονται οι τιμές των μεταβλητών Α=3, Β=1, Γ=15 και η παρακάτω έκφραση: (ΟΧΙ (Α + Β * 3 > 10)) ΚΑΙ (Γ MOD (A - B) = 1) Nα υπολογίσετε την τιμή της έκφρασης αναλυτικά ως εξής: α. Να αντικαταστήσετε τις μεταβλητές με τις τιμές τους. Μονάδα 1 β. Να εκτελέσετε τις αριθμητικές πράξεις. Μονάδα 1 γ. Να αντικαταστήσετε τις συγκρίσεις με την τιμή ΑΛΗΘΗΣ, αν η σύγκριση είναι αληθής, ή την τιμή ΨΕΥΔΗΣ, αν είναι ψευδής. Μονάδα 1 δ. Να εκτελέσετε τις λογικές πράξεις, ώστε να υπολογίσετε την τελική τιμή της έκφρασης. ΘΕΜΑ Β Β1. Δίνεται ο παρακάτω αλγόριθμος. Διάβασε πλ Σ 0 Για i από πλ μέχρι 1 με_βήμα -1 Αν i mod 2<>0 τότε Σ Σ+(i MOD 2)^2 Τέλος _επανάληψης Εμφάνισε Σ Αν πλ<>0 τότε ΜΟ Σ/πλ Εμφάνισε ΜΟ
α. Να σχεδιάσετε το αντίστοιχο διάγραμμα ροής. β. Πώς θα εκτελεστεί το παρακάτω τμήμα αλγορίθμου και τι θα εμφανιστεί στην οθόνη, αν ως είσοδος δοθεί η τιμή 3; Β2. Να μετατρέψετε την επαναληπτική δομή Για στο παρακάτω τμήμα αλγορίθμου σε ισοδύναμη κάνοντας χρήση της δομής Μέχρις _ότου. Διάβασε πλ Σ 0 Για i από πλ μέχρι 1 με_βήμα -1 Αν i mod 2<>0 τότε Σ Σ+(i MOD 2)^2 Τέλος _επανάληψης Β3. Έστω ότι θέλουμε να γράψουμε έναν αλγόριθμο ο οποίος θα διαβάζει έναν τυχαίο αριθμό, θα υπολογίζει και θα εκτυπώνει το γινόμενο των 100 πρώτων θετικών ακεραίων καθώς και το αποτέλεσμα της διαίρεσης του γινομένου με τον τυχαίο αριθμό. Κάποιος πρότεινε την ακόλουθη λύση: Αλγόριθμος Παράδειγμα Διάβασε Α Γ 0 Για Ι από 0 μέχρι 99 Γ Γ + I Εμφάνισε Γ Β Γ/Α Εμφάνισε Β Τέλος Παράδειγμα Αφού βρείτε τα λάθη που υπάρχουν να ξαναγράψετε τον αλγόριθμο κάνοντας τις απαραίτητες διορθώσεις. ΘΕΜΑ Γ Να γραφεί αλγόριθμος που να επιτρέπει στον χρήστη να κάνει τα παρακάτω: Γ1. Να εισάγει σε έναν πίνακα τα ονόματα 30 μαθητών, σε αντίστοιχες θέσεις ενός άλλου πίνακα τα επίθετα και σε ένα τρίτο πίνακα οι βαθμοί στο διαγώνισμα Α.Ε.Π.Π. Γ2. Να εμφανίζει στην οθόνη τα ονοματεπώνυμα των μαθητών που είναι αριστούχοι (βαθμό 18 και άνω) Γ3. Να εμφανίζει τους μαθητές που έγραψαν κάτω από την βάση, με αλφαβητική σειρά και το πλήθος τους
Γ4. Να εμφανίζει το ποσοστό των μαθητών που έγραψαν κάτω από την βάση Γ5. Να βρίσκει και να εμφανίζει αυτόν που έγραψε τον μεγαλύτερο βαθμό. Αν είναι πάνω από ένας θα πρέπει να τους εμφανίζει όλους Γ6. Να ζητάει από τον χρήστη το όνομα και το επίθετο ενός μαθητή και να εμφανίζει την βαθμολογία του. Αν ο μαθητής δεν έγραψε τότε να εμφανίζει το κατάλληλο μήνυμα. Θεωρήστε ότι για να υπάρχει ο μαθητής πρέπει να ταιριάζουν και το όνομα και το επίθετο και ότι δεν υπάρχει συνωνυμία μαθητών στο επίθετό τους. Μονάδες 6 Παρατήρηση: θεωρήστε ότι το πρόγραμμα πρέπει να ελέγχει για την ορθότητα εισαγωγής των βαθμών στην κλίμακα 1-20. ΘΕΜΑ Δ Η υπηρεσία τουριστικής ανάπτυξης θέλει να κάνει μια στατιστική έρευνα στα Επτάνησα για τον αριθμό κλινών που ενοικιάστηκαν τους μήνες Ιούνιο, Ιούλιο και Αύγουστο το τελευταίο καλοκαίρι στα ξενοδοχεία. Κάποια από αυτά εξαιτίας της οικονομικής κρίσης είχαν πτώση σε σχέση με το προηγούμενο καλοκαίρι. Να γραφεί αλγόριθμος που: Δ1. Να διαβάζει και να καταχωρεί τα ονόματα των νησιών σε ένα πίνακα ΟΝ[7], τoν αριθμό κλινών ξενοδοχείων που ενοικιάστηκαν για κάθε έναν από τους παραπάνω μήνες σε κάθε νησί σε ένα δισδιάστατο ΚΛ[7,3] και σε ένα μονοδιάστατο Σ[7] το σύνολο των κλινών που ενοικιάστηκαν το προηγούμενο καλοκαίρι σε κάθε νησί. Δ2. Να υπολογίζει και να εμφανίζει το σύνολο των κλινών των Επτανήσων που ενοικιάστηκαν το τελευταίο καλοκαίρι ανά νησί. Δ3. Με βάση το σύνολο κλινών που ενοικιάστηκαν το τελευταίο καλοκαίρι ανά νησί, να υπολογίζει και να εμφανίζει το νησί ή τα νησιά με τις περισσότερες ενοικιάσεις. Δ4. Να εμφανίζει το νησί ή τα νησιά που είχαν την μεγαλύτερη πτώση σε ενοικιάσεις κλινών το τελευταίο καλοκαίρι σε σχέση με το προηγούμενο καλοκαίρι. Δ5. Για κάθε νησί να εμφανίζεται το όνομα του μήνα με τις περισσότερες ενοικιάσεις κλινών το τελευταίο καλοκαίρι. Σημείωση: Υποθέτουμε ότι για κάθε νησί, ο αριθμός κλινών που νοικιάστηκαν το τελευταίο καλοκαίρι είναι διαφορετικός για κάθε μήνα.
ΘΕΜΑ Α ΦΡΟΝΤΙΣΤΗΡΙΑΚΟΣ ΟΡΓΑΝΙΣΜΟΣ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ 08/03/2015 Α1. Να αναφέρετε τέσσερις τυπικές επεξεργασίες που γίνονται στα στοιχεία των πινάκων. Α2. α) Να αναφέρετε τους αριθμητικούς τύπους δεδομένων της «ΓΛΩΣΣΑΣ». β) Τι είναι σταθερά και τι είναι μεταβλητή; γ) Να δώσετε από ένα παράδειγμα δήλωσης σταθεράς και δήλωσης μεταβλητής στη «ΓΛΩΣΣΑ». Α3. Δίνεται η παρακάτω ακολουθία αριθμών: 25, 8, 12, 14, 71, 41, 1. Τοποθετούμε τους αριθμούς σε στοίβα και σε ουρά. 1. Ποια λειτουργία θα χρησιμοποιηθεί για την τοποθέτηση των αριθμών στη στοίβα και ποια για την τοποθέτησή τους στην ουρά; 2. Να σχεδιάσετε τις δύο δομές (στοίβα και ουρά) μετά την τοποθέτηση των αριθμών. 3. Ποια λειτουργία θα χρησιμοποιηθεί για την έξοδο αριθμών από τη στοίβα και ποια για την έξοδό τους από την ουρά; 4. Πόσες φορές θα πρέπει να γίνει η παραπάνω λειτουργία στη στοίβα και πόσες στην ουρά για να εξέλθει ο αριθμός 71; Α4. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασµένη. 1. Η ουρά και η στοίβα μπορούν να υλοποιηθούν µε δοµή πίνακα. 2. Η εξαγωγή (dequeue) στοιχείου γίνεται από το εµπρός άκρο της ουράς. 3. Η απώθηση (pop) στοιχείου γίνεται από το κάτω άκρο της στοίβας. 4. Κατά τη διαδικασία της ώθησης πρέπει να ελέγχεται αν η στοίβα είναι γεµάτη. 5. Η ώθηση (push) στοιχείου είναι µία από τις λειτουργίες της ουράς. Μονάδες 10 Α5. ίνεται μονοδιάστατος μη ταξινομημένος πίνακας Τ με Ν διαφορετικά στοιχεία. Να
γράψετε τον αλγόριθμο σειριακής αναζήτησης της τιμής μιας μεταβλητής key στο πίνακα Τ. Α6. ίνεται το παρακάτω τμήμα αλγορίθμου. Για x από 1 μέχρι Κ Εμφάνισε x Να μετατραπεί σε ισοδύναμο τμήμα αλγορίθμου χρησιμοποιώντας την εντολή Αρχή_Επανάληψης Μέχρις_ Ότου. ΘΕΜΑ Β Β1. ίνεται το παρακάτω τµήµα αλγορίθµου: Χ 50 ΟΣΟ Χ > 0 ΕΠΑΝΑΛΑΒΕ ΓΙΑ Υ ΑΠΟ 2 ΜΕΧΡΙ 6 ΜΕ_ΒΗΜΑ 2 Χ Χ 10 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 1. Να γραφεί το αντίστοιχο διάγραμμα ροής. 2. Να μετατρέψετε τη δομή επανάληψης «για» σε δομή επανάληψης «όσο» 3. Ποιες είναι οι διαδοχικές τιµές των µεταβλητών Χ και Υ σε όλες τις επαναλήψεις; Β2. Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Ν, Μ και Β, όπως αυτές τυπώνονται σε κάθε επανάληψη, και την τιμή της μεταβλητής Χ που τυπώνεται μετά το τέλος της επανάληψης, κατά την εκτέλεση του παρακάτω αλγόριθμου. Αλγόριθμος Αριθμοί Α 1 Β 1 Ν 0 Μ 2 Όσο Β < 6 επανάλαβε Χ Α + Β Αν Χ MOD 2 = 0 τότε Ν Ν + 1 αλλιώς Μ Μ + 1 Α Β Β Χ
Εμφάνισε Ν, Μ, Β Εμφάνισε Χ Τέλος Αριθμοί Β3. Να εκτελέσετε το παρακάτω τμήμα αλγορίθμου, για Κ = 24 και L = 40. Να γράψετε στο τετράδιό τις τιμές των μεταβλητών Χ, Υ καθώς αυτές τυπώνονται με την εντολή Εμφάνισε Χ, Υ (τόσο μέσα στη δομή επανάληψης όσο και στο τέλος του αλγορίθμου). Χ Κ Y L Αν Χ < Υ τότε ΤΕΜΡ Χ Χ Υ Υ ΤΕΜΡ Όσο Υ<>0 επανάλαβε ΤΕΜΡ Υ Υ Χ ΜOD Y Χ TEMP Εμφάνισε Χ, Υ Υ (Κ * L) DIV X Εμφάνισε Χ, Υ ΘΕΜΑ Γ Σ' ένα διαγωνισμό συµµετέχουν 5000 διαγωνιζόμενοι και εξετάζονται σε δύο µαθήµατα. Να γράψετε αλγόριθμο που Γ1. Να διαβάζει και να καταχωρίζει σε κατάλληλους πίνακες για κάθε διαγωνιζόμενο τον αριθμό μητρώου, το ονοµατεπώνυµο και τους βαθμούς που πήρε στα δύο µαθήµατα. Οι αριθμοί μητρώου θεωρούνται μοναδικοί. Η βαθμολογική κλίμακα είναι από 0 έως και 100. Γ2. Να εμφανίζει κατάσταση επιτυχόντων µε την εξής μορφή: Αριθ. Μητρώου Ονοµατεπώνυµο Μέσος Όρος Επιτυχών θεωρείται ότι είναι αυτός που έχει μέσο όρο βαθμολογίας μεγαλύτερο ή ίσο του 60. Γ3. Να διαβάζει έναν αριθμό μητρώου και α. Σε περίπτωση που ο αριθμός μητρώου είναι καταχωρημένος στον πίνακα, να εμφανίζεται ο αριθμός μητρώου, το ονοµατεπώνυµο, ο μέσος όρος βαθμολογίας και η ένδειξη «ΕΠΙΤΥΧΩΝ» ή «ΑΠΟΤΥΧΩΝ», ανάλογα µε τον μέσο όρο. β. Σε περίπτωση που ο αριθμός μητρώου δεν είναι καταχωρημένος στον πίνακα, να εμφανίζεται το µήνυµα «Ο αριθμός μητρώου δεν αντιστοιχεί σε διαγωνιζόμενο». Σημείωση: Απαιτείται έλεγχος εγκυρότητας καταχώρισης δεδομένων. ΘΕΜΑ Δ Μονάδες10
Κατά τη διάρκεια μιας μελέτης για τις ελληνικές τουριστικές επιχειρήσεις κατεγράφησαν, για 3 συγκεκριμένες κατηγορίες, οι εισπράξεις (σε ευρώ) που πραγματοποιήθηκαν από 1000 ξενοδοχεία, σε διάφορες περιοχές της χώρας, για κάθε ένα μήνα του έτους 2009. Να γραφεί αλγόριθμος ο οποίος: Δ1. Καταχωρεί στον πίνακα δύο διαστάσεων ΕΠΩΝ_ΚΑΤ την επωνυμία και την κατηγορία κάθε ξενοδοχείου ως εξής: στην πρώτη στήλη του πίνακα καταχωρείται η επωνυμία. Ο πρώτος χαρακτήρας κάθε επωνυμίας δεν πρέπει να ξεκινά από γράμμα μικρότερο από Ε αλλά ούτε και από γράμμα μεγαλύτερο από Ζ. στην δεύτερη στήλη του πίνακα καταχωρείται η κατηγορία. Κάθε κατηγορία πρέπει να είναι μία από τις ακόλουθες: Β, Γ, Δ. Δ2. Καταχωρεί στον πίνακα δύο διαστάσεων ΕΙΣ την μηνιαία είσπραξη που πραγματοποίησε κάθε ξενοδοχείο. Κάθε είσπραξη δεν πρέπει να υπολείπεται των 15.000 ευρώ αλλά ούτε και να ξεπερνά τα 150.000 ευρώ. Δ3. Υπολογίζει και καταχωρεί στο μονοδιάστατο πίνακα ΜΕ το μέσο όρο ετήσιας είσπραξης κάθε ξενοδοχείου. Δ4. Βρίσκει και τυπώνει το πλήθος των ξενοδοχείων της κατηγορίας Β τα οποία είχαν μέση ετήσια είσπραξη άνω των 80.000 ευρώ. Δ5. Σε περίπτωση όπου τα ξενοδοχεία που βρέθηκαν στο προηγούμενο ερώτημα είναι τουλάχιστον 10, αναζητά και τυπώνει την επωνυμία και την αντίστοιχη μέση ετήσια είσπραξη των ξενοδοχείων αυτών. Η αναζήτηση πρέπει να σταματά μόλις ολοκληρωθεί η τύπωση των ανωτέρω στοιχείων και του τελευταίου ξενοδοχείου του προηγούμενου ερωτήματος. Μονάδες 7 Παρατηρήσεις: 1. Θεωρήστε ότι όλες οι επωνυμίες που δίνονται είναι γραμμένες με κεφαλαία γράμματα της ελληνικής αλφαβήτου.