Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf ·...

90
Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12 Ύλη 1. Ανάλυση προβλήματος 1.1 Η έννοια πρόβλημα. 1.2 Κατανόηση προβλήματος. 1.3 Δομή προβλήματος. 1.4 Καθορισμός απαιτήσεων. 1.5 Κατηγορίες προβλημάτων. 1.6 Πρόβλημα και υπολογιστής. 2. Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος. 2.3 Περιγραφή και αναπαράσταση αλγορίθμων. 2.4 Βασικές συνιστώσες/ εντολές ενός αλγορίθμου. 2.4.1 Δομή ακολουθίας. 2.4.2 Δομή Επιλογής. 2.4.3 Διαδικασίες πολλαπλών επιλογών. (αφαιρείται η τελευταία πρόταση της σελ.36 "Αν οι διαφορετικές επιλογές...στο παράδειγμα που ακολουθεί", που αναφέρεται στην πολλαπλή επιλογή, καθώς και το Παράδειγμα 5. Επιλογή ορίων, σελ.37) 2.4.4 Εμφωλευμένες Διαδικασίες. 2.4.5 Δομή Επανάληψης. 3. Δομές Δεδομένων και Αλγόριθμοι 3.1 Δεδομένα 3.2 Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα 3.3 Πίνακες 3.4 Στοίβα 3.5 Ουρά 3.6 Αναζήτηση 3.7 Ταξινόμηση 6. Εισαγωγή στον προγραμματισμό 6.1 Η έννοια του προγράμματος. 6.2 Ιστορική αναδρομή. 6.2.1 Γλώσσες μηχανής. 6.2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου. 6.2.3 Γλώσσες υψηλού επιπέδου. 6.2.4 Γλώσσες 4ης γενιάς. 6.3 Φυσικές και τεχνητές γλώσσες. 6.4 Τεχνικές σχεδίασης προγραμμάτων. 6.4.1 Ιεραρχική σχεδίαση προγράμματος. 6.4.2 Τμηματικός προγραμματισμός. 6.4.3 Δομημένος προγραμματισμός. 6.7 Προγραμματιστικά περιβάλλοντα. 7. Βασικά στοιχεία προγραμματισμού. 7.1 Το αλφάβητο της ΓΛΩΣΣΑΣ. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.8 Εντολή εκχώρησης. 7.9 Εντολές εισόδου-εξόδου. 7.10 Δομή προγράμματος. 8. Επιλογή και επανάληψη 8.1 Εντολές Επιλογής 8.1.1 Εντολή ΑΝ 8.2 Εντολές επανάληψης 8.2.1 Εντολή ΟΣΟ...ΕΠΑΝΑΛΑΒΕ 8.2.2 Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ 8.2.3 Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ 9. Πίνακες 9.1 Μονοδιάστατοι πίνακες. 9.2 Πότε πρέπει να χρησιμοποιούνται πίνακες. 9.3 Πολυδιάστατοι πίνακες. 9.4 Τυπικές επεξεργασίες πινάκων. 10. Υποπρογράμματα 10.1 Τμηματικός προγραμματισμός. 10.2 Χαρακτηριστικά των υποπρογραμμάτων. 10.3 Πλεονεκτήματα του τμηματικού προγραμματισμού. 10.4 Παράμετροι. 10.5 Διαδικασίες και συναρτήσεις. 10.5.1 Ορισμός και κλήση συναρτήσεων. 10.5.2 Ορισμός και κλήση διαδικασιών. 10.5.3 Πραγματικές και τυπικές παράμετροι. Οι ενότητες 3.4 και 3.5 εξετάζονται μόνο ως θεωρία. ( Σημείωση Οι μαθητές θα μπορούν να διατυπώνουν τις λύσεις των ασκήσεων των εξετάσεων είτε σε οποιαδήποτε μορφή παράστασης αλγορίθμου είτε σε «ΓΛΩΣΣΑ», όπως αυτή ορίζεται και χρησιμοποιείται στο διδακτικό εγχειρίδιο. Συμπληρωματικές Ασκήσεις μαθήματος Μεθοδολογία Αντιμετώπισης Ασκήσεων Λυμένα Παραδείγματα Άλυτες Ασκήσεις Σχολείο: Πειραματικό Γενικό Λύκειο Ρεθύμνου

Transcript of Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf ·...

Page 1: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

Ύλη

1. Ανάλυση προβλήματος 1.1 Η έννοια πρόβλημα. 1.2 Κατανόηση προβλήματος. 1.3 Δομή προβλήματος. 1.4 Καθορισμός απαιτήσεων. 1.5 Κατηγορίες προβλημάτων. 1.6 Πρόβλημα και υπολογιστής. 2. Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος. 2.3 Περιγραφή και αναπαράσταση αλγορίθμων. 2.4 Βασικές συνιστώσες/ εντολές ενός αλγορίθμου. 2.4.1 Δομή ακολουθίας. 2.4.2 Δομή Επιλογής. 2.4.3 Διαδικασίες πολλαπλών επιλογών. (αφαιρείται η τελευταία πρόταση της σελ.36 "Αν οι διαφορετικές επιλογές...στο παράδειγμα που ακολουθεί", που αναφέρεται στην πολλαπλή επιλογή, καθώς και το Παράδειγμα 5. Επιλογή ορίων, σελ.37) 2.4.4 Εμφωλευμένες Διαδικασίες. 2.4.5 Δομή Επανάληψης. 3. Δομές Δεδομένων και Αλγόριθμοι 3.1 Δεδομένα 3.2 Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα 3.3 Πίνακες 3.4 Στοίβα 3.5 Ουρά 3.6 Αναζήτηση 3.7 Ταξινόμηση 6. Εισαγωγή στον προγραμματισμό 6.1 Η έννοια του προγράμματος. 6.2 Ιστορική αναδρομή. 6.2.1 Γλώσσες μηχανής. 6.2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου. 6.2.3 Γλώσσες υψηλού επιπέδου. 6.2.4 Γλώσσες 4ης γενιάς. 6.3 Φυσικές και τεχνητές γλώσσες. 6.4 Τεχνικές σχεδίασης προγραμμάτων. 6.4.1 Ιεραρχική σχεδίαση προγράμματος. 6.4.2 Τμηματικός προγραμματισμός. 6.4.3 Δομημένος προγραμματισμός. 6.7 Προγραμματιστικά περιβάλλοντα.

7. Βασικά στοιχεία προγραμματισμού. 7.1 Το αλφάβητο της ΓΛΩΣΣΑΣ. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.8 Εντολή εκχώρησης. 7.9 Εντολές εισόδου-εξόδου. 7.10 Δομή προγράμματος. 8. Επιλογή και επανάληψη 8.1 Εντολές Επιλογής 8.1.1 Εντολή ΑΝ 8.2 Εντολές επανάληψης 8.2.1 Εντολή ΟΣΟ...ΕΠΑΝΑΛΑΒΕ 8.2.2 Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ 8.2.3 Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ 9. Πίνακες 9.1 Μονοδιάστατοι πίνακες. 9.2 Πότε πρέπει να χρησιμοποιούνται πίνακες. 9.3 Πολυδιάστατοι πίνακες. 9.4 Τυπικές επεξεργασίες πινάκων. 10. Υποπρογράμματα 10.1 Τμηματικός προγραμματισμός. 10.2 Χαρακτηριστικά των υποπρογραμμάτων. 10.3 Πλεονεκτήματα του τμηματικού προγραμματισμού. 10.4 Παράμετροι. 10.5 Διαδικασίες και συναρτήσεις. 10.5.1 Ορισμός και κλήση συναρτήσεων. 10.5.2 Ορισμός και κλήση διαδικασιών. 10.5.3 Πραγματικές και τυπικές παράμετροι. Οι ενότητες 3.4 και 3.5 εξετάζονται μόνο ως θεωρία. ( Σημείωση Οι μαθητές θα μπορούν να διατυπώνουν τις λύσεις των ασκήσεων των εξετάσεων είτε σε οποιαδήποτε μορφή παράστασης αλγορίθμου είτε σε «ΓΛΩΣΣΑ», όπως αυτή ορίζεται και χρησιμοποιείται στο διδακτικό εγχειρίδιο.

Συμπληρωματικές Ασκήσεις μαθήματος

Μεθοδολογία Αντιμετώπισης Ασκήσεων Λυμένα Παραδείγματα

Άλυτες Ασκήσεις

Σχολείο: Πειραματικό Γενικό Λύκειο Ρεθύμνου

Page 2: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

1 / 90

2ο & 7ο Κεφάλαιο. Αλγόριθμοι. Προγράμματα. Δομή Ακολουθίας Μεθοδολογία: Αντιμετώπιση Ασκήσεων. Συγγραφή Αλγορίθμων

1. Διαβάζω προσεκτικά όλη την άσκηση, τουλάχιστον δύο φορές. 2. Προχωρώ σε καθορισμό απαιτήσεων, δηλαδή

α) καθορίσω ποια είναι τα δεδομένα του προβλήματος. και τα σημειώνω ή τα κυκλώνω 1. Ποια είναι σταθερά από αυτά (π.χ. Κόστος 10 ευρώ, ΦΠΑ 19%, κλπ) 2. Πως ή που θα χρησιμοποιηθεί το καθένα από τα παραπάνω. Σε τι πράξεις εμπλέκονται. 3. Ποια εξαρτιούνται (δίνονται) από τον χρήστη και άρα αποτελούν την είσοδο και άρα διαβάζονται (ή είναι

Δεδομένα // //). Πόσα είναι αυτά. Τι τύπου είναι το καθένα από αυτά. 4. Είναι υποχρεωτικό τα δεδομένα να διαβάζονται με τη σειρά που ζητάει το πρόβλημα και όχι αυθαίρετα,

ιδιαίτερα όταν δεν προηγούνται της ΔΙΑΒΑΣΕ, προτρεπτικές εντολές ΓΡΑΨΕ με ενημερωτικό μήνυμα. β) Εντοπίζω και υπογραμμίζω στην κόλα ή στο πρόχειρο τα ζητούμενα δηλαδή την έξοδο του αλγορίθμου.

1. Σε αυτό το σημείο μπορούμε και να υπογραμμίσουμε τις λέξεις που καθορίζουν τι ενέργεια θέλουμε να γίνει στα ζητούμενα (π.χ. να υπολογιστεί, ή να τυπωθεί ή να εμφανιστεί, κλπ)

2. Είναι καλό, αν όχι Υποχρεωτικό, τα αποτελέσματα να εμφανίζονται με τη σειρά που ζητάει το πρόβλημα και όχι αυθαίρετα.

3. Επιλέγω τι μεταβλητές θα χρησιμοποιήσω για να εκφράσω τα δεδομένα και τα ζητούμενα. Αποφασίζω για το όνομα και τον τύπο τους.

4. Προσδιορίζω τις επεξεργασίες που θα κάνω στα δεδομένα μου. Ίσως το πιο σημαντικό κομμάτι της μεθοδολογίας. Πρέπει να ξέρω εγώ ο ίδιος πως λύνεται ένα πρόβλημα για να καταγράψω τον αλγόριθμο που το λύνει. Ψάχνω λοιπόν μέσα από την εκφώνηση για να εντοπίσω τι επεξεργασίες χρειάζεται να γίνουν. Αν χρειάζεται, χρησιμοποιώ βοηθητικές μεταβλητές για να προσδιορίσω ενδιάμεσα ζητούμενα που θα με βοηθήσουν να βρω το τελικό ζητούμενο. Είναι πολύ σημαντικό στο σημείο αυτό να λύσω ένα στιγμιότυπο του προβλήματος με τυχαίες τιμές μεταβλητών δεδομένων και να υπολογίσω το αποτέλεσμα. Στη συνέχεια με ψυχραιμία προσπαθώ να καταγράψω τα βήματα που ακολούθησα για να το λύσω (είναι σαν να προσπαθείς να εξηγήσεις σε κάποιο φίλο σου, τι πρέπει να κάνει για να λύσει το πρόβλημα). Αν δεν τα καταφέρω με την πρώτη, ξαναλύνω με συγκεκριμένο αριθμητικό παράδειγμα και προσπαθώ να συνειδητοποιήσω ποια βήματα κάνω κάθε φορά.

5. Αφού ξεκαθαρίσω τα βήματα αυτά, τα κωδικοποιώ σε ΓΛΩΣΣΑ ή ψευδογλώσσα. 6. Αν γράφω πρόγραμμα, ολοκληρώνω τη δήλωση μεταβλητών προσέχοντας να μη παραλείψω καμία. 7. Εκτελώ τον αλγόριθμο μερικές φορές για να επαληθεύσω ότι δουλεύει σωστά. Μεθοδολογία: Ποιο είναι το αποτέλεσμα εκτέλεσης μίας ομάδας εντολών Υπάρχει μία ομάδα ασκήσεων στις οποίες δίνεται ένα τμήμα εντολών και ζητείται να βρούμε τι κάνει: Στις περιπτώσεις αυτές δημιουργούμε ένα πίνακα τιμών ως παρακάτω: 1. Συμπληρώνουμε μία πρώτη στήλη με τίτλο Αριθμός Εντολής 2. Εντοπίζουμε τις μεταβλητές που υπάρχουν στις εντολές και δημιουργούμε μία στήλη για την κάθε μία 3. Συμπληρώνουμε μία τελευταία στήλη ως Μονάδα Εξόδου Στη συνέχεια αριθμούμε την ομάδα εντολών που μας έχει δοθεί αν δεν είναι ήδη αριθμημένη. Τέλος εκτελούμε μία - μία την κάθε εντολή και ανάλογα:

Α) Σημειώνουμε στην 1η στήλη τον αριθμό εντολής που εκτελούμε Β) Αν είναι ΓΡΑΨΕ πηγαίνουμε στην τελευταία στήλη και εκτελούμε την εντολή Γ) Αν είναι ΕΚΧΩΡΗΣΕ , υπολογίζουμε την έκφραση στα δεξιά και πηγαίνουμε στη στήλη της μεταβλητής που

παίρνει τιμή τοποθετούμε μέσα το αποτέλεσμα. Αφού τελειώσουμε με όλες τις εντολές, απαντάμε στην ερώτηση που τέθηκε αρχικά. Ορισμένες φορές και αν δεν ζητείται διαφορετικά μπορούμε να κάνουμε ομαδοποίηση εντολών κατά την εκτέλεση. Παράδειγμα 1 Ποιο είναι το αποτέλεσμα των παρακάτω τμημάτων αλγορίθμου 1. x ← 20 2. y ← 3 DIV 4 * 5 + x – 4 3. ΓΡΑΨΕ ‘ Οι δύο αριθμοί είναι :’, x, y 4. x ← x + 20 5. z ← y / 4 / 2 + 2 MOD 4 6. ΓΡΑΨΕ z, y, x

Εντολή x y z Μονάδα Εξόδου 1 20 2 16 3 Οι δύο αριθμοί είναι : 20 16 4 40 5 4 6 4 16 40

Το αποτέλεσμα είναι η εμφάνιση στην μονάδα εξόδου των παρακάτω γραμμών: Οι δύο αριθμοί είναι : 20 16 4 16 40

Page 3: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

2 / 90

Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα) που θα δέχεται από το

πληκτρολόγιο (διαβάζει) τις διαστάσεις (μήκος και πλάτος) ενός ορθογωνίου παραλληλογράμμου και θα εμφανίζει το εμβαδόν του.

ΠΡΟΓΡΑΜΜΑ Εμβαδό ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α, β, Εμβ ΑΡΧΗ ΓΡΑΨΕ ‘Δώσε μήκος και πλάτος του παραλ/μου:’ ΔΙΑΒΑΣΕ α, β Εμβ < α * β ΓΡΑΨΕ ‘Το εμβαδό είναι :’, Εμβ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

2. Γράψτε αλγόριθμο που θα διαβάζει την τιμή ενός προϊόντος. Στη συνέχεια να υπολογίζει και να εκτυπώνει την τελική του τιμή (μαζί με τον ΦΠΑ). Ο ΦΠΑ είναι 19%.

ΠΡΟΓΡΑΜΜΑ Προιον ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: τιμή1, τιμή2 ΑΡΧΗ ΓΡΑΨΕ ‘Δώσε τιμή:’ ΔΙΑΒΑΣΕ τιμή1 τιμή2 < τιμή1+τιμή1*0.19 ΓΡΑΨΕ ‘Η τιμή με το ΦΠΑ είναι :’, τιμή2 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

3. Να γραφεί αλγόριθμος που να δέχεται έναν αριθμό και να εμφανίζει το αποτέλεσμα της διαίρεσης του αριθμού αυτού με το τελευταίο ψηφίο του (το ψηφίο των μονάδων). Θεωρήσετε ότι το ψηφίο αυτό δεν είναι μηδέν.

ΠΡΟΓΡΑΜΜΑ Διαίρεση ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x , last ΠΡΑΓΜΑΤΙΚΕΣ: y ΑΡΧΗ ΔΙΑΒΑΣΕ x last < x MOD 10 y < x / last ΓΡΑΨΕ y ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

4. Γράψτε αλγόριθμο που α) θα διαβάζει τιμές για δύο μεταβλητές α, b β) θα ανταλλάσσει τα περιεχόμενα τους και γ) θα τα εμφανίζει. ΠΡΟΓΡΑΜΜΑ Αντιμετάθεση ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α, β, γ ΑΡΧΗ ΔΙΑΒΑΣΕ α,β γ < α α < β β < γ ΓΡΑΨΕ α, β ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

5. Να γίνει πρόγραμμα που να ζητάει έναν ακέραιο αριθμό δευτερολέπτων και να εμφανίζει σε πόσες μέρες, ώρες, λεπτά και δευτερόλεπτα αντιστοιχεί. Για παράδειγμα αν δοθεί χρόνος 4000 δευτερολέπτων ο αλγόριθμος πρέπει να απαντήσει: Ο χρόνος των 4000 δευτερολέπτων αντιστοιχεί σε 0 ημέρες, 1 ώρες, 6 λεπτά και 40 δευτερόλεπτα.

ΠΡΟΓΡΑΜΜΑ μετατροπή ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: t,s,m,h,d,tm,th ΑΡΧΗ ! Εισαγωγή δεδομένων ΓΡΑΨΕ 'Δώσε τη χρονική διάρκεια σε δευτερόλεπτα:' ΔΙΑΒΑΣΕ t ! Υπολογισμοί

s < t MOD 60 tm < t DIV 60 m < tm MOD 60 th < tm DIV 60 h < th MOD 24 d < th DIV 24

d t DIV (24*3600) s t MOD 60 h (t MOD (24*3600)) DIV 3600 m ((t MOD (24*3600)) MOD

3600) DIV 60

! Εμφάνιση αποτελέσματος ΓΡΑΨΕ 'Ο χρόνος των ', t , ' δευτερολέπτων αντιστοιχεί σε ',

d , ' ημέρες ' , h, ' ώρες ’, m , & ' λεπτά και ', s , ' δευτερόλεπτα' ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

6. Να γίνει πρόγραμμα στο οποίο να δίνεται το μέτρο σε Νt μίας δύναμης και η γωνία σε ακτίνια που σχηματίζει το διάνυσμα της δύναμης με τον x’x και να υπολογίζει τις δύο συνιστώσες της.

ΠΡΟΓΡΑΜΜΑ διανύσματα ΣΤΑΘΕΡΕΣ π = 3.14 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: θ, φ, f, fx, fy ΑΡΧΗ ! Εισαγωγή δεδομένων ΓΡΑΨΕ 'Δώσε τo μέτρο σε Nt και τη γωνία του διανύσματος

σε ακτίνια:’ ΔΙΑΒΑΣΕ f, φ ! Υπολογισμοί θ < (180/π) * φ fx < f * ΣΥΝ(θ) fy < f * ΗΜ(θ) ! Εμφάνιση αποτελέσματος ΓΡΑΨΕ 'Fx = ', fx, ' , Fy= ' , fy ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Εναλλακτικά οι αλγόριθμοι μπορούν να παρουσιαστούν σε ψευδογλώσσα. Π.χ. για τα δύο πρώτα προβλήματα οι λύσεις είναι:

ΑΛΓΟΡΙΘΜΟΣ Εμβαδό ΔΙΑΒΑΣΕ α, β Εμβ α * β ΕΜΦΑΝΙΣΕ Εμβ ΤΕΛΟΣ Εμβαδό

ΑΛΓΟΡΙΘΜΟΣ Προιον ΔΙΑΒΑΣΕ τιμή1 τιμή2 τιμή1+τιμή1*0.19 ΓΡΑΨΕ τιμή2 ΤΕΛΟΣ Προιον

10 20 -

α β γ

10 20 10

20 20 10

20 10 10

Page 4: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

3 / 90

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ ΕΞΑΣΚΗΣΗΣ - (ΘΕΩΡΗΤΙΚΕΣ ΑΣΚΗΣΕΙΣ) Α. Εξάσκηση με Βασικές εντολές – απλές πράξεις και μεταβλητές 1. Ποια από τα παρακάτω ονόματα δεν είναι αποδεκτά για ονόματα μεταβλητών σε ένα πρόγραμμα;

1. χ1 2. x_2 3. Μέσος-Όρος 4. Μεγιστος 5. Βαθμός Πρόσβασης

6. 2Χ5 7. Ακέραιες 8. Καλημέρα 9. ΚΚΚ 10. Γεώργιος

2. Τι τύπου μεταβλητή θα χρησιμοποιούσατε για τα παρακάτω έννοιες;

1. Βαθμός μαθητή 2. Όνομα μαθητή 3. Αριθμός επιβατών σε πλοίο 4. Πλήθος πανελλήνια εξεταζομένων μαθημάτων 5. Ποσοστό επιτυχίας ενός σχολείου

6. Πανεπιστήμιο αποφοίτησης 7. Προβιβασμός ή απόρριψη 8. Σκορ σε αγώνες πρωταθλήματος ποδοσφαίρου 9. Γκολ που επιτεύχθηκαν σε ένα αγώνα 10. Ετήσιος Μέσος όρος πόντων ομάδας Μπάσκετ

3. Να συμπληρωθούν οι παρακάτω στήλες:

Άνθρωπος Η/Υ (Κωδικοποίηση)

65+

βa - ... 5*α/β+6-α*2/10*γ

α^4+1/(β-6)*2-Α_Τ(ΗΜ(φ+2/π)^2)

(β+3)^(2*χ^2^3+1)

4+α/(γ+ε)*α^(5/2+1)

ab2

)2(2

42

φπηµ ++−+

−a

acbb

bana

bnPV ba

−++

−)2(

)(

4. Ποιες από τις παρακάτω εντολές είναι συντακτικά σωστές.

x+2 10 υ υ + α / τ ι (ι + 2) ι1 ι – 3 α 34+*5/2-/6 τακης ‘Νίκος’ γ 5 + ’Καλημέρα’ α2 [(8+5)/2]*5

ΔΙΑΒΑΣΕ α ΔΙΑΒΑΣΕ α1, α2, α3, α4, β5, β6 ΔΙΑΒΑΣΕ χ1, χ2, ΔΙΑΒΑΣΕ α+β, γ ΔΙΑΒΑΣΕ ‘ακτίνα ρ=’, ρ ΔΙΑΒΑΣΕ εμβαδό, ύψος ΔΙΑΒΑΣΕ ‘ύψος’, ‘μήκος’ ΔΙΑΒΑΣΕ όνομα, μέσο_όρο

5. Ποιο είναι το αποτέλεσμα που εμφανίζεται κατά την εκτέλεση των παρακάτω εντολών1:

Εντολή Τι εμφανίζεται στην Μονάδα Εξόδου α 10 Καλα ‘Πολύ άσχημα’ ΓΡΑΨΕ 234 ΓΡΑΨΕ α ΓΡΑΨΕ ‘α’ ΓΡΑΨΕ Καλα ΓΡΑΨΕ 2,34 ΓΡΑΨΕ ‘α=’, α ΓΡΑΨΕ 10*α+1 ΓΡΑΨΕ ΓΡΑΨΕ ‘ο αριθμός α έχει τιμή α=α’ ΓΡΑΨΕ 5/2, 4/2, 3, 5.6, ‘5/2’

Β. Εξάσκηση στην ακολουθιακή δομή. Ροή εντολών. 1 Θεωρήσετε ότι οι εντολές πραγματοποιούνται η μία μετά την άλλη, δηλαδή οι μεταβλητές που χρησιμοποιούνται κρατάνε την τιμή που έχουν.

Page 5: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

4 / 90

6. Ποιο είναι το αποτέλεσμα των παρακάτω τμημάτων αλγορίθμου x ← 20 +2*10 / 5 / 4 -1 y ← x ^ 0 – 4 ΓΡΑΨΕ x, y x ← x + 20 z ← x + y / 4 * 2 + 2 MOD 10 - 9 ΓΡΑΨΕ x, z, y

Εντολή x y z Μονάδα Εξόδου

(β) ωραίος ← ’άσχημος’ άσχημος ← ‘όμορφος’ όμορφος ← ωραίος ΓΡΑΨΕ ‘ωραίος’, άσχημος, όμορφος ωραίος ← άσχημος ΓΡΑΨΕ ωραίος, άσχημος, όμορφος

7. Δίνεται το παρακάτω τμήμα προγράμματος στο αριστερό μέρος:

1. ΓΡΑΨΕ ‘Δώσε α,β : ’ 2. ΔΙΑΒΑΣΕ α, β 3. β <- α*β+1 4. ΓΡΑΨΕ ‘α=’, α, β 5. α <- β DIV 10 6. α <- α +1 MOD α +1 7. α <- β DIV 10 8. ΓΡΑΨΕ β, α 9. α <- α-β DIV (α +2) 10. ΓΡΑΨΕ ‘Επιτυχία : ’, α, β

Μνήμη Οθόνη Εντολή α β

1 2

Α) Συμπληρώσετε το πινακάκι παρακολούθησης μνήμης και εξόδου που βρίσκεται πάνω και δεξιά, αν στο προτρεπτικό μήνυμα ο χρήστης πληκτρολογήσει τις τιμές 20, 5 Β) Συμπληρώσετε στον παρακάτω πίνακα, τις σταθερές και τις μεταβλητές που εντοπίσατε καθώς και τον τύπο τους.

Σταθερές Μεταβλητές

8. Εντοπίσετε πιθανά συντακτικά και λογικά λάθη στα παρακάτω τμήματα προγραμμάτων :

A) ΠΡΟΓΡΑΜΜΑ βαθμός ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:α, βαθμός, αποτ ΧΑΡΑΚΤΗΡΕΣ: χ ΑΡΧΗ ΓΡΑΨΕ ‘Δώσε όνομα,γραπτό και προφορικό βαθμό μαθητή’ ΔΙΑΒΑΣΕ α, χ, βαθμός βαθμός 0.7*α + 0,3.βαθμός ΓΡΑΨΕ ‘Ο βαθμός πρόσβασης είναι :, βαθμός ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ βαθμός

B) ΠΡΟΓΡΑΜΜΑ Μέσος Όρος ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ :α2, α1, γιώργος ΑΡΧΗ α1 12 ΔΙΑΒΑΣΕ α2 γιωργος α1 + α2 / 2 ΓΡΑΨΕ ‘Ο μέσος όρος του ‘, α1, και του α2 είναι ‘, γιωργος ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

9. Να χαρακτηρίσετε ποιες από τις παρακάτω εντολές εκχώρησης είναι σωστές ή λάθος και σε περίπτωση λάθους να

αιτιολογήσετε την απάντησή σας:(Εσπ2005-2) 1. W ← 4* 2* x – 3 / 3*x*x*x – 1) – 10 2. W ← 4* (2x – 3) / (3*x*x*x – 1) – 10 3. W ← 4* *2*x – 3) / (3*x*x*x – 1) – 10 4. W ← 4* (2*x – 3) / 3*x*x*x – 1– 10

10. Η έκφραση (A mod B) είναι ισοδύναμη με την παρακάτω έκφραση: (Α) (Α div 2) * B (B) A – (A mod B) * B (Γ) A – (A div B) * B (Δ) Τίποτα από τα παραπάνω

11. Να γραφούν οι εντολές που κάνουν τις παρακάτω ενέργειες Μειώνεται η μεταβλητή α κατά β και γ Αυξάνεται η x κατά 2 Δίνεται η τιμή «Βαγγελιώ» στη μεταβλητή π Δίνεται η τιμή της μεταβλητής π στην μεταβλητή z1 Το x αυξάνει κατά 10% Το x μειώνεται κατά 15,5% Το β είναι το υπόλοιπο της διαίρεσης του 20 με το κ Το x παίρνει την τιμή της απόστασης του α από το β/2.

Page 6: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

5 / 90

Άλυτες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο που θα διαβάζει την θερμοκρασία σε βαθμούς Celsius και θα την υπολογίζει σε βαθμούς Kelvin.(Δίνεται K=

273 + C ) 2. Γράψτε αλγόριθμο που θα διαβάζει το όνομα ενός μαθητή και την βαθμολογία του σε καθένα από τα τέσσερα μαθήματα

κατεύθυνσης. Στη συνέχεια θα εμφανίζει το όνομα του και το μέσο όρο των μαθημάτων. 3. Γράψτε αλγόριθμο που θα διαβάζει δύο αριθμούς και θα υπολογίζει και θα εμφανίζει το αποτέλεσμα των τεσσάρων βασικών

πράξεων μεταξύ τους. (θεωρήσετε ότι οι αριθμοί είναι διαφορετικοί από το μηδέν, ώστε να ορίζεται η πράξη της διαίρεσης) 4. Γράψτε αλγόριθμο που θα διαβάζει την τιμή ενός προϊόντος, το ποσοστό της έκπτωσης και το ποσοστό ΦΠΑ. Τα ποσοστά είναι

πραγματικοί αριθμοί μέχρι 1. Στη συνέχεια θα υπολογίζει και θα εκτυπώνει την τιμή που προκύπτει μετά την έκπτωση και την εφαρμογή του Φ.Π.Α. (ο ΦΠΑ εφαρμόζεται στην τιμή που προκύπτει μετά την έκπτωση)

5. Γράψτε αλγόριθμο που θα διαβάζει ένα ακέραιο αριθμό x και θα εκτυπώνει την τιμή των πολυωνύμων F(x)=3x2+5,2x+8 και φ(x)=(3x+2)2.

6. Γράψτε αλγόριθμο που θα διαβάζει δύο πραγματικούς αριθμούς x, y και να υπολογίζει την παράσταση:24

3

)1(15++

−⋅+

yxyx

7. Σε ένα κατάστημα video club η τιμή ενοικίασης για τις 3 πρώτες μέρες είναι 1,5 ευρώ. Για κάθε μέρα καθυστέρησης η τιμή αυξάνει κατά 1 ευρώ. Γράψτε αλγόριθμο ο οποίος θα διαβάζει τις μέρες καθυστέρησης και θα υπολογίζει το πληρωτέο ποσό. Για παράδειγμα αν οι παραπάνω μέρες είναι 4 το ποσό είναι 5,5 ευρώ.

8. Σε ένα κατάστημα video club η τιμή ενοικίασης για τις 3 πρώτες μέρες είναι 1,5 ευρώ. Για κάθε μέρα καθυστέρησης η τιμή αυξάνει κατά 1 ευρώ. Γράψτε αλγόριθμο ο οποίος θα διαβάζει τις ημέρες ενοικίασης (θεωρήσετε ότι η τιμή για τις μέρες είναι μεγαλύτερη του 2) και θα υπολογίζει το πληρωτέο ποσό. Για παράδειγμα αν οι μέρες είναι 4 το ποσό είναι 2,5 ευρώ.

9. Για τον υπολογισμό του ποσού πληρωμής λογαριασμού του Ο.Τ.Ε. για κατανάλωση από 1/8/2005 μέχρι 31/8/2005 πρέπει να λάβουμε υπό όψιν μας ότι α) Τα βασικά μηνιαία τέλη είναι 15 ευρώ και β) Το κόστος της μίας μονάδας είναι 0,03 ευρώ. Η χρέωση γίνεται βάσει των μονάδων που «έγραψε» ο ψηφιακός μετρητής. Ο Φ.Π.Α. είναι 19% και υπολογίζεται σε όλο το οφειλόμενο ποσό. Γράψτε αλγόριθμο που να διαβάζει τον αριθμό μονάδων για το παραπάνω διάστημα και να εμφανίζει το συνολικό πληρωτέο ποσό.

10. Είναι γνωστό ότι το αλεύρι αυξάνει το βάρος του κατά το ζύμωμα κατά 50%, ενώ το ζυμάρι που προκύπτει χάνει στο ψήσιμο το 20% του βάρους του και γίνεται ψωμί. Να γίνει αλγόριθμος όπου να δίνεται πόσα κιλά αλεύρι διατίθενται και να εμφανίζει πόσα κιλά ψωμί παράγονται.

11. Ένα έργο πραγματοποιήθηκε με τη συμβολή 3 εργατών και κόστισε 1000 ευρώ. Να γίνει αλγόριθμος, όπου θα δίνεται οι ώρες που δούλεψε ο κάθε εργάτης και θα υπολογίζεται και εμφανίζεται η συνολική αποζημίωση του καθενός.

12. Ένας έμπορος πουλάει το εμπόρευμα του. Στα 100 ευρώ τιμή πώλησης έχει κέρδος 25 ευρώ. Να γραφεί αλγόριθμος που να δέχεται την τιμή πώλησης ενός προϊόντος και να υπολογίζει την τιμή αγοράς αυτού.

13. Γράψτε αλγόριθμο ο οποίος θα διαβάζει το μοντέλο ενός αυτοκινήτου και το κόστος του στη Γερμανία και στην Ελλάδα. Στη συνέχεια να υπολογίζει τη ποσοστιαία διαφορά στην τιμή μεταξύ Γερμανίας και Ελλάδας και να εμφανίζει αντίστοιχο μήνυμα με το αποτέλεσμα.

14. Διατυπώσετε αλγόριθμο που να διαβάζει ένα ακέραιο τριψήφιο αριθμό και να υπολογίζει το άθροισμα των ψηφίων του.ξη 15. Διατυπώσετε αλγόριθμο που να διαβάζει ένα ακέραιο τετραψήφιο αριθμό και να υπολογίζει το γινόμενο του με το άθροισμα των

χιλιάδων του και τις μονάδες του. Π.χ. 4325 4325 Χ (4+5). 16. Ρομπότ με σταθερό μήκος βήματος καταφθάνει στον πλανήτη Άρη για να περισυλλέξει πετρώματα. Κάθε βήμα του είναι 80

εκατοστά. Το ρομπότ διαθέτει μετρητή βημάτων. Διένυσε στον Άρη μία ευθεία από σημείο Α σε σημείο Β και ο μετρητής βημάτων καταμέτρησε Ν βήματα. Να γραφεί αλγόριθμος που Α) να διαβάζει τον αριθμό Ν των βημάτων του ρομπότ Β) να υπολογίζει και να εμφανίζει την απόσταση ΑΒ που διανύθηκε σε εκατοστά και Γ) να μετατρέπει και να τυπώνει αυτή την απόσταση σε μορφή χιλιόμετρα, μέτρα, εκατοστά.

17. Να γίνει αλγόριθμος που να διαβάζει το όνομα και την ημερομηνία γέννησης (μέρα, μήνα, έτος) ενός μαθητή και να υπολογίζει την ηλικία του μαθητής. Θεωρήστε ότι κάθε μήνας έχει 30 ημέρες και ότι δεν μεσολαβούν δίσεκτα έτη (άρα το έτος έχει 12x30 = 360 ημέρες). Πρέπει να μετατραπούν η ημερομηνία γέννησης και η σημερινή ημερομηνία σε μέρες, να βρεθεί η διαφορά τους σε μέρες συνολικά και στη συνέχεια να ξαναμετατραπεί σε έτη, μήνες μέρες. Το μήνυμα θα πρέπει να είναι κάπως έτσι: Ο/Η Μαρκέλλα είναι 17 χρονών 6 μηνών και 2 ημερών.

18. Ένας κτηνοτρόφος έχει 10 κότες που έχουν ρυθμό παραγωγής αυγών 25 αυγά/μήνα και 20 κότες με ρυθμό χ αυγά/μήνα. Οι απώλειες αυγών σε ένα μήνα, δηλαδή αυτά που σπάνε είναι 10% ενώ κάθε εβδομάδα 3 αυγά συνολικά εκκολάπτονται και γίνονται κοτοπουλάκια. Να γραφεί αλγόριθμος όπου να δίνεται το ζητούμενο διάστημα (σε αριθμό ημερών) καθώς και ο ρυθμός παραγωγής αυγών χ και να υπολογίζει πόσα αυγά θα έχει στη διάθεσή του ο παραγωγός στο τέλος του διαστήματος αυτού και πόσα κοτοπουλάκια θα έχει.

19. Ένας μαθητής κατεβαίνει στην αγορά με ένα 200ευρώ στη τσέπη για να αγοράσει παντελόνια. Βρίσκει ένα που κοστίζει x ευρώ και έχει έκπτωση 20%. Γράψετε πρόγραμμα που να δέχεται την τιμή x του παντελονιού και να υπολογίζει και να εμφανίζει: 1 Για πόσα παντελόνια φτάνουν τα χρήματα που έχει. 2 Πόσα ρέστα θα πάρει με δεδομένο ότι θα αγοράσει το μέγιστο πλήθος παντελονιών. Τα ρέστα να εμφανίζονται με τη μορφή:

Ρέστα: 17 ευρώ και 43 λεπτά. (Σε περίπτωση που τα ρέστα έχουν περισσότερα από 2 δεκαδικά ψηφία, στρογγυλοποιήσετε προς τα κάτω σε 2 δεκαδικά ώστε να εμφανιστεί σωστά το σχετικό μήνυμα.

3 Το μικρότερο αριθμό χαρτονομισμάτων του ευρώ στον οποίο αναλύονται τα ρέστα 20. Να γραφεί πρόγραμμα που να δέχεται ένα πραγματικό αριθμό και να τον στρογγυλοποιεί στον πλησιέστερο ακέραιο (με χρήση

της συνάρτησης Α_Μ(Χ)) Τετράδιο Μαθητή: Όλα τα παραδείγματα 7ου Κεφαλαίου, Παραδείγματα 1 & 2 2ου Κεφαλαίου Όλες οι ασκήσεις από το 7ο Κεφάλαιο Το Τεστ Αυτοαξιολόγησης 7ου Κεφ

Page 7: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

6 / 90

ΔΟΜΗ ΕΠΙΛΟΓΗΣ Μετατροπές – Απλά – Σύνθετα – Πολλαπλά – Εμφωλευμένα Παραδείγματα

ΔΙΑΒΑΣΕ x ΑΝ x>0 ΤΟΤΕ y< x -100 ΑΛΛΙΩΣ y< x + 5 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ y

ΔΙΑΒΑΣΕ x ΑΝ x>0 ΤΟΤΕ y< x -100 ΤΕΛΟΣ_ΑΝ ΑΝ x<=0 ΤΟΤΕ y< x + 5 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ y

ΑΝ x>0 ΤΟΤΕ ΓΡΑΨΕ x x -x ΑΛΛΙΩΣ y x + 2 x y ^ 2 ΓΡΑΨΕ x, y ΤΕΛΟΣ_ΑΝ

αx x ΑΝ αx > 0 ΤΟΤΕ ΓΡΑΨΕ x x -x ΤΕΛΟΣ_ΑΝ ΑΝ OXI (αx>0) ΤΟΤΕ y x + 2 x y ^ 2 ΓΡΑΨΕ x, y ΤΕΛΟΣ_ΑΝ

ΔΙΑΒΑΣΕ x, y, z ΑΝ y > 0 ΤΟΤΕ κ ← x + y ΓΡΑΨΕ x ΑΝ x MOD 2 = 0 ΤΟΤΕ ΓΡΑΨΕ x, y x ← 2 * x ΑΛΛΙΩΣ x ← x Div 2 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x, y, z ΑΛΛΙΩΣ ΓΡΑΨΕ ζ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x, y, z

ΔΙΑΒΑΣΕ x, y, z ΑΝ (y > 0) ΚΑΙ (x MOD 2 = 0) ΤΟΤΕ κ ← x + y ΓΡΑΨΕ x ΓΡΑΨΕ x, y x ← 2 * x ΓΡΑΨΕ x, y, z ΑΛΛΙΩΣ_ΑΝ (y > 0) ΤΟΤΕ x ← x + y ΓΡΑΨΕ x x ← x DIV 2 ΓΡΑΨΕ x, y, z ΑΛΛΙΩΣ ΓΡΑΨΕ ζ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x, y, z

ΑΝ x>0 ΤΟΤΕ ΓΡΑΨΕ ‘Θετικός’ ΑΛΛΙΩΣ_ΑΝ x=0 ΤΟΤΕ ΓΡΑΨΕ ‘Μηδέν’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Αρνητικός’ ΤΕΛΟΣ_ΑΝ

ΑΝ x>0 ΤΟΤΕ ΓΡΑΨΕ ‘Θετικός’ ΑΛΛΙΩΣ ΑΝ x=0 ΤΟΤΕ ΓΡΑΨΕ ‘Μηδέν’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Αρνητικός’ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ

ΑΝ x>0 ΤΟΤΕ ΓΡΑΨΕ ‘Θετικός’ ΤΕΛΟΣ_ΑΝ ΑΝ x=0 ΤΟΤΕ ΓΡΑΨΕ ‘Μηδέν’ ΤΕΛΟΣ_ΑΝ ΑΝ x<=0 ΤΟΤΕ ΓΡΑΨΕ ‘Αρνητικός’ ΤΕΛΟΣ_ΑΝ

Να συγκεντρωθούν οι διαφοροποιήσεις της κωδικοποίησης σε ΓΛΩΣΣΑ και της κωδικοποίησης σε Ψευδογλώσσα. Αλγόριθμος ΚΩΔΙΚΟΠΟΙΗΜΕΝΟΣ στη γλώσσα προγραμματισμού : ΓΛΩΣΣΑ

Αλγόριθμος ΚΩΔΙΚΟΠΟΙΗΜΕΝΟΣ σε ψευδογλώσσα.

ΠΡΟΓΡΑΜΜΑ Κύκλος ΣΤΑΘΕΡΕΣ π=3.14 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Ακτ, Εμβ, Περ ΑΡΧΗ ΔΙΑΒΑΣΕ Ακτ Περ <- 2*π*Ακτ Εμβ <- π*Ακτ^2 ΓΡΑΨΕ ‘Περίμετρος :’, Περ, ‘. Εμβαδό:’, Εμβ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΑΛΓΟΡΙΘΜΟΣ Κύκλος ΔΙΑΒΑΣΕ Ακτ Περ 2*3.14*Ακτ Εμβ π*Ακτ^2 ΕΜΦΑΝΙΣΕ Περ , Εμβ ΤΕΛΟΣ Κύκλος

Σχόλια – Παρατηρήσεις Πρόγραμμα σε ΓΛΩΣΣΑ Αλγόριθμος σε Ψευδογλώσσα

Page 8: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

7 / 90

Λυμένες Ασκήσεις με Δομή Επιλογής Άσκηση 1 – Εμφωλευμένα ΑΝ Να γίνει πρόγραμμα που να ζητάει 2 πραγματικούς αριθμούς α, β, στη συνέχεια να λύνει την πρωτοβάθμια εξίσωση αx+β=0 και να εμφανίζει τις ρίζες της. ΠΡΟΓΡΑΜΜΑ Επιλυση_Αθμιας ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α,β,x ΑΡΧΗ ΓΡΑΨΕ 'Πληκτρολόγησε τους συντελεστές α,β:' ΔΙΑΒΑΣΕ α,β ΑΝ α<>0 ΤΟΤΕ x < (-β/α) ΓΡΑΨΕ ' x= ', x ΑΛΛΙΩΣ ΑΝ β<>0 ΤΟΤΕ ΓΡΑΨΕ 'Αδύνατη' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Αόριστη’ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ

ΑΝ α<>0 ΤΟΤΕ x < (-β/α) ΓΡΑΨΕ ' x= ', x ΑΛΛΙΩΣ_ΑΝ β<>0 ΤΟΤΕ ΓΡΑΨΕ 'Αδύνατη' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Αόριστη’ ΤΕΛΟΣ_ΑΝ

ΑΝ α<>0 ΤΟΤΕ x < (-β/α) ΓΡΑΨΕ ' x= ', x ΤΕΛΟΣ_ΑΝ ΑΝ α=0 KAI β<>0 ΤΟΤΕ ΓΡΑΨΕ 'Αδύνατη' ΤΕΛΟΣ_ΑΝ ΑΝ α=0 KAI β=0 ΤΟΤΕ ΓΡΑΨΕ 'Αόριστη’ ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Άσκηση 2 – Πολλαπλό Αν Να γίνει πρόγραμμα που να ζητάει 3 πραγματικούς αριθμούς α, β και γ, στη συνέχεια να λύνει τη δευτεροβάθμια εξίσωση αx2+βx+γ=0 και να εμφανίζει τις ρίζες της. ΠΡΟΓΡΑΜΜΑ Επιλυση_Δευτεροβαθμιας ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α,β,γ,Δ,ρ1,ρ2,x,y ΑΡΧΗ ΓΡΑΨΕ 'Πληκτρολόγησε τους συντελεστές Α, Β, Γ της δευτεροβάθμιας εξίσωσης (Α<>0):' ΔΙΑΒΑΣΕ α,β,γ Δ < β^2-4*α*γ ΑΝ Δ>0 ΤΟΤΕ Ρ1 < (-β+Τ_Ρ(Δ))/(2*α) Ρ2 < (-β-Τ_Ρ(Δ))/(2*α) ΓΡΑΨΕ 'Οι Ρίζες είναι: ', ρ1, ρ2 ΑΛΛΙΩΣ_ΑΝ Δ=0 ΤΟΤΕ ρ1 < -β/(2*α) ΓΡΑΨΕ 'Μια Διπλή Ρίζα: ', ρ1 ΑΛΛΙΩΣ x < -β/(2*α) y < Τ_Ρ(Α_Τ(Δ))/(2*α) ΓΡΑΨΕ 'Οι μιγαδικές ρίζες είναι: ' ΓΡΑΨΕ 'Ζ1 με Re (Ζ1)=', x , 'Και Ιm(Ζ1)=', y ΓΡΑΨΕ 'Ζ2 με Re(Z2)=', x , 'Και Ιm(Ζ2)=', (-y) ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Άσκηση 3 - Δεδομένα σε πίνακα – Κλιμακωτός υπολογισμός Μια εταιρεία κινητής τηλεφωνίας ακολουθεί ανά μήνα την πολιτική τιμών που φαίνεται στον παρακάτω πίνακα::

Πάγιο 10 ευρώ Χρόνος τηλεφωνημάτων (δευτερόλεπτα) Χρονοχρέωση (ευρώ / sec) 1-500 0,015 501-800 0,009 801 και άνω 0,005

Να αναπτύξετε αλγόριθμο ο οποίος: α) να διαβάζει τη χρονική διάρκεια των τηλεφωνημάτων ενός συνδρομητή σε διάστημα ενός μήνα β) να υπολογίζει ΚΛΙΜΑΚΩΤΑ τη μηνιαία χρέωση του συνδρομητή γ) να εμφανίζει (τυπώνει) τη λέξη «ΧΡΕΩΣΗ» και τη μηνιαία χρέωση του συνδρομητή ΠΡΟΓΡΑΜΜΑ Πανελλήνιες ΣΤΑΘΕΡΕΣ πάγιο=10 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: χρόνος, ευρώ, λεπτά ΠΡΑΓΜΑΤΙΚΕΣ: χρέωση ΑΡΧΗ

Page 9: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

8 / 90

ΓΡΑΨΕ 'Δώσε το μηνιαίο χρόνο των τηλεφωνημάτων σε δευτερόλεπτα:' ΔΙΑΒΑΣΕ χρόνος ! θεωρώ ότι ο χρόνος είναι θετικός ακέραιος αριθμός ΑΝ χρόνος<=500 ΤΟΤΕ χρέωση < χρόνος*0.015 ΑΛΛΙΩΣ_ΑΝ χρόνος<=800 ΤΟΤΕ χρέωση < 500*0.015 + (χρόνος-500)*0.009 ΑΛΛΙΩΣ χρέωση < 500*0.015 + 300*0.009 + (χρόνος-800)*0.005 ΤΕΛΟΣ_ΑΝ χρέωση < πάγιο + χρέωση ΓΡΑΨΕ 'ΧΡΕΩΣΗ ', χρέωση ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Άσκηση 4 – Μέγιστο / Ελάχιστο αριθμών με χρήση Απλών Αν Να γίνει αλγόριθμος που να ζητάει 3 ακέραιες τιμές. Στη συνέχεια να εμφανίζει τη μεγαλύτερη από αυτές (Ομοίως για μικρότερη). ΑΛΓΟΡΙΘΜΟΣ Εύρεση_μεγίστου ΔΙΑΒΑΣΕ α , β, γ max < α ΑΝ β>max ΤΟΤΕ max < β ΤΕΛΟΣ_ΑΝ ΑΝ γ>ΜΑΧ ΤΟΤΕ max < γ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ 'Ο μεγαλύτερος αριθμός είναι ο: ', max ΤΕΛΟΣ Εύρεση_μεγίστου Άσκηση 5 Ένα parking χρεώνει ως εξής την παραμονή των αυτοκινήτων: οι πρώτες 2 ώρες παραμονής χρεώνονται προς 5€ η κάθε μία, η κάθε επόμενη ώρα μετά τις δύο χρεώνεται προς 3€ η κάθε μία, ενώ αν το αυτοκίνητο έχει ολοκληρώσει 12 ώρες παραμονής στον σταθμό, ΟΛΕΣ οι ώρες θα χρεωθούν προς 2€ η καθεμία. Η χρέωση μιας ώρας γίνεται αν έχουν περάσει 10 λεπτά από την τελευταία ώρα. Για παράδειγμα, για παραμονή 3 ώρες και 4 λεπτά, ο πελάτης χρεώνεται συνολικά 3 ώρες. Αν όμως παραμείνει στο parking 3 ώρες και 12 λεπτά θα χρεωθεί συνολικά 4 ώρες. Να γίνει αλγόριθμος που να διαβάζει τον συνολικό χρόνο παραμονής ενός αυτοκινήτου στο parking σε ΛΕΠΤΑ(ακέραιος αριθμός) και να υπολογίζει πόσες ώρες χρεώνονται καθώς και τη χρέωσή του. ΑΛΓΟΡΙΘΜΟΣ Parking ΔΙΑΒΑΣΕ min Ω < min DIV 60 ΑΝ (min MOD 60)>=10 ΤΟΤΕ Ω < Ω + 1 ΤΕΛΟΣ_ΑΝ ΑΝ Ω<=2 ΤΟΤΕ ΧΡ < Ω*5 ΑΛΛΙΩΣ_ΑΝ Ω<=12 ΤΟΤΕ ΧΡ < 2*5+(Ω-2)*3 ΑΛΛΙΩΣ ΧΡ < Ω*2 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ 'Οι ώρες παραμονής στο parking είναι ',Ω, ' και η συνολική χρέωση είναι ', ΧΡ, ' ευρώ' ΤΕΛΟΣ Parking

Page 10: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

9 / 90

ΑΣΚΗΣΕΙΣ ΕΞΑΣΚΗΣΗΣ - (ΘΕΩΡΗΤΙΚΕΣ ΑΣΚΗΣΕΙΣ) Α. Συγκριτικές και Λογικές Πράξεις 1. Να δοθούν οι τιμές των παρακάτω εκφράσεων3 για x = 2, y = 5 και z = 9.

Συνθήκη Αποτέλεσμα

(2 * x < y) KAI (x + y >= z – 2) (2*2<5) Κ (2+5)>=9-2 4<5 Κ 7>=7 Α Κ Α Αληθής (y ^ 2 <> x * z) H (z MOD 4 > y – x) (z DIV x = y – 1) KAI (y + 2 > z –2) (x ^ 2 MOD y >= z MOD y) H (x * y = z – 1) OXI ((y + z) / 7 <= x)

2. Να συμπληρωθεί ο παρακάτω πίνακας. x y z (x KAI y) KAI z (x KAI y) H z (x H y) KAI z (x H y) H z

Α Α Α Α Α Ψ Α Ψ Α Α Ψ Ψ Ψ Α Α Ψ Α Ψ Ψ Ψ Α Ψ Ψ Ψ

3. Να συμπληρωθεί ο παρακάτω πίνακας. x y ΟΧΙ (x KAI y) x KAI ΟΧΙ y x H (y KAI ΟΧΙ x) (x ΚΑΙ ΟΧΙ y) H (y ΚΑΙ ΟΧΙ x)

Ψ Ψ

Ψ Α

Α Ψ

Α Α

4. Αν α = 5, β = 7 και γ = 10, να χαρακτηρίσετε στο τετράδιό σας τις παρακάτω προτάσεις χρησιμοποιώντας μία από τις λέξεις ΑΛΗΘΗΣ ή ΨΕΥ∆ΗΣ. (Εν2006-1) Πρόταση Α. (όχι (α + 2 ≥ β)) ή β + 3 = γ Πρόταση Β. α + 2 * β < 20 και 2 * α = γ

5. Δίνεται ο παρακάτω πίνακας αλήθειας. Να συμπληρώσετε κατάλληλα τις κενές θέσεις του Πρόταση Α Πρόταση Β όχι Β (Άρνηση) Α και Β (Σύζευξη) Α ή Β (Διάζευξη)

Ψευδής Αληθής Ψευδής Ψευδής

6. Διατυπώσετε τις συνθήκες για τα παρακάτω ζητούμενα. Αντιστοιχήσετε τα δεδομένα στις μεταβλητές στην παρένθεση και στη συνέχεια εκφράσετε τη συνθήκη. 1. Τα παιδιά που πηγαίνουν Γυμνάσιο, δηλαδή έχουν ηλικία (ηλ) από 12 μέχρι και 15 χρόνια 2. Οι παίκτες που έχουν ύψος(h) μικρότερο του 1,70 ή μεγαλύτερο του 2,10 μέτρα 3. Οι παίκτες με ύψος(h) μεταξύ του 1,70 και των 2 μέτρων και οι παίκτες με ύψος(h) 2,10. 4. Οι μαθητές που απορρίφθηκαν δηλαδή έχουν απουσίες(a) περισσότερες του 164 ή έχουν απουσίες από 114 μέχρι

163 και μέσο όρο βαθμολογίας(mo) μικρότερο του 15. 5. Τα παιδιά που η ηλικία(age) τους δεν υπερβαίνει τα 12 χρόνια 6. Ο α είναι μεγαλύτερος του β και του γ 7. Οι αριθμοί α και β είναι ομόσημοι 8. Ο ακέραιος β διαιρείται ακριβώς με το 7 9. Ο ακέραιος β είναι περιττός ή ο ακέραιος α είναι άρτιος 10. Το α είναι πιο κοντά στο 5 από ότι στο 10 11. Η απάντηση(απ) μπορεί να είναι Ναι/Όχι/Ίσως 12. Το όνομα ξεκινάει από το χαρακτήρα Κ

7. Να τροποποιήσετε τις παρακάτω συνθήκες ώστε να δίνουν το ίδιο αποτέλεσμα για οποιαδήποτε τιμή των μεταβλητών α,β,γ, χωρίς να χρησιμοποιήσετε τον τελεστή άρνησης ΟΧΙ α) ΟΧΙ(α>β ΚΑΙ γ=α) β) ΟΧΙ(α=β Η α<γ-β) γ) ΟΧΙ(α<>β ΚΑΙ γ>=β) δ) ΟΧΙ (α<>β) ΚΑΙ ΟΧΙ (α>=π)

8. Να υπολογιστούν οι παρακάτω εκφράσεις και να καταγραφεί η τιμή τους. Κ ‘12900’ > ‘90’ Χ 3 MOD 6 ^ 2 / 2 + 2.5 Υ (12 MOD 4) + (7 DIV 2) ^ 2 + X / 3 + 2 / (X -1) Β ( (Χ > 4) ΚΑΙ ( Y < 10) ) Ή ΌΧΙ ( Κ ) Γ (Β ΚΑΙ Κ) Ή (ΌΧΙ (Β) ΚΑΙ ΌΧΙ Κ) Δ (Β ΚΑΙ ΌΧΙ Κ) Ή (ΌΧΙ (Β) ΚΑΙ Κ)

Β. Εξάσκηση με εντολές στη δομή επιλογής

Page 11: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

10 / 90

9. Ποιες είναι οι τιμές των μεταβλητών x, y, z που θα εμφανιστούν μετά την εκτέλεση των παρακάτω τμημάτων αλγορίθμων (το καθένα ξεχωριστά) (α)

1 x ← 13 MOD 4 2 y ← 2 ^ 2 – x 3 z ← y ^ 2 – 3 * x – y / x 4. ΑΝ x MOD y =0 ΤΟΤΕ 5 x ← x + 1 6 ΓΡΑΨΕ x, z, x 7 ΑΛΛΙΩΣ 8 x ← 2 * x + 2 9 ΤΕΛΟΣ_ΑΝ 10 ΓΡΑΨΕ x, y, z

Εντολή x y z x MOD y =0 Μονάδα Εξόδου

(β) x ← 10 y ← 0 ΓΡΑΨΕ x, y ΑΝ x > 5 ΤΟΤΕ x ← x + 10 y ← x + y ΑΛΛΙΩΣ_ ΑΝ X > 0 TOTE x ← x + 20 y ← x + y +100 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x, y

(γ) x ← 10 y ← 0 ΓΡΑΨΕ x, y ΑΝ x > 5 ΤΟΤΕ x ← x + 10 y ← x + y ΤΕΛΟΣ_ΑΝ ΑΝ X > 0 TOTE x ← x + 20 y ← x + y +100 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x, y

(γ) x ← 10 y ← 0 ΓΡΑΨΕ x, y ΑΝ x > y ΤΟΤΕ x ← x + 10 y ← (x + y)*10 ΓΡΑΨΕ x, y ΤΕΛΟΣ_ΑΝ ΑΝ x < y TOTE x ← x + 20 y ← x + y +10 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x, y

(ε) x ← 2 y ← 8 DIV x z ← y – x MOD 3 + 1 ΑΝ y >= z ΤΟΤΕ ΑΝ x > z ΤΟΤΕ x ← x + 1 ΑΛΛΙΩΣ x ← x – 1 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x ΑΛΛΙΩΣ x ← 2 * x – 1 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ x, y, z

10. Τι θα εκτυπώσουν οι παρακάτω εντολές α) Α←20 Β←5 Γ←10 ΑΝ Α>10 ΤΟΤΕ ΑΝ Β>20 ΤΟΤΕ ΑΝ Γ>10 ΤΟΤΕ ΓΡΑΨΕ Γ ΑΛΛΙΩΣ ΓΡΑΨΕ 2*Γ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΓΡΑΨΕ Β ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ Β<10 ΤΟΤΕ ΓΡΑΨΕ Α ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ

β) Α←5 Β←50 Γ←10 ΑΝ Α>10 ΤΟΤΕ ΑΝ Β>20 ΤΟΤΕ ΑΝ Γ>10 ΤΟΤΕ ΓΡΑΨΕ Γ ΑΛΛΙΩΣ ΓΡΑΨΕ 2*Γ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΓΡΑΨΕ Β ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ Β<10 ΤΟΤΕ ΓΡΑΨΕ Α ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ

γ) Α←5 Β←50 Γ←10 ΑΝ Α>10 ΤΟΤΕ ΓΡΑΨΕ Γ ΑΛΛΙΩΣ ΓΡΑΨΕ 2*Γ ΑΝ Β>20 ΤΟΤΕ ΑΝ Γ>10 ΤΟΤΕ ΓΡΑΨΕ Γ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΓΡΑΨΕ Β ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Α ΤΕΛΟΣ_ΑΝ ΑΝ Β<100 ΤΟΤΕ ΓΡΑΨΕ Α ΤΕΛΟΣ_ΑΝ

11. Τι θα εμφανιστεί κατά την εκτέλεση των παρακάτω εντολών (Α) α) για a= 10,β) για a= -10 ΑΝ a>0 ΤΟΤΕ ΑΝ a<=0 ΤΟΤΕ ΕΜΦΑΝΙΣΕ “α θετικός” ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ

(Β) για Α=0, -5, -10, 10, 1000, -50 ΑΝ Α>0 ΚΑΙ Α< -5 ΤΟΤΕ ΓΡΑΨΕ ‘α’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘β’ ΤΕΛΟΣ_ΑΝ

(Γ) α) για a= 10 & b=20, β) για a= -10 & b= -20, γ) για a= -10 & b= 20 ΑΝ a>0 ΤΟΤΕ ΕΜΦΑΝΙΣΕ “α θετικός” ΑΛΛΙΩΣ_ΑΝ b<=0 ΤΟΤΕ ΕΜΦΑΝΙΣΕ “β αρνητικός” ΤΕΛΟΣ_ΑΝ

12. Να συμπληρωθούν τα κενά ώστε οι επόμενες εντολές αν οι Α, Β είναι ομόσημοι να τυπώνουν το 2+BA

αλλιώς αν είναι και οι 2 μηδέν να τυπώνεται το μήνυμα «Μηδενικοί» και το Δ να παίρνει την τιμή 0, αλλιώς το πηλίκο τους Α/Β ή αν δεν ορίζεται, το πηλίκο Β/Α: ΔΙΑΒΑΣΕ Α, Β

Page 12: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

11 / 90

ΑΝ _______________ ΤΟΤΕ Δ Α _____ Β_____ ΑΛΛΙΩΣ_ΑΝ Α=0 ______ Β=0 ΤΟΤΕ ΓΡΑΨΕ ____________ ____ Α ΑΛΛΙΩΣ ΑΝ _______ ΤΟΤΕ _____ Α/Β ΑΛΛΙΩΣ _____ Β/__ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Δ

13. Να γράψετε στο τετράδιό σας τους αριθµούς της Στήλης Α και δίπλα τα γράµµατα της Στήλης Β που αντιστοιχούν σωστά.

Σε κάποιους τελεστές της Στήλης Α αντιστοιχούν περισσότερα από ένα σύµβολα της Στήλης Β). (Ημ2004-2)

Στήλη Α - Τελεστές Στήλη Β - Σύµβολα 1. αριθµητικός τελεστής α. > 2. λογικός τελεστής β. MOD 3. συγκριτικός τελεστής γ. * δ. όχι

Στη Στήλη Β υπάρχει ένα επιπλέον στοιχείο. (Ημ2006-1) Στήλη Α Στήλη Β

1. “ΑΛΗΘΗΣ” Α. λογικός τελεστής 2. ΚΑΙ β. μεταβλητή 3. α > 12 γ. αλφαριθμητική σταθερά 4. αριθμός_παιδιών δ. λογική σταθερά 5. ≤ ε. συγκριτικός τελεστής στ. συνθήκη

14. Μεγαλύτερος - Μικρότερος Οι παρακάτω αλγόριθμος εμφανίζουν τον μεγαλύτερο αριθμό από τους τρεις που διαβάζονται; (Α)Αν Όχι γράψετε δίπλα τον σωστό αλγόριθμο κάνοντας όσο το δυνατόν λιγότερες αλλαγές στον υπάρχοντα αλγόριθμο. (Β) Βρείτε τριάδες τιμών α,β,γ για τις οποίες ισχύει ο κάθε αλγόριθμος και μία για την οποία να μην ισχύει Αλγόριθμος Μεγαλύτερος Διάβασε α,β,γ Αν α>β τότε max α αλλιώς Αν γ>β τότε maxγ αλλιώς maxβ τέλος_αν τέλος_αν εκτύπωσε max Τέλος Μεγαλύτερος

Αλγόριθμος Μεγαλύτερος Διάβασε α,β,γ max α Αν α>max Τότε maxγ αλλιώς maxβ τέλος_αν εκτύπωσε max Τέλος Μεγαλύτερος

15. Να μετατραπεί ο παρακάτω αλγόριθμος σε Πρόγραμμα σε Γλώσσα: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 16 17

ΑΛΓΟΡΙΘΜΟΣ Δοκιμές ΔΕΔΟΜΕΝΑ //Χ , Υ // Α 100 Β 20 Ζ Α+Χ > Β + Υ ΑΝ Χ ≤ Υ ≤ 0 ΤΟΤΕ Θέσε όπου Α το ακέραιο μέρος του Χ αυξημένο κατά 5 Β (Α + Υ)2 ΤΕΛΟΣ_ΑΝ ΑΝ ο Α είναι Άρτιος ΤΟΤΕ ΕΜΦΑΝΙΣΕ “Προγραμματισμός” ΕΜΦΑΝΙΣΕ “Παναθηναϊκός” ΑΝ Υ ≠ Χ ΤΟΤΕ ΠΗΓΑΙΝΕ στο βήμα 16 ΑΛΛΙΩΣ ΠΗΓΑΙΝΕ στο βήμα 13 ΑΝ ισχύει το Ζ ΤΟΤΕ Α Ακέραιο μέρος της τετραγωνικής ρίζας του 1/Χ Β 10 ΤΕΛΟΣ_ΑΝ ΑΠΟΤΕΛΕΣΜΑΤΑ //Α,Β// ΤΕΛΟΣ Δοκιμές

Page 13: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

12 / 90

16. Ασκήσεις Μετατροπής στη Δομή Επιλογής Α) Σε Πολλαπλό Αν, Απλά Αν Αν x < y τότε Αν z > w τότε x ← x + 1 Αλλιώς x ← x – 1 Τέλος_Αν Αλλιώς Αν z > w τότε x ← 2 * x + 1 Αλλιώς x ← 2 * x – 1 Τέλος_Αν Τέλος_Αν

Β) Σε ένα Πολλαπλό, Απλά Αν ΔΙΑΒΑΣΕ α, β, γ ΑΝ α>0 ΤΟΤΕ ΓΡΑΨΕ α ΑΝ β<>0 ΤΟΤΕ ΓΡΑΨΕ β, γ/α ΑΛΛΙΩΣ δ β+γ ΓΡΑΨΕ δ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ α=0 ΤΟΤΕ ΓΡΑΨΕ ‘Μηδέν’ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ (β-γ) ΤΕΛΟΣ_ΑΝ

Γ) Σε ένα Πολλαπλό Αν, Απλά Αν ΔΙΑΒΑΣΕ α, β, γ ΑΝ α<0 Η β<0 ΤΟΤΕ ΑΝ γ>0 ΤΟΤΕ ΓΡΑΨΕ β, α/γ ΓΡΑΨΕ γ/(α+β) ΑΛΛΙΩΣ α β+γ ΓΡΑΨΕ δ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΓΡΑΨΕ (β-γ) ΤΕΛΟΣ_ΑΝ

Ε) Σε ένα Πολλαπλό Αν ΔΙΑΒΑΣΕ α, β, γ ΑΝ α<0 ΤΟΤΕ ΓΡΑΨΕ ‘λαθος’ ΑΛΛΙΩΣ ΑΝ α<9,5 ΤΟΤΕ ΓΡΑΨΕ ‘Απορρίπτεσαι’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Προβιβάζεσαι’ ΑΝ α<14 ΤΟΤΕ ΓΡΑΨΕ ‘Καλός είσαι’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Πολύ καλός’ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ

17. Διαγράμματα Ροής - Διάφορα 3. Να γίνουν τα παρακάτω Διαγράμματα Ροής. α) ΔΙΑΒΑΣΕ Χ, Υ ΑΝ Χ>0 ΤΟΤΕ ΑΝ Υ>0 ΤΟΤΕ ΓΡΑΨΕ Χ ΑΛΛΙΩΣ ΓΡΑΨΕ Υ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΓΡΑΨΕ Χ,Υ ΤΕΛΟΣ_ΑΝ β) ΑΛΓΟΡΙΘΜΟΣ ΔΟΚΙΜΕΣ ΔΙΑΒΑΣΕ Χ ΑΝ Χ<0 ΤΟΤΕ Χ Α_Τ(Χ)+1/Χ ΕΜΦΑΝΙΣΕ “ΑΛΛΑΓΗ ΠΛΕΥΣΗΣ” ΤΕΛΟΣ_ΑΝ ΑΝ Χ>0 ΤΟΤΕ ΕΜΦΑΝΙΣΕ “ΘΕΤΙΚΗ ΕΙΣΗΓΗΣΗ” ΑΛΛΙΩΣ Χ Α_Τ(Χ)+1/Χ ΕΜΦΑΝΙΣΕ “ΑΡΝΗΤΙΚΗ ΕΙΣΗΓΗΣΗ” ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ ΔΟΚΙΜΕΣ γ) ΔΙΑΒΑΣΕ α, β, γ ΑΝ α>0 ΤΟΤΕ ΓΡΑΨΕ α ΑΝ β<>0 ΤΟΤΕ ΓΡΑΨΕ β, γ/α ΑΛΛΙΩΣ

4. ∆ίνεται ο παρακάτω αλγόριθμος σε μορφή Δ.Ρ. (Εσπ2006-1) Να κατασκευάσετε ισοδύναμο αλγόριθμο σε ψευδογλώσσα.

5. Δίνεται ο παρακάτω αλγόριθμος σε μορφή διαγράμματος ροής: (Εν2006-1) α. Να κατασκευάσετε ισοδύναμο αλγόριθμο σε ψευδογλώσσα. β. Να εκτελέσετε τον αλγόριθμο για κάθε μία από τις παρακάτω τιμές της μεταβλητής Χ. Να γράψετε στο τετράδιό σας την τιμή της μεταβλητής Υ, όπως θα εμφανισθεί σε κάθε περίπτωση. i. Χ = 9 , ii. Χ = 10 , iii. Χ = 40

Page 14: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

13 / 90

δ β+γ ΓΡΑΨΕ δ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ α=0 ΤΟΤΕ ΓΡΑΨΕ ‘Μηδέν’ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ (β-γ) ΤΕΛΟΣ_ΑΝ Ποιο είναι το αποτέλεσμα της εκτέλεσης του παρακάτω αλγορίθμου; Να αιτιολογήσετε την απάντησή σας. (Εν2002-2)

5) Δ.Ρ. ΣΕ ΚΩΔΙΚΟΠΟΙΗΣΗ (1)

y>10

y<-- y+x

x > 5

x<-- x+y

ΑληθήςΨευδής

Ψευδής

Αληθής

Εμφάνισε y

Εμφάνισε y

(2)

Συνθήκη1

Εντολές 1

Συνθήκη2 Συνθήκη3

Εντολές 2 Εντολές 3 Εντολές 4

Εντολές 5

Αληθής ΑληθήςΨευδής

Ψευδής Αληθής Ψευδής

18. Δίνονται τα παρακάτω τμήματα εντολών (1) και (2) σε Ψευδογλώσσα: (1) Αλγόριθμος Ασκ Διάβασε α Αν α > 0 τότε c ← α / (β - 2) Τέλος_αν Εκτύπωσε c Τέλος Ασκ

(2) Εσπ2004-2 ∆ΙΑΒΑΣΕ Α, Β, Γ ∆←Β^2−4*Α*Γ Ε←Τ_Ρ (∆) ΓΡΑΨΕ Ε

Α) Αποτελούν οι εντολές αυτές αλγόριθμο; Β) Να καταγραφούν οι

Α) σταθερές, Β) οι μεταβλητές Γ) οι λογικές πράξεις Δ) οι συγκρίσεις Ε) οι δηλωτικές εντολές ΣΤ)οι εντολές εισόδου Ζ) οι εντολές εξόδου Η) οι λοιπές εκτελεστέες εντολές

Ψευδής

ΑΡΧΗ

ΤΕΛΟΣ

α < 0 Αληθής

Διάβασε α

Εμφάνισε α

α α * (-1)

Page 15: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

14 / 90

Άλυτες Ασκήσεις με δομή Επιλογής 1. Γράψτε αλγόριθμο που θα διαβάζει τη μεταβλητή x και θα υπολογίζει την τιμή της παράστασης:

>⋅≤−

=0201

)( 2 xxxx

xfγιαγια

2. Γράψτε αλγόριθμο που θα διαβάζει δύο αριθμούς α, β και θα εκτυπώνει τη λύση της πρωτοβάθμιας εξίσωσης αx+β=0

3. Να γραφτεί αλγόριθμος που να διαβάζει ένα ακέραιο αριθμό και αν είναι άρτιος να εμφανίζει το τετράγωνό του, αλλιώς να εμφανίζει το διπλάσιό του.

4. Να γραφεί αλγόριθμος που να διαβάζει δύο ακέραιους αριθμούς. Αν είναι ομόσημοι να εμφανίζει το μέσο όρο τους, αλλιώς να εμφανίζει την απόλυτη τιμή της διαφοράς τους.

5. Να γράψετε αλγόριθμο ο οποίος θα διαβάζει δυο αριθμούς και αφού ελέγξει αν είναι ομόσημοι ή ετερόσημοι θα εκτυπώνει στην οθόνη το αντίστοιχο μήνυμα. Στην περίπτωση που είναι ομόσημοι, αν είναι και οι δυο περιττοί ή και οι δυο άρτιοι θα εμφανίζει τη διαφορά τους αφαιρώντας τον πρώτο από τον δεύτερο. Αν είναι ομόσημοι αλλά ο ένας είναι περιττός και ο άλλος άρτιος, απλώς θα τους εμφανίζει στην οθόνη με τη σειρά που διαβάστηκαν στην αρχή του αλγορίθμου. Θεωρείστε ότι κανείς από τους δυο αριθμούς εισόδου δεν είναι ίσος με 0.

6. Σε ένα κατάστημα video club η τιμή ενοικίασης για τις 3 πρώτες μέρες είναι 1,5 ευρώ. Για κάθε μέρα καθυστέρησης η τιμή αυξάνει κατά 1 ευρώ. Γράψτε αλγόριθμο ο οποίος θα διαβάζει τις μέρες ενοικίασης και θα υπολογίζει το πληρωτέο ποσό.

7. Ένας μαθητής απορρίπτεται αν έχει μέσο όρο μικρότερο του 9,5, ή αν έχει μέσο όρο μικρότερο του 15 και απουσίες περισσότερες από 110, ή αν έχει απουσίες περισσότερες από 160. Διατύπωσε ένα αλγόριθμο που να διαβάζει το μέσο όρο ενός μαθητή και τις συνολικές απουσίες του και να εμφανίζει αν ο μαθητής προβιβάζεται ή απορρίπτεται.

8. Ένα κατάστημα ηλεκτρονικών ειδών πουλάει υπολογιστές στις ακόλουθες τιμές. Ποσότητα Τιμή μονάδας (χωρίς Φ.Π.Α.)

1 - 50 800 51 - 100 700 101- 200 600

201 - 500 Δηλαδή, 120 υπολογιστές κοστίζουν 120 * 600. Το Φ.Π.Α. στην τελική τιμή είναι 19%. Να γραφτεί αλγόριθμος που να δέχεται την ποσότητα μιας παραγγελίας και να υπολογίζει την τιμή που πρέπει να πληρωθεί. Αν το κόστος της παραγγελίας (χωρίς το ΦΠΑ) υπερβαίνει τα 50.000 ευρώ, παρέχεται επιπλέον έκπτωση 10% στο άνω των 50.000 ευρώ ποσό (δηλ. αν το ποσό είναι 65.000, η έκπτωση είναι 10% των 15.000)

9. Για τον υπολογισμό της οφειλής για κατανάλωση νερού σε κάποια χρονική περίοδο λαμβάνονται υπόψη τα εξής: α) Τα πρώτα 15 m3 χρεώνονται με 0,5 ευρώ το καθένα. β) Τα επόμενα 10 m3 (μέχρι τα 25) χρεώνονται με 0,8 ευρώ το καθένα γ) Τα επόμενα 20 m3 (μέχρι τα 45) χρεώνονται με 1,5 ευρώ το καθένα δ) Τα άνω των 45 χρεώνονται με 2 ευρώ το καθένα Το πάγιο τέλος για την περίοδο είναι 1,7 ευρώ. Ο Φ.Π.Α. στο παραπάνω ποσό είναι 23% Γράψτε πρόγραμμα που θα διαβάζει την κατανάλωση νερού σε m3 για ένα χρονικό διάστημα και θα υπολογίζει και θα εμφανίζει το συνολικό τίμημα.

10. Για τη μισθοδοσία των υπαλλήλων σε μια εταιρεία γίνονται οι εξής κρατήσεις: α) για το συνδικαλιστικό σωματείο ανάλογα με το ύψος του μισθού. Το 1,5% του μισθού για μισθό μέχρι και 500 ευρώ, το 2.5% του μισθού για μισθό μέχρι και 1000 ευρώ, το 3,5% του μισθού για μεγαλύτερο. β)Γίνεται ασφαλιστική κράτηση σε ποσοστό 15,9% επί του μισθού. γ) Γίνεται κράτηση φόρου 15% στο φορολογητέο ποσό (μισθός μείον συνδικαλιστική κράτηση μείον ασφαλιστική κράτηση). Γράψτε αλγόριθμο που θα διαβάζει το μισθό ενός υπαλλήλου θα υπολογίζει και θα εμφανίζει το καθαρό ποσό που θα πληρωθεί.

11. Για τον υπολογισμό του μισθού των υπαλλήλων συνυπολογίζουμε το οικογενειακό επίδομα το οποίο προστίθεται στο βασικό μισθό. Το οικογενειακό επίδομα είναι 10% επί του βασικού μισθού για τη σύζυγο και 5% επί του βασικού μισθού για κάθε παιδί. Γράψτε αλγόριθμο που θα διαβάζει το βασικό μισθό ενός υπαλλήλου, αν είναι παντρεμένος ή όχι, τον αριθμό των παιδιών και θα εμφανίζει το τελικό ποσό που θα πληρωθεί.

12. Γράψτε αλγόριθμο που θα διαβάζει ένα θετικό ακέραιο αριθμό και θα εμφανίζει το μήνα του έτους που αντιστοιχεί (1: Ιανουάριος, … 12: Δεκέμβριος, 13: Ιανουάριος, 14: Φεβρουάριος, κοκ)6

13. Γράψτε αλγόριθμο που θα διαβάζει έναν αριθμό από το 1 μέχρι το 12 και θα εμφανίζει την εποχή που αντιστοιχεί. (Π.χ. αν ο αριθμός είναι 2 πρέπει να εμφανίσει Χειμώνας)7

14. Στην κλήρωση του Λαϊκού Λαχείου κληρώθηκε η χιλιάδα 132 ενώ ο λήγοντας αριθμός της είναι περιττός. Η τυχερή χιλιάδα κερδίζει 1500 ευρώ ενώ ο λήγοντας 15 ευρώ. Να γραφεί αλγόριθμος, όπου θα δίνεται ο εξαψήφιος αριθμός του λαχείου και θα εμφανίζεται μήνυμα αν κέρδισε και πόσο.

15. Ένα Video Club χρεώνει τα DVD σύμφωνα με το παρακάτω πίνακα:

Page 16: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

15 / 90

1ο ψηφίο κωδικού DVD <5 <7 <8 >=8 Χρέωση 1ης μέρα 1,5 1,8 2 2,4 Χρέωση για κάθε μία από τις άλλες μέρες 0,5 0,6 0,8 1

Γράψτε αλγόριθμο ο οποίος θα διαβάζει τo κωδικό του DVD και πόσες μέρες ενοικιάστηκε και θα υπολογίζει το πληρωτέο ποσό. Θεωρήσετε ότι όλοι οι κωδικοί είναι πενταψήφιοι.

16. Δύο συγκάτοικοι φοιτητές ο Γιώργος με τον Νίκο, μία Κυριακή Πρωί (τρόπος του λέγειν πρωί, κατά τις 1) πίνουν τη φραπεδιά τους. Κάποια στιγμή σκέφτονται ότι πρέπει να πάει κάποιος να πάρει κυριακάτικη εφημερίδα. Και οι δυο βαριούνται να πάνε. Παίζουν λοιπόν το γνωστό παιγνίδι «Πέτρα – Ψαλίδι – Χαρτί». Ο χαμένος θα πεταχτεί στο περίπτερο για εφημερίδα. Οι κανόνες του παιγνιδιού αν δεν τους γνωρίζετε είναι: Η Πέτρα κερδίζει (σπάει) το Ψαλίδι, το Ψαλίδι κερδίζει (κόβει) το Χαρτί και το Χαρτί κερδίζει (τυλίγει) την Πέτρα. Όταν οι συμβολισμοί είναι οι ίδιοι τότε έχουμε ισοπαλία και επαναλαμβάνεται το παιγνίδι. Θεωρήσετε ότι ο Γιώργος σχηματίζει το σύμβολο της Πέτρας. Να γραφεί αλγόριθμος που να διαβάζει τι σύμβολο σχημάτισε ο Νίκος και σε περίπτωση που υπάρχει νικητής να εμφανίζει μήνυμα ποιος από τους δύο θα πάει για εφημερίδα, σε περίπτωση ισοπαλίας μήνυμα ότι πρέπει να τα «ξαναβγάλουνε» και σε περίπτωση που ο Νίκος κάνει άλλο σύμβολο, τότε να εμφανίζει μήνυμα λάθους.

17. Γράψτε αλγόριθμο που θα διαβάζει τα ονόματα και τους Γενικούς Βαθμούς Πρόσβασης (ΓΒΠ) τριών μαθητών, και θα βρίσκει και θα εκτυπώνει το όνομα του μαθητή με το μεγαλύτερο ΓΒΠ.

18. Να γίνει πρόγραμμα που να ζητάει 3 ακέραιους αριθμούς και να εμφανίζει το μεσαίο από αυτούς. 19. Να γραφεί αλγόριθμος που να διαβάζει 3 αριθμούς. Αν οι 2 τελευταίοι είναι ομόσημοι να εμφανίζει τον μέγιστο των

τριών, αλλιώς να εμφανίζει την απόλυτη τιμή της διαφοράς του πρώτου με τον δεύτερο. 20. Γράψτε αλγόριθμο που θα διαβάζει την βαθμολογία τεσσάρων μαθημάτων για έναν μαθητή και θα υπολογίζει α) τον

μεγαλύτερο βαθμό του, β) το μέσο όρο του και γ) το πλήθος τον μαθημάτων με βαθμό άριστα (>=18) 21. Προκειμένου να πραγματοποιήσουμε ένα ταξίδι μπορούμε να επιλέξουμε ανάμεσα από τρία μέσα μεταφοράς με

διαφορετικό κόστος το καθένα αλλά και διαφορετικής διάρκειας. Γράψτε αλγόριθμο που α) για κάθε μέσο, θα διαβάζει το όνομα του, το κόστος και τη διάρκεια του ταξιδιού που αναλογεί και β) θα εμφανίζει πιο μέσο μεταφοράς έχει το χαμηλότερο κόστος και πόση διάρκεια έχει το ταξίδι με αυτό.

22. Ο βαθμός πρόσβασης για ένα πανελλήνια εξεταζόμενο μάθημα ισούται με το 70% του Γραπτού συν το 30% του Προφορικού βαθμού. Αν ο προφορικός είναι μεγαλύτερος του γραπτού πάνω από 2 μονάδες τότε προσαρμόζεται στον γραπτό +2 μονάδες ενώ αν υπολείπεται του Γραπτού περισσότερο από 2 μονάδες προσαρμόζεται στον γραπτό –2 μονάδες.(π.χ. Αν Γ=14 & Π=18, τότε Π=Γ+2=16 και ΒΠ=14*0.7+16*0.3 ). Συντάξετε Πρόγραμμα που να διαβάζει τους βαθμούς Α και Β τετραμήνου καθώς και τον Γραπτό βαθμό ενός μαθητή σε ένα μάθημα και να υπολογίζει τον βαθμό πρόσβασης του.

23. Τα εισιτήρια για τους Ολυμπιακούς αγώνες του 2004 προκύπτουν από τα παρακάτω: Η ελάχιστη τιμή ενός εισιτηρίου είναι 150 € και με το ίδιο εισιτήριο αυτό μπορούσε κάποιος να παρακολουθήσει 4 αγωνίσματα. Για κάθε αγώνισμα παραπάνω υπήρχε χρέωση 30 €. Αν κάποιος έπαιρνε εισιτήριο για περισσότερα από δέκα αγωνίσματα, είχε επιπλέον έκπτωση 15% στο συνολικό ποσό. Αν το ποσό πληρωμής υπέρβαινε τα 400 ευρώ, τότε είχε έκπτωση 10% στο άνω των 400 ευρώ ποσό και έπαιρνε και δώρο ένα εισιτήριο. Να γράψετε πρόγραμμα, το οποίο να προσομοιάζει το παραπάνω ως εξής: α) να διαβάζει τον αριθμό των αγωνισμάτων που δηλώνει ότι θέλει να παρακολουθήσει ένας θεατής β) να υπολογίζει και να εμφανίζει το κόστος του εισιτηρίου χωρίς την έκπτωση γ) να υπολογίζει και να εμφανίζει το κόστος του εισιτηρίου μετά τις πιθανές εκπτώσεις δ) Να εμφανίζει το πλήθος των αγωνισμάτων που τελικά μπορεί να παρακολουθήσει

24. Ένα μηχάνημα έκδοσης εισιτηρίων των αστικών συγκοινωνιών Ρεθύμνου εκδίδει μηνιαίες κάρτες απεριορίστων διαδρομών αστικές και υπεραστικές σύμφωνα με τον παρακάτω πίνακα:

Αστικές Υπεραστικές Κανονικές Φοιτητικές Πολυτέκνων Κανονικές Φοιτητικές Πολυτέκνων

40 20 30 70 35 52.5 Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει τον τύπο της κάρτας («Αστική», «Υπεραστική») και την ιδιότητα του επιβάτη («Κανονικός», «Φοιτητής», «Πολύτεκνος») και θα εκτυπώνει το κόστος της κάρτας.

25. Ένα έτος ονομάζεται δίσεκτο όταν διαιρείται με το 4 και δεν διαιρείται με το 100 ή όταν διαιρείται με το 400. Συντάξετε πρόγραμμα που να διαβάζει ένα έτος και να εμφανίζει αν είναι δίσεκτο ή όχι.

26. Να αναπτύξετε αλγόριθμο ο οποίος κατά την εκτέλεσή του θα εμφανίζει στην οθόνη ένα μενού δυο επιλογών το οποίο θα δίνει στο χρήστη τη δυνατότητα να επιλέξει τη λειτουργία που θέλει να εκτελέσει με τα κατάλληλα μηνύματα . Το μενού θα έχει την παρακάτω μορφή:

1. Υπολογισμός λογαριασμού ΔΕΗ 2. Υπολογισμός φόρου Πληκτρολογήστε τον αριθμό της επιλογής σας.

Αν ο χρήστης πληκτρολογήσει «1» ο αλγόριθμος θα ζητάει την κατανάλωση ρεύματος και τα τετραγωνικά μέτρα του διαμερίσματος και θα υπολογίζει και θα εμφανίζει (α) τη μηνιαία χρέωση για τη ΔΕΗ, (β) τα δημοτικά τέλη που αντιστοιχούν και (γ)τη συνολική χρέωση στο λογαριασμό. Αν ο χρήστης πληκτρολογήσει «2» ο αλγόριθμος θα ζητάει το ετήσιο εισόδημα του χρήστη και θα υπολογίζει και θα εμφανίζει το φόρο εισοδήματος.

Page 17: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

16 / 90

Οι χρεώσεις για το ρεύμα και το φόρο είναι κλιμακωτές και δίνονται στους παρακάτω πίνακες. Το δημοτικό τέλος που πληρώνεται μαζί με το ρεύμα υπολογίζεται για κάθε τετραγωνικό μέτρο και δεν χρεώνεται κλιμακωτά.

Χρέωση Ρεύματος Φόρος Εισοδήματος Δημοτικά Τέλη KWh Ευρώ/ KWh Εισόδημα Συντελεστής τμ Ευρώ /τμ

0 έως και 250 0,08 0 έως και 11000 0 0 έως και 50 0,15 250,01 έως και 1000 0,13 11000,01 έως και 25000 10% 51 έως και 100 0,20

πάνω από 1000 0,20 Πάνω από 25000 25% πάνω από 100 0,25 27. Γράψτε αλγόριθμο που να εμφανίζει το παρακάτω μικρό μενού επιλογών:

1. Τρίγωνο 2. Ορθογώνιο παραλληλόγραμμο 3. τραπέζιο 4. κύκλος Δώσε επιλογή από 1 μέχρι 4:

Στη συνέχεια να διαβάζει μια επιλογή (από 1 μέχρι 4). Στη συνέχεια ανάλογα με την τιμή της επιλογής να διαβάζει τις κατάλληλες διαστάσεις, να υπολογίζει και να εκτυπώνει το αντίστοιχο εμβαδόν με τη μορφή «Το αντίστοιχο εμβαδόν είναι : 120 τ.μ.» (σκεφτείτε τι αλλαγή θα χρειαζόταν, αν θέλαμε να τυπωθεί με τη μορφή «Το εμβαδόν του τριγώνου με βάση 3μ και ύψος 2μ είναι 3 τ.μ.» Θέματα Πανελληνίων Εξετάσεων που στηρίζονται στην Δομή της Επιλογής

28. ΘΕΜΑ 3ο (Ημ2 2002): Σε ένα κέντρο νεοσύλλεκτων υπάρχει η πρόθεση να δημιουργηθούν δύο ειδικές διμοιρίες. Η διμοιρία Α θα αποτελείται από νεοσύλλεκτους πτυχιούχους τριτοβάθμιας εκπαίδευσης, ηλικίας από 24 έως και 28 χρόνων. Η διμοιρία Β θα αποτελείται από νεοσύλλεκτους απόφοιτους δευτεροβάθμιας εκπαίδευσης, ηλικίας από 18 έως και 24 χρόνων. Οι υπόλοιποι νεοσύλλεκτοι δεν κατατάσσονται σε καμία από αυτές τις διμοιρίες. Να γίνει αλγόριθμο ο οποίος: (Μονάδες 5+15) α. διαβάζει το ονοματεπώνυμο, την ηλικία και έναν αριθμό που καθορίζει το επίπεδο σπουδών του νεοσύλλεκτου και παίρνει τιμές από 1 έως 3 (1: τριτοβάθμια εκπαίδευση, 2: δευτεροβάθμια εκπαίδευση, 3: κάθε άλλη περίπτωση) β. εκτυπώνει i) το ονοματεπώνυμο του νεοσύλλεκτου και ii) τη διμοιρία (Α ή Β), εφόσον ο νεοσύλλεκτος κατατάσσεται σε μία από αυτές

29. ΘΕΜΑ 3ο (Ημ1 2002): Με το νέο σύστημα πληρωμής των διοδίων, οι οδηγοί των τροχοφόρων έχουν τη δυνατότητα να πληρώνουν το αντίτιμο των διοδίων με ειδική μαγνητική κάρτα. Υποθέστε ότι υπάρχει μηχάνημα το οποίο διαθέτει είσοδο για την κάρτα και φωτοκύτταρο. Το μηχάνημα διαβάζει από την κάρτα το υπόλοιπο των χρημάτων και το αποθηκεύει σε μία μεταβλητή Υ και, με το φωτοκύτταρο, αναγνωρίζει τον τύπο του τροχοφόρου και το αποθηκεύει σε μία μεταβλητή Τ. Υπάρχουν τρεις τύποι τροχοφόρων: δίκυκλα (Δ), επιβατικά (Ε) και φορτηγά (Φ), με αντίτιμο διοδίων 1, 2 και 3 ευρώ αντίστοιχα. Να αναπτύξετε αλγόριθμο, ο οποίος: α. ελέγχει τον τύπο του τροχοφόρου και εκχωρεί στη μεταβλητή Α το αντίτιμο των διοδίων, ανάλογα με τον τύπο του τροχοφόρου β. ελέγχει την πληρωμή των διοδίων με τον παρακάτω τρόπο. Αν το υπόλοιπο της κάρτας επαρκεί για την πληρωμή του αντιτίμου των διοδίων, αφαιρεί το ποσό αυτό από την κάρτα. Αν η κάρτα δεν έχει υπόλοιπο, το μηχάνημα ειδοποιεί με μήνυμα για το ποσό που πρέπει να πληρωθεί. Αν το υπόλοιπο δεν επαρκεί, μηδενίζεται η κάρτα και δίνεται με μήνυμα το ποσό που απομένει να πληρωθεί.

30. ΘΕΜΑ 3ο (Εσπ1 2003): Για κάθε υπάλληλο δίνονται: ο μηνιαίος βασικός μισθός και ο αριθμός των παιδιών του. Δεχόμαστε ότι ο υπάλληλος μπορεί να έχει μέχρι και 20 παιδιά και ότι ο μηνιαίος βασικός μισθός του κυμαίνεται από 500 μέχρι και 1000 ευρώ. Οι συνολικές αποδοχές του υπολογίζονται ως το άθροισμα του μηνιαίου βασικού μισθού και του οικογενειακού επιδόματός του. Το οικογενειακό επίδομα υπολογίζεται ως εξής: 30 ευρώ για κάθε παιδί μέχρι και τρία παιδιά, και 40 ευρώ για κάθε παιδί πέραν των τριών (4ο, 5ο κ.τ.λ.). α. Να προσδιορίσετε τις μεταβλητές που θα χρησιμοποιήσετε και να δηλώσετε τον τύπο των δεδομένων που αντιστοιχούν σ' αυτές. Μονάδες 4 β. Να γράψετε αλγόριθμο, ο οποίος: 1. εισάγει τα κατάλληλα δεδομένα και ελέγχει την ορθή καταχώρισή τους, Μονάδες 7 2. υπολογίζει και εμφανίζει το οικογενειακό επίδομα και Μονάδες 7 3. υπολογίζει και εμφανίζει τις συνολικές αποδοχές του υπαλλήλου. Μονάδες 2

31. ΘΕΜΑ 3ο (Ημ2 2003): Κάποια δημοτική αρχή ακολουθεί την εξής τιμολογιακή πολιτική για την κατανάλωση νερού ανά μήνα: Χρεώνει πάγιο ποσό 2 ευρώ και εφαρμόζει κλιμακωτή χρέωση σύμφωνα με τα παρακάτω:

Κατανάλωση σε κυβικά μέτρα Χρέωση ανά κυβικό από 0 έως και 5 δωρεάν από 5 έως και 10 0,5 ευρώ από 10 έως και 20 0,7 ευρώ

από 20 και άνω 1,0 ευρώ

Page 18: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

17 / 90

Στο ποσό που προκύπτει από την αξία του νερού και το πάγιο υπολογίζεται ο Φ.Π.Α. με συντελεστή 18%. Το τελικό ποσό προκύπτει από την άθροιση της αξίας του νερού, το πάγιο, το Φ.Π.Α. και το δημοτικό φόρο που είναι 5 ευρώ. Να γράψετε αλγόριθμο ο οποίος: (Μονάδες 2+10+4+4) α. Να διαβάζει τη μηνιαία κατανάλωση του νερού. β. Να υπολογίζει την αξία του νερού που καταναλώθηκε σύμφωνα με την παραπάνω τιμολογιακή πολιτική γ. Να υπολογίζει το Φ.Π.Α. δ. Να υπολογίζει και να εκτυπώνει το τελικό ποσό.

32. ΘΕΜΑ 3ο (Ημ1 2003): Ο Δείκτης Μάζας του ανθρώπινου Σώματος (ΔΜΣ) υπολογίζεται από το βάρος (Β) σε χλγ. και το ύψος (Υ) σε μέτρα με τον τύπο ΔΜΣ=Β/Υ2. Ο ανωτέρω τύπος ισχύει για άτομα άνω των 18 ετών. Το άτομο ανάλογα με την τιμή του ΔΜΣ χαρακτηρίζεται σύμφωνα με τον παρακάτω πίνακα:

ΔΜΣ<18,5 "αδύνατο άτομο" 18,5≤ΔΜΣ<25 "κανονικό άτομο" 25≤ΔΜΣ<30 "βαρύ άτομο"

30≤ΔΜΣ "υπέρβαρο άτομο" Να γράψετε αλγόριθμο ο οποίος: (Μονάδες 3+5+10+2) α. να διαβάζει την ηλικία, το βάρος και το ύψος του ατόμου β. εάν η ηλικία είναι μεγαλύτερη των 18 ετών, τότε 1. να υπολογίζει το ΔΜΣ 2. να ελέγχει την τιμή του ΔΜΣ από τον ανωτέρω πίνακα και να εμφανίζει τον αντίστοιχο χαρακτηρισμό γ. εάν η ηλικία είναι μικρότερη ή ίση των 18 ετών, τότε να εμφανίζει το μήνυμα "δεν ισχύει ο δείκτης ΔΜΣ". Παρατήρηση: Θεωρήστε ότι το βάρος, το ύψος και η ηλικία είναι θετικοί αριθμοί.

33. Θέμα 3ο (Παν 2004): Μία εταιρεία ταχυδρομικών υπηρεσιών εφαρμόζει για τα έξοδα αποστολής ταχυδρομικών επιστολών εσωτερικού και εξωτερικού, χρέωση σύμφωνα µε τον παρακάτω πίνακα:

Βάρος επιστολής σε γραμμάρια Χρέωση εσωτερικού σε € Χρέωση εξωτερικού σε € από 0 έως και 500 2,0 4,8 από 500 έως και 1000 3,5 7,2 από 1000 έως και 2000 4,6 11,5

Π.Χ. τα έξοδα αποστολής μιας επιστολής βάρους 800 γραμμαρίωνπροορισμού εσωτερικού είναι 3,5 Ευρώ. Να γράψετε αλγόριθµο ο οποίος: (Μονάδες 3+3+11+3) α. Να διαβάζει το βάρος της επιστολής. β. Να διαβάζει τον προορισμό της επιστολής. Η τιμή "ΕΣ" δηλώνει προορισμό εσωτερικού και η τιμή "ΕΞ" δηλώνει προορισμό εξωτερικού. γ. Να υπολογίζει τα έξοδα αποστολής ανάλογα µε τον προορισμό και το βάρος της. δ. Να εκτυπώνει τα έξοδα αποστολής. Παρατήρηση. Θεωρείστε ότι ο αλγόριθμος δέχεται τιμές για το βάρος μεταξύ του 0 και του 2000 και για τον προορισμό µόνο τις τιμές "ΕΣ" και "ΕΞ".

34. ΘΕΜΑ 3ο (Ημ1 2004): Σε κάποια εξεταστική δοκιμασία κάθε γραπτό αξιολογείται αρχικά από δύο βαθμολογητές και υπάρχει περίπτωση το γραπτό να χρειάζεται αναβαθμολόγηση από τρίτο βαθμολογητή. Στην περίπτωση αναβαθμολόγησης ο τελικός βαθμός υπολογίζεται ως εξής: i. Αν ο βαθμός του τρίτου βαθμολογητή είναι ίσος µε το µέσο όρο (Μ.Ο.) των βαθμών των δύο πρώτων βαθμολογητών, τότε ο τελικός βαθμός είναι ο Μ.Ο. ii. Αν ο βαθμός του τρίτου βαθμολογητή είναι μικρότερος από το μικρότερο βαθμό (ΜΙΝ) των δύο πρώτων βαθμολογητών, τότε ο τελικός βαθμός είναι ο ΜΙΝ. iii. Διαφορετικά, ο τελικός βαθμός είναι ο μέσος όρος του βαθμού του τρίτου βαθμολογητή µε τον πλησιέστερο προς αυτόν βαθμό των δύο πρώτων βαθμολογητών. Να γραφεί αλγόριθμος υπολογισμού του τελικού βαθμού ενός γραπτού µε αναβαθμολόγηση που:(Μονάδες 2+6+12) α. να διαβάζει τους βαθμούς του πρώτου, του δεύτερου και του τρίτου βαθμολογητή ενός γραπτού β. να υπολογίζει και να εκτυπώνει το μεγαλύτερο (ΜΑΧ) και το μικρότερο (ΜΙΝ) από τους βαθμούς του πρώτου και του δεύτερου βαθμολογητή γ. να υπολογίζει και να εκτυπώνει τον τελικό βαθμό του γραπτού σύμφωνα µε την παραπάνω διαδικασία. Παρατήρηση: Θεωρήστε ότι και οι βαθμοί είναι θετικοί ακέραιοι και δεν απαιτείται έλεγχος.

Τετράδιο Μαθητή - Δομή Επιλογής Κεφάλαιο 2ο : Παραδείγματα: 1, 2, 4 , Ασκήσεις: ΔΤ1, ΔΤ2, ΔΤ5, ΔΤ6, ΔΤ7, ΔΤ9, ΔΣ6, ΔΣ7, ΔΣ9, Κεφάλαιο 8ο : Παραδείγματα: 1, Ασκήσεις: ΔΤ1, ΔΤ2, ΔΤ3, ΔΕ1, ΔΣ2

Page 19: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

18 / 90

ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΜΕΤΑΤΡΟΠΕΣ ΑΠΟ ΜΙΑ ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ ΣΕ ΑΛΛΗ. A) ΟΣΟ σε ΜΕΧΡΙΣ_ΟΤΟΥ ή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΟΣΟ Οι εντολές αυτές είναι πανομοιότυπες, απλώς αλλάζει η θέση και η τιμή της συνθήκης. Επομένως η πρώτη σκέψη είναι: Γράφω τα λοιπά τμήματα εντολών του αλγορίθμου ακριβώς τα ίδια. Η εντολή ΟΣΟ αντικαθίσταται από την εντολή ΜΕΧΡΙΣ_ΟΤΟΥ (ή ανάποδα) και η άρνηση της συνθήκης γράφεται στην προβλεπόμενη θέση. Για παράδειγμα οι παραπάνω αλγόριθμοι κάνουν ακριβώς το ίδιο πράγμα. Σ← 0 χ ← 10 ΟΣΟ χ>0 ΕΠΑΝΑΛΑΒΕ Σ ← Σ + χ^2 χ ← χ - 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Σ← 0 χ ← 10 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Σ ← Σ + χ^2 χ ← χ - 2 ΜΕΧΡΙΣ_ΟΤΟΥ ΟΧΙ (χ>0) ! ή χ<=0 ΓΡΑΨΕ Σ

Για σκεφτείτε όμως ποια διαφορά προκύπτει αν η εντολή χ ← 10 αντικατασταθεί με την ΔΙΑΒΑΣΕ χ. ΟΙ αλγόριθμοι ταυτίζονται μόνο στην περίπτωση που το χ>0. Αν χ<=0 τότε στον α’ αλγόριθμο οι εντολές μέσα στον βρόχο δεν θα εκτελεστούν καθόλου και το Σ θα μείνει 0. Στον β’ αλγόριθμο όμως, οι εντολές μέσα στον βρόχο θα εκτελεστούν κανονικά την α΄ φορά και μετά θα γίνει ο έλεγχος της συνθήκης και θα τερματιστεί η επανάληψη. Επομένως η μεταβλητή Σ θα έχει άλλη τιμή. Η αντιμετώπιση λοιπόν είναι η παρακάτω:

ΟΣΟ σε ΜΕΧΡΙΣ_ΟΤΟΥ Σ← 0 ΔΙΑΒΑΣΕ χ ΟΣΟ χ>0 ΕΠΑΝΑΛΑΒΕ Σ ← Σ + χ^2 χ ← χ - 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Σ← 0 ΔΙΑΒΑΣΕ χ ΑΝ χ>0 ΤΟΤΕ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Σ ← Σ + χ^2 χ ← χ - 2 ΜΕΧΡΙΣ_ΟΤΟΥ ΟΧΙ (χ>0) ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Σ

ΜΕΧΡΙΣ_ΟΤΟΥ σε ΟΣΟ Για την μετατροπή ΜΕΧΡΙΣ_ΟΤΟΥ σε ΟΣΟ η μεθοδολογία είναι αντίστοιχη. Η ιδιομορφία πάλι έχει να κάνει με την ιδιαιτερότητα της ΜΕΧΡΙΣ_ΟΤΟΥ να εκτελεί τις εντολές που είναι μέσα της τουλάχιστον μία φορά. Κατά τη μετατροπή λοιπόν σε ΟΣΟ πρέπει να ελέγχουμε αν οι εντολές του βρόχου θα εκτελεστούν την πρώτη φορά ή όχι. Αν δεν είμαστε σίγουροι τότε οι εντολές του βρόχου ξαναγράφονται μία φορά πριν την ΟΣΟ. Δείτε πάλι το παράδειγμα στην αρχή της παρούσας σελίδας, όπου αν δοθεί το δεξιό τμήμα για μετατροπή προκύπτει το αριστερό με απλή άρνηση της συνθήκης. Όταν όμως έχουμε ένα παράδειγμα όπου δε γνωρίζουμε από πριν αν θα εκτελεστούν οι εντολές του βρόχου τότε πρέπει να δουλέψουμε με τη γενική μεθοδολογία και να ξαναγράψουμε τις εντολές πριν την όσο. Σ← 0 ΔΙΑΒΑΣΕ χ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Σ ← Σ + χ^2 χ ← χ - 2 ΜΕΧΡΙΣ_ΟΤΟΥ χ<=0 ΓΡΑΨΕ Σ

Σ← 0 ΔΙΑΒΑΣΕ χ Σ ← Σ + χ^2 χ ← χ - 2 ΟΣΟ ΟΧΙ (χ<=0) ΕΠΑΝΑΛΑΒΕ Σ ← Σ + χ^2 χ ← χ - 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Β) ΓΙΑ σε ΟΣΟ ή ΜΕΧΡΙΣ_ΟΤΟΥ και το ανάποδο Μια εντολή ΓΙΑ από τον τρόπο που έχει οριστεί μετατρέπεται πάντα σε ΟΣΟ. Αν θέλουμε να τη μετατρέψουμε σε ΜΕΧΡΙΣ_ΟΤΟΥ, πρώτα την κάνουμε με ΟΣΟ και μετά σε ΜΕΧΡΙΣ_ΟΤΟΥ

ακολουθώντας τις σχετικές μεθοδολογίες. o Μία ΟΣΟ (κατά συνέπεια και μία ΜΕΧΡΙΣ_ΟΤΟΥ) δε μπορεί να μετατραπεί πάντα σε ΓΙΑ. Εξαρτάται από τη

μορφή που έχει. Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100 ΜΕ_ΒΗΜΑ 2 Σ ← Σ + i ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 100 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -2 Σ ← Σ + i ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Σ ← 0 i ← 1 ΟΣΟ i <= 100 ΕΠΑΝΑΛΑΒΕ Σ ← Σ + i i ← i + 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Σ ← 0 i ← 100 ΟΣΟ i >= 1 ΕΠΑΝΑΛΑΒΕ Σ ← Σ + i i ← i - 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Στάδια μετατροπής μίας ΟΣΟ σε ΓΙΑ

Page 20: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

19 / 90

Σ ← 0 ΔΙΑΒΑΣΕ α, β ΟΣΟ α < β ΕΠΑΝΑΛΑΒΕ Σ ← Σ + i α ← α + 2 ΓΡΑΨΕ α, Σ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Σ ← 0 ΔΙΑΒΑΣΕ χ, β α ← χ ΟΣΟ α <= (β-0.00001) ΕΠΑΝΑΛΑΒΕ Σ ← Σ + i ΓΡΑΨΕ (α+2), Σ α ← α + 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Σ ← 0 ΔΙΑΒΑΣΕ χ, β ΓΙΑ α ΑΠΟ χ ΜΕΧΡΙ β-0.00001) ΜΕ ΒΗΜΑ 2 Σ ← Σ + i ΓΡΑΨΕ (α+2), Σ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

Μεθοδολογία Ασκήσεων 1. Διαβάζω προσεκτικά όλη την άσκηση, τουλάχιστον δύο φορές. 2. Προχωρώ σε καθορισμό απαιτήσεων, δηλαδή

α) καθορίσω ποια είναι τα δεδομένα του προβλήματος. και τα σημειώνω ή τα κυκλώνω 1. Ποια είναι σταθερά από αυτά (π.χ. 10 παίκτες, μήνας Δεκέμβριος άρα 31 μέρες, κλπ) 2. Πως ή που θα χρησιμοποιηθεί το καθένα από τα παραπάνω (π.χ. κάποιο ελέγχει την επανάληψη,

κάποια συμμετέχουν σε συνθήκες σε πολλαπλή Αν, κάποια θα χρησιμοποιηθούν σε εντολές εκχώρησης τιμών, κλπ)

3. Ποια εξαρτιούνται (δίνονται) από τον χρήστη και άρα αποτελούν την είσοδο και άρα διαβάζονται (ή είναι Δεδομένα // //). Πόσα είναι αυτά. Αν είναι ένα, θα διαβαστεί έξω από την επανάληψη, αν είναι πολλά πρέπει να διαβαστούν μέσα στο βρόχο της επανάληψης. Χρειάζεται προσοχή και σχετικά με το πόσες μεταβλητές θα έχουμε σε ένα ΔΙΑΒΑΣΕ. (π.χ. Μπορεί να πρέπει να διαβάσω 80 βαθμούς, αλλά να χρειαστεί μια εντολή ΔΙΑΒΑΣΕ β1,β2,β3,β4 μέσα σε βρόχο που πραγματοποιείται 20 φορές γιατί έτσι ταιριάζει καλύτερα στο πρόβλημα, αντί για την εντολή ΔΙΑΒΑΣΕ β σε βρόχο που εκτελείται 80 φορές)

4. Είναι υποχρεωτικό τα δεδομένα να διαβάζονται με τη σειρά που ζητάει το πρόβλημα και όχι αυθαίρετα (ιδιαίτερα όταν δεν προηγούνται της ΔΙΑΒΑΣΕ προτρεπτικές εντολές ΓΡΑΨΕ με ενημερωτικό μήνυμα).

β) Εντοπίζω και υπογραμμίζω στην κόλα ή στο πρόχειρο τα ζητούμενα δηλαδή την έξοδο του αλγορίθμου. 1. Σε αυτό το σημείο μπορούμε και να υπογραμμίσουμε τις λέξεις που καθορίζουν τι ενέργεια θέλουμε να

γίνει στα ζητούμενα (π.χ. να υπολογιστεί, ή να τυπωθεί ή να εμφανιστεί, κλπ) 2. Σημειώνουμε πόσες φορές χρειάζεται να γίνει κάθε ενέργεια. Αυτό θα με βοηθήσει για να κατανοήσω,

αν πρέπει η εντολή εξόδου για κάποιο ζητούμενο να εκτελεστεί μία φορά (άρα έξω από την επανάληψη) ή περισσότερες φορές (μέσα στην επανάληψη).

3. Είναι καλό, αν όχι υποχρεωτικό, τα αποτελέσματα να εμφανίζονται με τη σειρά που ζητάει το πρόβλημα και όχι αυθαίρετα.

4. Κάθε αλγόριθμος πρέπει να πληροί το κριτήριο της Εξόδου, άρα να έχει τουλάχιστον μία εντολή εξόδου (Γράψε, εκτύπωσε, εμφάνισε, Αποτελέσματα)

3. Επιλέγω τι μεταβλητές θα χρησιμοποιήσω για να εκφράσω τα δεδομένα και τα ζητούμενα (όνομα – τύπος) 4. Βρίσκω τι είδους επαναλήψεις θα χρησιμοποιήσω.

α) Αν γνωρίζω το πλήθος των επαναλήψεων θα χρησιμοποιήσω την «ΓΙΑ…». β) Αν δεν το γνωρίζω θα χρησιμοποιήσω την «Όσο…» ή την «Αρχή_επανάληψης». 1. Σε αυτή την περίπτωση θα πρέπει να βρω τις συνθήκες συνέχισης ή τερματισμού αντίστοιχα. Πόσες

είναι (με ποιους τρόπους τερματίζεται η επανάληψη, και ποιες (υπάρχει τιμή φρουρός; ικανοποιείται μία άλλη συνθήκη που δίνεται ή προκύπτει από το πρόβλημα, πχ λογική σημαία).

2. Ελέγχω προσεκτικά τι συμβαίνει στα όρια των συνθηκών ώστε οι επαναλήψεις να είναι αυτές που πρέπει. Επαληθεύω βάζοντας τυχαίες τιμές και εκτελώντας την εντολή επανάληψης..

5. Προσδιορίζω τις επεξεργασίες που θα κάνω στα δεδομένα μου. α) Ψάχνω μέσα από την εκφώνηση για να εντοπίσω το είδος: (Α)μετρητής, (Β)αθροιστής, (Γ)

πολλαπλασιαστής, (Δ) Μέσος Όρος , (Ε) μεγαλύτερος, (ΣΤ) μικρότερος, κλπ. Με βοηθάνε λέξεις κλειδιά όπως πόσες, πόσο, πλήθος, Μέσος Όρος, Μέση Τιμή, μέγιστο, χειρότερος κτλ. Αν χρειάζεται, χρησιμοποιώ βοηθητικές μεταβλητές.

β) Αντιμετωπίζω την κάθε επεξεργασία σαν να ήταν μόνη. Καταγράφω, προσέχοντας να αποδώσω σωστά: 1. Την εντολή αρχικοποίησης τιμής, όπου χρειάζεται 2. Το αναλογούν της εντολής μέσα στο βρόχο της επανάληψης. Προσοχή στην περίπτωση που αυτό πρέπει

να μπει σε εμφωλευμένη επιλογή 3. Τον τελικό υπολογισμό και εμφάνιση του αποτελέσματος μετά το τέλος της επανάληψης

Page 21: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

20 / 90

6. Καθαρογράφω τις παραπάνω πρόχειρες σκέψεις που έχω καταγράψει στην κόλα. 7. Αν γράφω πρόγραμμα, ολοκληρώνω τη δήλωση μεταβλητών προσέχοντας να μη ξεχάσω καμία. 8. Εκτελώ τον αλγόριθμο μερικές φορές για να επαληθεύσω ότι δουλεύει σωστά. Παρατηρήσεις 1. ΠΑΝΤΑ εκτελώ τον αλγόριθμο που έχω γράψει για να δω αν έχει κάποιο λογικό λάθος. 2. Αν δυσκολεύομαι στη λύση φέρω στο μυαλό μου συγκεκριμένα αριθμητικά παραδείγματα (δηλ. δίνω

αυθαίρετα τυχαίες αρχικές τιμές) ώστε να κατανοήσω τον τρόπο λύσης. 3. Δεν χρησιμοποιώ άσκοπα τις εντολές εισόδου (διάβασε) – εξόδου (Γράψε, εκτύπωσε, εμφάνισε, κλπ) 4. Αν δε γνωρίζω να προσδιορίσω ένα ζητούμενο σε ένα αλγόριθμο, προχωράω στο επόμενο ζητούμενο

θεωρώντας ότι έχει πραγματοποιηθεί το προηγούμενο.

Παραδείγματα Παράδειγμα 0 - Έλεγχος εγκυρότητας κατά την εισαγωγή των δεδομένων

ΔΙΑΒΑΣΕ x ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ x ΜΕΧΡΙΣ_ΌΤΟΥ x ανήκει στο πεδίο ορισμού του

ΜΕ ΜΗΝΥΜΑ ΛΑΘΟΥΣ ΓΙΝΕΤΑΙ

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ x ΑΝ x ΔΕΝ ανήκει στο πεδίο ορισμού του ΤΟΤΕ ΓΡΑΨΕ ‘Λάθος Δεδομένα. Δώσε το σωστό:’ ΤΕΛΟΣ_ΑΝ ΜΕΧΡΙΣ_ΌΤΟΥ x ανήκει στο πεδίο ορισμού του

Παραδείγματα στον έλεγχο εγκυρότητας Να διαβάζει x ώστε:

το x παίρνει τιμές από 0 μέχρι 20 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ x ΜΕΧΡΙΣ_ΌΤΟΥ x >=0 και x <= 20

το x μπορεί να πάρει την τιμή ‘Α’ ή την τιμή ‘Γ’ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ x ΜΕΧΡΙΣ_ΌΤΟΥ x =’Α’ ή x =’Γ’

το x είναι θετικός ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ x ΜΕΧΡΙΣ_ΌΤΟΥ x>0

το x μπορεί να παίρνει τις τιμές ‘ν’,’Ν’,’Ο’,’ο’ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ x ΜΕΧΡΙΣ_ΌΤΟΥ x =’ν’ ή x =’Ν’ ή x =’Ο’ ή x =’ο’

Page 22: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

21 / 90

Ασκήσεις εξοικείωση με τις εντολές Επανάληψης Α. Τι θα εμφανιστεί κλπ – Απλές Επαναλήψεις 1. Ποιες είναι οι τιμές των μεταβλητών x, y που θα εμφανιστούν μετά την εκτέλεση των παρακάτω

(ανεξάρτητων μεταξύ τους) τμημάτων αλγορίθμου. Α) x ← 0 y ← 1 ΌΣΟ ( y <=3) ΕΠΑΝΑΛΑΒΕ x ← x + y y ← y + 1 ΓΡΑΨΕ x, y ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Β) x ← 15 y ← 1 ΌΣΟ ( x <> y) ΕΠΑΝΑΛΑΒΕ x ← x – y y ← y + 1 ΓΡΑΨΕ x, y ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Γ) x ← 1 y ← x ΌΣΟ ( x <= 4) ΕΠΑΝΑΛΑΒΕ ΑΝ y < 6 ΤΟΤΕ y ← x + y ΑΛΛΙΩΣ y ← y – x ΤΕΛΟΣ_ΑΝ x ← x + 1 ΓΡΑΨΕ x, y ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Δ) x ← 10 y ← 0 ΌΣΟ ( x >= 1) KAI ( y < 8) ΕΠΑΝΑΛΑΒΕ z ← x + y x ← x – 1 y ← y + 2 ΓΡΑΨΕ x, y, z ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Ε) x ← 15 y ← 10 z ← 1 ΌΣΟ ( x > y) H ( y >= z) ΕΠΑΝΑΛΑΒΕ x ← x – 3 y ← y – 1 z ← z -2 ΓΡΑΨΕ x, y, z ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

(α) x ← 0 y ← 1 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ x ← x + y y ← y + 1 ΓΡΑΨΕ x, y ΜΕΧΡΙΣ_ΟΤΟΥ ( y >3) (β) x ← 0 y ← 1 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ x ← x + y y ← y + 1 ΓΡΑΨΕ x, y ΜΕΧΡΙΣ_ΟΤΟΥ y <=3 (γ) x ← 15 y ← 1 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ x ← x – y y ← y + 1 ΓΡΑΨΕ x, y ΜΕΧΡΙΣ_ΟΤΟΥ y <> x

2. Ποιες είναι οι τιμές των μεταβλητών x, y που θα

εμφανιστούν μετά την εκτέλεση του παρακάτω τμήματος αλγορίθμου, Α) αν δοθεί αρχικά α) x=1, y=10 β) x=10, y=0 Β) αν η συνθήκη τέλους γίνει 4 > x ΚΑΙ y < 6

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ x ← x – 1 y ← y + 1 ΓΡΑΨΕ x, y ΑΝ y < 6 ΤΟΤΕ y ← x + y ΑΛΛΙΩΣ y ← y – x ΤΕΛΟΣ_ΑΝ x ← x + 1 ΓΡΑΨΕ x, y ΜΕΧΡΙΣ_ΟΤΟΥ 4 > x Η y < 6

Page 23: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

22 / 90

3. Τι θα εμφανιστεί κατά την εκτέλεση των παρακάτω τμημάτων αλγορίθμου

ΓΙΑ Α) ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3 x ← 2* i y ← 2 * x MOD 3 z ← x ^ 2 DIV (y + 1) w ← (z + 1) * 2 DIV 5 ΓΡΑΨΕ i, x, y, z, w ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Β) ΌΠΟΥ Α_Τ(Χ) ΣΥΝΑΡΤΗΣΗ ΠΟΥ ΥΠΟΛΟΓΙΖΕΙ ΤΗΝ ΑΠΟΛΥΤΗ ΤΙΜΗ ΤΟΥ Χ Χ ← (-1) ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3 ΜΕ_ΒΗΜΑ 2 x ← x * i y ← 2 * x MOD 3 z ← x ^ 2 DIV (y + 1) w ← Α_Τ(z * 2 DIV 5) ΓΡΑΨΕ i, x, y, z, w ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ (Γ) Α←1 ΓΙΑ Β ΑΠΟ 30 ΜΕΧΡΙ 12 ΜΕ_ΒΗΜΑ –10 Γ←Β-10 Δ←2∗Γ ΑΝ Α>8 ΤΟΤΕ Δ←Δ∗Δ + Γ ΑΛΛΙΩΣ Γ←Γ∗Γ + Δ ΤΕΛΟΣ_ΑΝ Ε←Α–Β+Γ–Δ Α←9∗Α ΕΜΦΑΝΙΣΕ Α, Β, Γ, Δ, ‘Ε’ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Εμφωλευμένες Επαναλήψεις Δ) ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 y ← 0 ΓΙΑ j ΑΠΟ 10 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -3 ΑΝ i <> j ΤΟΤΕ y ← y + j ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ i, j, y ΑΝ y MOD 2 = 0 ΤΟΤΕ z ← y DIV 2 ΑΛΛΙΩΣ z ← y MOD 2 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ i, y, z ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Ε) x ← 1 ΌΣΟ ( x <= 3) ΕΠΑΝΑΛΑΒΕ z ← 0 y ← 6 ΌΣΟ ( y > 0) ΕΠΑΝΑΛΑΒΕ ΑΝ x >= y – 2 ΤΟΤΕ z ← z + x ΑΛΛΙΩΣ z ← z + y ΤΕΛΟΣ_ΑΝ y ← y – 2

ΓΡΑΨΕ x, y, z ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ x ← x + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Β. Πόσες φορές θα εκτελεστεί κάθε ομάδα εντολών. 1. Να βρείτε πόσες φορές θα εμφανιστεί η έκφραση «ΚΑΛΗ ΕΠΙΤΥΧΙΑ» κατά την εκτέλεση

του παρακάτω τμήματος αλγορίθμου Α← 5 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ Β ΑΠΟ 2 ΜΕΧΡΙ 11 ΜΕ_ΒΗΜΑ 2 ΕΜΦΑΝΙΣΕ ‘‘ΚΑΛΗ ΕΠΙΤΥΧΙΑ’’ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Α← Α-1 ΜΕΧΡΙΣ_ΟΤΟΥ Α<=0

2. Πόσες φορές θα εκτελεστεί η εντολή ΓΡΑΨΕ Α, στο παρακάτω τμήμα προγράμματος Α ← 10 ΟΣΟ Α<> 0 ΕΠΑΝΑΛΑΒΕ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5 Α← Α-1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Α ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

3. Να βρείτε πόσες φορές θα πραγματοποιηθεί ο βρόχος της ΓΙΑ στις παρακάτω περιπτώσεις: Για ι από α μέχρι β με_βημα γ α=10, β=0, γ= -2 α= -1, β=1, γ= 0.5 α=10, β=10, γ= -200 α=100, β=0, γ= 10

Page 24: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

23 / 90

α=0, β=10, γ= 1 α=5, β=0, γ=–2 (Ημ1 2004) α=5 β=1 γ=2 α=5 β=5 γ=1 α=5 β=6,5 γ=0,5 4.∆ίνεται η παρακάτω δομή επανάληψης:(Εσ2 2004) ΟΣΟ < συνθήκη > επανάλαβε εντολή 1 εντολή 2 … εντολή ν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Οι εντολές που περιέχονται στη δομή επανάληψης εκτελούνται τουλάχιστον μία (1) φορά; Να δικαιολογήσετε την απάντησή σας

5. ∆ίνεται η παρακάτω δομή επανάληψης:(Ε2 2004) Α←10 Β←20 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Β←Β+Α ΓΡΑΨΕ Α,Β ΜΕΧΡΙΣ_ΟΤΟΥ Β>50 Οι εντολές που περιέχονται στη δομή επανάληψης εκτελούνται τρεις (3) φορές; Να δικαιολογήσετε την απάντησή σας..

Γ. Διατυπώσετε (στον κενό χώρο), ποιο πρόβλημα λύνει ο παρακάτω αλγόριθμος; 1)

2)

y ← 10 Σ ← 0 ΌΣΟ ( y >= 0) ΕΠΑΝΑΛΑΒΕ ΔΙΑΒΑΣΕ x Σ ← Σ + x y ← y -1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

π ← 0 ΔΙΑΒΑΣΕ ον, βαθ ΌΣΟ ( βαθ <> 9999) ΚΑΙ (ον<>’’) ΕΠΑΝΑΛΑΒΕ ΑΝ βαθ >=18 ΤΟΤΕ ΓΡΑΨΕ ον,βαθ ΤΕΛΟΣ_ΑΝ π ← π + 1 ΔΙΑΒΑΣΕ ον, βαθ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ π

Δ. Δίνονται οι παρακάτω αλγόριθμοι / προγράμματα. Εντοπίζετε κάποια λάθη; Αν ναι, αναφέρετε ποια είναι αυτά και κάνετε τις απαραίτητες διορθώσεις ώστε να κάνουν την ζητούμενη λειτουργία.

1. Ο παρακάτω αλγόριθμος διαβάζει μισθούς μέχρι να διαβάσει για μισθό την τιμή 0. Υπολογίζει και τυπώνει τον μεγαλύτερο, τον μικρότερο και το άθροισμα τους. Θεωρήσετε ότι θα δοθεί τουλάχιστον μία τιμή διάφορη του 0. Αλγόριθμος μισθός Διάβασε μισθος Όσο ΜΙΣΘΟΣ <> 0 επανέλαβε ΑΘΡΟΙΣΜΑ 0 Αν ΜΙΣΘΟΣ > ΜΑΧ τότε ΜΑΧ ΜΙΣΘΟΣ Τέλος_αν Αν ΜΙΝ > ΜΙΣΘΟΣ τότε ΜΙΝ ΜΙΣΘΟΣ Τέλος_αν ΑΘΡΟΙΣΜΑ ΑΘΡΟΙΣΜΑ + ΜΙΣΘΟΣ Τέλος_επανάληψης Τύπωσε ΑΘΡΟΙΣΜΑ Τέλος μισθός

2. ∆ίνεται η παρακάτω ακολουθία εντολών:(Εσπ2 2004) ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Α←10 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3 Α←Α−10 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΕΧΡΙΣ_ΟΤΟΥ Α=0

Να αναφέρετε ποιο κριτήριο αλγορίθμου δεν ικανοποιείται και να δικαιολογήσετε την απάντησή σας

Page 25: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

24 / 90

Ε. Να συμπληρωθούν τα παρακάτω κενά ώστε οι παρακάτω αλγόριθμοι να κάνουν σωστά αυτό που αναγράφετε στην εκφώνηση τους. 1) Να υπολογίζει το άθροισμα Σ=1+2+3+4+5…+100 2) Να υπολογίζει και να εμφανίζει το άθροισμα των

ψηφίων ενός ακεραίου αριθμού x ← _________ Σ ← _________ ΌΣΟ ( x > ________ ) ΕΠΑΝΑΛΑΒΕ Σ ← Σ + x x ← x _______ 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

____________ x Σ ← _________ ΌΣΟ ( x <> ________ ) ΕΠΑΝΑΛΑΒΕ y ← x _______ 10 Σ ← Σ + ________ x ← x _______ 10 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Σ

3) Να τυπώνουν το άθροισμα των τετραγώνων των διψήφιων περιττών αριθμών

4) Να τυπώνουν το άθροισμα των αριθμών από 100 έως 200.

Άθροισμα ← _____ ΓΙΑ ____ ΑΠΟ _____ ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ ___ Άθροισμα ← _____ + Ι^2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Άθροισμα

Κ ← ____ Σ ← ____ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Σ ← Σ + Κ Κ ← Κ + 1 ΜΕΧΡΙΣ_ΟΤΟΥ ___________ ΓΡΑΨΕ Σ

ΣΤ. Ασκήσεις Μετατροπής Εντολών Επανάληψης 1. Να μετατραπούν (αν γίνεται) στις άλλες εντολές επανάληψης οι παρακάτω ομάδες εντολών Α) α 10 β 100 ΓΙΑ x ΑΠΟ α ΜΕΧΡΙ β λ x ^ 2 / (β-α)

ΓΡΑΨΕ x, λ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Τέλος’

Β) ΔΙΑΒΑΣΕ α, β ΓΙΑ x ΑΠΟ α ΜΕΧΡΙ β λ x ^ 2 / (β-α)

ΓΡΑΨΕ x, λ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Τέλος’

Γ) α 10 β 100 ΓΙΑ i ΑΠΟ 10 ΜΕΧΡΙ β ΜΕ_ΒΗΜΑ 2 γ α + β α α – 10 / γ

ΓΡΑΨΕ α, γ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Δ) α 50 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ α α – 10 ΓΡΑΨΕ α α α – 2 ΜΕΧΡΙΣ_ΟΤΟΥ α < 0

Ε) ΔΙΑΒΑΣΕ α ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ α α α – 10 ΜΕΧΡΙΣ_ΟΤΟΥ α < 0

ΣΤ) α 50 ΔΙΑΒΑΣΕ β ΟΣΟ α <>β ΕΠΑΝΑΛΑΒΕ α α – 10 β β + 5 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ α, β

Ζ) α 50 ΟΣΟ α > 0 ΕΠΑΝΑΛΑΒΕ α α – 10 ΓΡΑΨΕ α β α + 5 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ α

Η) i ← 1 ΌΣΟ ( i ≤ 100 ) ΕΠΑΝΑΛΑΒΕ j ← 10 ΌΣΟ ( j ≥ 1 ) ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ i , j j ← j -1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ i ← i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Θ) ΔΙΑΒΑΣΕ Ν ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N α 0 ΓΙΑ j ΑΠΟ i ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ -0.5

ΓΡΑΨΕ i , j ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α a + 10 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ α

Α 10 Β 50 ΟΣΟ Α < Β ΕΠΑΝΑΛΑΒΕ Α Α + 10 ΓΡΑΨΕ Α ΓΙΑ I ΑΠΟ Α ΜΕΧΡΙ Β ΜΕ_ΒΗΜΑ 4 Β B – 2 ΓΡΑΨΕ Β ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

α) Ποιες είναι οι τιμές των Α και Β που εμφανίζονται στην οθόνη σε κάθε επανάληψη;

β) Αλλάξτε το παραπάνω τμήμα αλγορίθμου σε ισοδύναμο με χρήση της δομής επανάληψης ΟΣΟ … ΕΠΑΝΑΛΑΒΕ

Page 26: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

25 / 90

2. Δίνεται το παρακάτω διάγραμμα ροής. Τι θα τυπώσει; Να γραφεί το ισοδύναμο τμήμα με κωδικοποίηση σε ψευδογλώσσα.

3. Δίνεται ο αλγόριθμος του Πολλαπλασιασμού Αλά Ρωσικά σε φυσική Γλώσσα κατά βήματα (Στέκι): Αλγόριθμος: Πολλαπλασιασμός δύο θετικών ακεραίων (αλά ρωσικά)

Είσοδος: Έξοδος:

Δύο ακέραιοι Μ1 και Μ2, όπου Μ1, Μ2>=1 Το γινόμενο P=Μ1*Μ2

Βήμα 1 Βήμα 2 Βήμα 3 Βήμα 4 Βήμα 5 Βήμα 6 Βήμα 7

Θέσε P=0 Αν Μ2 > 0, τότε πήγαινε στο βήμα 3, αλλιώς πήγαινε στο βήμα 7 Αν ο Μ2 είναι περιττός, τότε θέσε P=P+Μ1 Θέσε Μ1=Μ1*2 Θέσε Μ2=Μ1/2 (Θεωρήσετε μόνο το ακέραιο μέρος) Πήγαινε στο βήμα 2 Τύπωσε τον P

Β1) Να φτιάξετε το διάγραμμα ροής του παραπάνω αλγόριθμου. (Μονάδες 5) Β2) Να μετατρέψετε το διάγραμμα ροής που δημιουργήσατε στο ερώτημα (Β1) σε ψευδογλώσσα κάνοντας παράλληλα αρίθμηση της

κάθε εντολής. Δίνονται οι δυο πρώτες εντολές: (Μονάδες 5) 1. Διάβασε Μ1, Μ2 2. P 0 3. _____________________ 4. _____________________

Β3) Να γράψετε σε ποια από τις παραπάνω εντολές γίνεται: (Μονάδες 4) i) ολίσθηση αριστερά, ii) ολίσθηση δεξιά

Β4) Δίνεται υπόδειγμα πίνακα (πίνακας τιμών), με συμπληρωμένες τις αρχικές τιμές των μεταβλητών Μ1, Μ2 (τιμές εισόδου), καθώς και της εντολής εκχώρησης με αριθμό 2. (Μονάδες 6)

Αριθμός Εντολής Μ1 Μ2 P 1 16 37 2 0

… … … …

Page 27: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

26 / 90

Να μεταφέρετε στο τετράδιό σας τον πίνακα και να τον συμπληρώσετε, εκτελώντας τον αλγόριθμο με αρχικές τιμές M1=16, M2=37 (που ήδη φαίνονται στον πίνακα). Για κάθε εντολή εκχώρησης που εκτελείται να γράψετε σε νέα γραμμή του πίνακα:

α. Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη). β. Τη νέα τιμή της μεταβλητής που επηρεάζεται από την εντολή (στην αντίστοιχη στήλη).

4. Δίνεται ο παρακάτω αλγόριθμος ο οποίος αρχικά διαβάζει ένα ποσό χρημάτων και στη συνέχεια υπολογίζει και εμφανίζει τα χρήματα που έχουμε στην τράπεζα στο τέλος κάθε χρόνου. Δίνεται ότι το επιτόκιο της τράπεζας παραμένει σταθερό και ίσο με 4% (Στέκι)

Αλγόριθμος θέμα2 Διάβασε ποσό Για χρόνο Από 1 Μέχρι 10 ποσό<-ποσό +ποσό*4/100 Εμφάνισε ποσό Τέλος_Επανάληψης Τέλος Θέμα2 Να τροποποιήσετε τον παραπάνω αλγόριθμο ώστε : Α) να εμφανίζει το ποσό που θα έχουμε στην τράπεζα μετά τα 10 χρόνια και όχι στο τέλος κάθε χρόνου. Β) να εμφανίζει το ποσό χρημάτων που έχουμε στην τράπεζα στην αρχή του χρόνου και όχι στο τέλος του. Γ) να εμφανίζει τα συνολικά κέρδη αυτά τα 10 χρόνια Δ) να εμφανίζει τα συνολικά κέρδη στο τέλος κάθε χρόνου. Ε) να εμφανίζει τα συνολικά κέρδη από την αρχή του 5ου μέχρι και το τέλος του 10ου έτους. Ζ) να διαβάζει την αξία ενός προϊόντος και να εμφανίζει μετά από πόσα χρόνια μπορούμε να αγοράσουμε το προϊόν. Αν

χρειάζονται περισσότερα από 10 χρόνια να εμφανίζει το μήνυμα. «Τα χρήματα πρέπει να μείνουν περισσότερα από 10 χρόνια.». Θεωρήστε ότι η αξία του προϊόντος είναι μεγαλύτερη από το αρχικό ποσό που βάζουμε στην τράπεζα.

Σημείωση: Τα ερωτήματα αυτά θα είναι ανεξάρτητα μεταξύ τους, δηλαδή θα πρόκειται για διαφορετικούς αλγόριθμους. 5. Να ξαναγράψετε τα παρακάτω τμήματα αλγορίθμου χωρίς να χρησιμοποιήσετε δομή επανάληψης., ώστε να

εμφανίζουν ακριβώς τα ίδια αποτελέσματα. (Στέκι) Αλγόριθμος Α Αλγόριθμος Β Αλγόριθμος Γ

Για i από 10 μέχρι 20 με βήμα 2 Γράψε i Τέλος_Επανάληψης

Για i από 1 μέχρι 16 με βήμα 5 Γράψε i Τέλος_Επανάληψης

μ 0 Για i από 1 μέχρι 16 με βήμα 5 Διάβασε α Αν α > 0 τότε μ μ + 1 Εμφάνισε μ Τέλος_Επανάληψης

6. Δίνεται το παρακάτω τμήμα αλγορίθμου: (Εσπ2007-1 – Μονάδες 20) Χ ← 2 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Y ← X DIV 2 Z ← A_M(X/3) ΑΝ Ζ > 0 ΤΟΤΕ Α ← Z ΑΛΛΙΩΣ Α ← Υ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Χ, Υ, Ζ, Α Χ ← Χ + 3 ΜΕΧΡΙΣ_ΟΤΟΥ Χ > 10 α. Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών που θα εμφανιστούν σε κάθε επανάληψη. β. Να μετατρέψετε το παραπάνω τμήμα αλγορίθμου σε ισοδύναμο με χρήση της δομής επανάληψης ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ...ΜΕ_ΒΗΜΑ.

Δίνεται το παρακάτω πρόγραμμα σε «ΓΛΩΣΣΑ» (Ημ2008-2 - Μονάδες 12) 1. ΠΡΟΓΡΑΜΜΑ ΕΙΝΑΙ-ΠΡΩΤΟΣ 2. ΜΕΤΑΒΛΗΤΕΣ 3. ΑΚΕΡΑΙΕΣ: Χ, i 4. ΧΑΡΑΚΤΗΡΕΣ: ΜΗΝΥΜΑ 5. ΑΡΧΗ 6. ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 7. ΔΙΑΒΑΣΕ Χ 8. ΜΕΧΡΙΣ_ΟΤΟΥ Χ>0 9. C <− 0 10. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Χ ΕΠΑΝΑΛΑΒΕ 11. AN (Χ MOD i) = 0 TOTE 12. C <− C + 1 13. ΤΕΛΟΣ_ΑΝ 14. ΤΕΛΟΣ_ΓΙΑ 15. ΑΝ C = 2 TOTE 16. MHNYMA <− 'EINAI ΠΡΩΤΟΣ' 17. ΑΛΛΙΩΣ 18. ΜΗΝΥΜΑ <− 'ΔΕΝ ΕΙΝΑΙ ΠΡΩΤΟΣ' 19. ΤΕΛΟΣ 20. ΓΡΑΨΕ ΜΗΝΥΜΑ 21. ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ Να γράψετε στο τετράδιό σας τον αριθμό κάθε γραμμής του προγράμματος, στην οποία εντοπίζετε συντακτικό λάθος και να περιγράψετε το λάθος αυτό.

Page 28: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

27 / 90

7. Δίνεται η παρακάτω εντολή: (Εσπ2007-1 – Μονάδες 8) Για Α από Β μέχρι Γ με_βήμα Δ Εμφάνισε "ΚΑΛΗΣΠΕΡΑ" Τέλος_επανάληψης Να γράψετε στο τετράδιό σας πόσες φορές εκτελείται η εντολή Εμφάνισε για καθένα από τους παρακάτω συνδυασμούς των τιμών των μεταβλητών Β, Γ και Δ: 1. Β = 2 Γ = 5 Δ = 1 2. Β =-1 Γ = 1 Δ = 0,5 3. Β =-7 Γ =-6 Δ =-5 4. Β = 5 Γ = 5 Δ = 1 8. Παλαιότερα Θέματα Πανελληνίων Α. 2003: Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Ν, Μ και Β, όπως αυτές τυπώνονται σε κάθε επανάληψη, και την τιμή της μεταβλητής Χ που τυπώνεται μετά το τέλος της επανάληψης, κατά την εκτέλεση του παρακάτω αλγόριθμου.

Β. 2002: Να εκτελέσετε το παρακάτω τμήμα αλγορίθμου, για Κ = 24 και L = 40. Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Χ, Υ καθώς αυτές τυπώνονται με την εντολή Εμφάνισε Χ, Υ (τόσο μέσα στη δομή επανάληψης όσο και στο τέλος του αλγορίθμου).

Αλγόριθμος Αριθμοί Α ← 1 Β ← 1 Ν ← 0 Μ ← 2 Όσο Β < 6 επανάλαβε Χ ← Α + Β Αν Χ MOD 2 = 0 τότε Ν ← Ν + 1 αλλιώς Μ ← Μ + 1 Τέλος_αν Α ← Β Β ← Χ Εμφάνισε Ν, Μ, Β Τέλος_επανάληψης Εμφάνισε Χ Τέλος Αριθμοί

Χ ← Κ Y ← L Αν Χ < Υ τότε ΤΕΜΡ ← Χ Χ ← Υ Υ ← ΤΕΜΡ Τέλος_αν Όσο Υ<>0 επανάλαβε ΤΕΜΡ ← Υ Υ ← Χ ΜOD Y Χ ← TEMP Εμφάνισε Χ, Υ Τέλος_επανάληψης Υ ← (Κ * L) DIV X Εμφάνισε Χ, Υ

Γ.2001:Δίνεται το παρακάτω τμήμα αλγορίθμου Δ. 2003επ: Δίνεται ο παρακάτω αλγόριθμος: Χ ← 1 Όσο Χ<5 επανάλαβε

Α ← Χ+2 Β ← 3*Α-4 C ← Β-Α+4 Αν Α > Β τότε Αν Α > C τότε MAX ← A αλλιώς MAX ← C Τέλος αν αλλιώς Αν Β > C τότε MAX ← Β αλλιώς MAX ← C Τέλος αν Τέλος αν Εμφάνισε Χ, Α, Β, C, MAX Χ ← Χ+2

Τέλος επανάληψης Ποιες είναι οι τιμές των μεταβλητών Χ, Α, Β, C, MAX που θα εμφανιστούν κατά την εκτέλεση του παραπάνω τμήματος αλγορίθμου;

Αλγόριθμος Αριθμοί Διάβασε Α Εκτύπωσε Α S ← 1 K ← 2 Αρχή_επανάληψης Αν Α MOD K = 0 τότε Β ← Α DIV K Αν Κ <> Β τότε S ← S + K + B Εκτύπωσε Κ, Β αλλιώς S ← S + K Εκτύπωσε Κ Τέλος_αν Τέλος_αν Κ ← Κ + 1 Μέχρις_ότου Κ > Ρίζα (Α) Αν Α = S τότε Εκτύπωσε S Τέλος_αν Τέλος Αριθμοί Η συνάρτηση Ρίζα (Α) επιστρέφει την τετρ.ρίζα του Α. Να γράψετε στο τετράδιό σας τις τιμές που τυπώνει ο παραπάνω αλγόριθμος, αν του δώσουμε τιμές εισόδου: α. 36 β. 28

Page 29: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

28 / 90

Ε. 2002 εσπ: Δίνεται το παρακάτω τμήμα αλγορίθμου

ΣΤ. 2001 εσπ: Δίνεται τμήμα αλγορίθμου:

ΔΙΑΒΑΣΕ a b ← 2 * a + 1 c ← a + b ΑΝ c > b ΤΟΤΕ b ← c ΑΛΛΙΩΣ c ← b ΤΕΛΟΣ ΑΝ ΕΜΦΑΝΙΣΕ a,b,c

Χ ← 13 ΄Οσο Χ<=20 επανάλαβε εμφάνισε Χ Χ ← Χ+2 τέλος όσο εμφάνισε Χ

Μετά την εκτέλεση του παραπάνω τμήματος αλγορίθμου, ποιες θα είναι οι τιμές των μεταβλητών a,b,c που θα εμφανισθούν, όταν i) a = 10 και ii) a = -10

1.Το παραπάνω τμήμα αλγορίθμου περιγράφει δομή επιλογής ή δομή επανάληψης; 2.Για ποια τιμή του Χ τερματίζεται ο αλγόριθμος; 3.Κατά την εκτέλεση του τμήματος αλγορίθμου ποιες είναι οι τιμές του Χ που θα εμφανιστούν;

Ζ. Επαναληπτικές 2001 Η. Επαναληπτικές 2001

Δίνεται το παρακάτω τμήμα αλγορίθμου. (Θεωρήσετε ότι Α, Μ είναι θετικοί ακέραιοι)

Κ ← 4 ΄Οσο Κ>=1 επανάλαβε Α← 1 Αν Κ<>2 τότε Για ι από 1 μέχρι Κ Α← Α * 2 Τύπωσε ι,Α Τέλος_Επανάληψης Τέλος_αν Κ← Κ/2 Τέλος_Επανάληψης

X ← A ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Χ ← Χ+2 ΤΥΠΩΣΕ ΤΟ Χ ΜΕΧΡΙΣ_ΟΤΟΥ Χ >= Μ

Καθώς εκτελείται το παραπάνω τμήμα αλγορίθμου, ποιες τιμές τυπώνονται με την εντολή Τύπωσε ι, Α;

1. Να δώσετε την δομή επανάληψης «ΓΙΑ» η οποία τυπώνει ακριβώς τις ίδιες τιμές με το πιο πάνω τμήμα αλγορίθμου.

2. Τι θα τυπωθεί αν Α=4 και Μ=9 3. Τι θα τυπωθεί αν Α=-5 και Μ=0 4. Τι θα τυπωθεί αν Α=5 , Μ=10 5. Τι θα τυπωθεί αν Α=10 και Μ=5

Θ. ∆ίνεται ο παρακάτω αλγόριθμος σε ψευδογλώσσα: (Εν2006-1) Αλγόριθμος Μετατροπή Χ 0 Για Κ από 1 μέχρι 10 ∆ιάβασε Λ Αν Λ > 0 τότε Χ Χ + Λ Αλλιώς Χ Χ – Λ Τέλος_Αν Τέλος_Επανάληψης Εμφάνισε Χ Τέλος Μετατροπή Να σχεδιάσετε το αντίστοιχο διάγραμμα ροής.

Ι. ∆ίνεται το παρακάτω τμήμα αλγορίθμου:Εσπ20062 ∆ιάβασε Μ Για Χ από 3 μέχρι Μ-1 με_βήμα 2 Α←2*Χ+4 Β←4*Χ-3 Αν (Β-Α<0) ή (Α>15) τότε Α←Α+5 Β←Β*2 Τέλος_αν Εμφάνισε Α,Β Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Α και Β που εμφανίζονται κατά την εκτέλεση του παραπάνω τμήματος αλγορίθμου, όταν για Μ δώσουμε την τιμή 9.

Κ. ∆ίνεται το παρακάτω τμήμα αλγορίθμου. (Εν2006-2) Για x από 1 μέχρι Κ Εμφάνισε x Τέλος_επανάληψης Να μετατραπεί σε ισοδύναμο τμήμα

Page 30: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

29 / 90

αλγορίθμου χρησιμοποιώντας την εντολή Αρχή_Επανάληψης ... Μέχρις_ Ότου Μ. Ποιο είναι το αποτέλεσμα της εκτέλεσης του παρακάτω αλγορίθμου; Να αιτιολογήσετε την απάντησή σας

Ν. Δίνεται το διάγραμμα ροής: (Εσπ1 2004) Ξ Εσπ2 2004:

Να γράψετε τον πίνακα τιμών των μεταβλητών x,y,z αν ως αρχικές τιμές δοθούν x=12 και y=18 Να μετατρέψετε το παραπάνω διάγραμμα ροής σε πρόγραμμα.(Τμήμα δηλώσεων και Κύριο μέρος)

Να μετατρέψετε το παραπάνω διάγραμμα ροής σε πρόγραμμα που να περιλαμβάνει τμήμα δηλώσεων και κύριο μέρος Να γραφεί ο πίνακας τιμών για τα Α,Β,S αν ως αρχικές τιμές δοθούν Α=15 και Β=20

ΑΡΧΗ

Εμφάνισε α

ΑΛΗΘΗΣ

ΨΕΥΔΗΣ

ΤΕΛΟΣ

α<0

α α* (-1)

Page 31: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

30 / 90

Ο. Δίνεται ο αλγόριθμος: 1. Ποιον τύπο δεδομένων θα επιλέγατε για τη

δήλωση κάθε μεταβλητής; (2) 2. Ποιες είναι οι διαδοχικές τιμές των i και sum;

(6) 3. Ποιες τιμές θα εκτυπωθούν; (3) 4. Ποια αριθμητική παράσταση υπολογίζει ο

αλγόριθμος;(4)

Π. Να γράψετε τα τμήματα αλγορίθμου, που αντιστοιχούν στα τμήματα των διαγραμμάτων ροής α και β

Α ρχή

Τέλος

i 10

i < 100

ΟΧΙ

ΝΑ Ι

sum 0

Εκτύπωσεi , sum

sum sum + i

i i + 20

Page 32: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

31 / 90

Ρ. Α ∆ίνεται το παρακάτω τμήμα αλγορίθμου (Ημ2007-2): Ι<- 1 Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι <- Ι + 3 Τέλος_επανάληψης Να σχεδιάσετε το ισοδύναμο διάγραμμα ροής. Να ξαναγράψετε το παραπάνω τμήμα αλγορίθμου χρησιμοποιώντας την εντολή ΓΙΑ αντί της εντολής ΟΣΟ.

Β. ∆ίνεται η παρακάτω ακολουθία εντολών (Εσπ2008-2): ΕΠΑΝ←ΑΛΗΘΗΣ ΟΣΟ ΕΠΑΝ = ΑΛΗΘΗΣ ΕΠΑΝΑΛΑΒΕ ∆ΙΑΒΑΣΕ Α, Β Χ←Β/Α ΓΡΑΨΕ Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α. Να αναφέρετε ονομαστικά ποια κριτήρια αλγορίθμου δεν ικανοποιούνται. β. Να αιτιολογήσετε την απάντησή σας.

Γ ∆ίνεται το παρακάτω τμήμα αλγορίθμου (Εσπ2008-2): Χ←0 Α←10 Β←14 ΟΣΟ Β>0 ΕΠΑΝΑΛΑΒΕ ΑΝ Β MOD 2 = 0 ΤΟΤΕ Χ←Χ+Α ΤΕΛΟΣ_ΑΝ Α←Α*2 B←B DIV 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α. Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Χ, Α και Β στο τέλος κάθε επανάληψης κατά την εκτέλεση του παραπάνω τμήματος αλγορίθμου. β. Να σχεδιάσετε το αντίστοιχο διάγραμμα ροής.

Δ ∆ίνεται το παρακάτω τμήμα αλγορίθμου (Εσπ2008-1): Χ←2 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ Χ MOD 4 > 2 ΤΟΤΕ Χ←Χ+2 ΑΛΛΙΩΣ Χ←Χ+3 ΤΕΛΟΣ_ΑΝ ΕΜΦΑΝΙΣΕ Χ ΜΕΧΡΙΣ_ΟΤΟΥ Χ>15 α. Ποιο είναι το πλήθος των επαναλήψεων που θα εκτελεστούν; β. Να γράψετε στο τετράδιό σας την τιμή της μεταβλητής Χ που θα εμφανιστεί σε κάθε επανάληψη. γ. Ποια είναι η τελική τιμή της μεταβλητής Χ;

Ε ∆ίνεται το παρακάτω τμήμα αλγορίθμου (Εσπ2008-1): Κ ← 1 ΟΣΟ Κ<=200 ΕΠΑΝΑΛΑΒΕ ΕΜΦΑΝΙΣΕ Κ Κ ← Κ + 2 ΤΕΛΟΣ_ ΕΠΑΝΑΛΗΨΗΣ Να γράψετε στο τετράδιό σας α. τις σταθερές, β. τους αριθμητικούς τελεστές, γ. τους συγκριτικούς τελεστές, δ. τις λογικές εκφράσεις.

ΣΤ ∆ίνεται το παρακάτω τμήμα αλγόριθμου (Εσπ2007-2): α ← 1 β ← 3 Όσο α < 10 επανάλαβε z ← α + β β ← β + 1 α ← α + 2 Τέλος_επανάληψης Να μετατραπεί σε ισοδύναμο χρησιμοποιώντας τη δομή επανάληψης Αρχή_επανάληψης...Μέχρις_ότου.

Ζ ∆ίνεται ο παρακάτω αλγόριθμος σε ψευδογλώσσα (Εσπ2007-2): Αλγόριθμος ΑΣΚΗΣΗ Κ ← 23 ∆ιάβασε Λ Αν Κ > Λ τότε Εμφάνισε “ΕΝΑ” αλλιώς_αν Κ < Λ τότε Εμφάνισε “∆ΥΟ” αλλιώς Εμφάνισε “ΤΡΙΑ” Τέλος_αν Τέλος ΑΣΚΗΣΗ Να σχεδιάσετε το αντίστοιχο διάγραμμα ροής.

Η ∆ίνεται το παρακάτω τμήμα αλγόριθμου (Εσπ2007-2): α ← 5 β ← 3 Για Χ από 2 μέχρι 7 με_βήμα 4 Όσο α < =10 επανάλαβε β ← β + α α ← α + 4 Τέλος_επανάληψης Εμφάνισε α, β α ← 4 Τέλος_επανάληψης Εμφάνισε α Να γράψετε στο τετράδιό σας τις τιμές που εμφανίζονται κατά την εκτέλεση του παραπάνω τμήματος αλγόριθμου

Page 33: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

32 / 90

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ ΜΕ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Για: Απλή χρήση και μαθηματικά 1. α) Γράψτε αλγόριθμο που θα εμφανίζει του άρτιους αριθμούς από το 1 μέχρι το 100.

β) Γράψτε αλγόριθμο θα εμφανίζει τους περιττούς αριθμούς από το 1 μέχρι το 100. 2. Γράψτε αλγόριθμο που θα εμφανίζει το άθροισμα των αριθμών από 10 μέχρι 134. 3. Γράψτε αλγόριθμο που:

α) θα εμφανίζει το άθροισμα των άρτιων αριθμών από το 1 μέχρι το 100. β) θα εμφανίζει το γινόμενο των άρτιων και των περιττών αριθμών από το 1 μέχρι το 100.

4. Γράψτε αλγόριθμο που θα δέχεται ακέραιο αριθμό ν και θα υπολογίζει το ν! = 1·2·3·...· (ν-1)·ν 5. Γράψτε αλγόριθμο που θα διαβάζει έναν ακέραιο ν και έναν πραγματικό αριθμό α και θα υπολογίζει το αν με

επαναληπτικό τρόπο. (Παρατήρηση: το ν μπορεί να είναι και αρνητικός). 6. Δίνονται ακέραιοι αριθμοί ν, κ. Να υπολογιστεί η παράσταση Σ = 1κ + 2κ + … + νκ

7. Να γραφεί αλγόριθμος ο οποίος υπολογίζει το κ όρο της ακολουθίας που καθορίζεται από τον τύπο α0=0 και ακ+1=ακ*κ+κ για κ>= 0.

8. Να γίνει υπολογισμός της παράστασης: Υ = (13+33+53+...+ν3) * (22+42+62+...(2ν)2), όπου ν θετική περιττή ακέραια τιμή, που δίνεται από τον χρήστη (δε χρειάζεται να ελεγχθεί)

9. Να γίνει αλγόριθμος που να διαβάζει ένα θετικό ακέραιο ν και να υπολογίζει: Σ = 1–22+3–42…+2.ν+1.

10. Δίνεται: ∑∑==

=n

i

n

iii

1

32

1)( ή (1+2+...+n)2 = 13+23+…+n3 . Να γραφεί αλγόριθμος που να δέχεται ένα ακέραιο αριθμό n

και να ελέγχει αν ισχύει ή όχι η παραπάνω ισότητα. 11. Να γραφεί αλγόριθμος που να υπολογίζει το ημίτονο ενός αριθμού από την παρακάτω σχέση

3 5 7 271 1 1 1( ) ...3! 5! 7! 27!

n x x x x x xµ = − + − + +όπου ν!=1·2·3·4·…· (ν-1) ·ν

Συμπληρώσετε τον αλγόριθμο ώστε να προστίθενται και αφαιρούνται όροι μέχρι να πάρω το ζητούμενο αποτέλεσμα με ακρίβεια ν δεκαδικών ψηφίων όπου το ν δίνεται από το χρήστη.

12. Να γραφεί αλγόριθμος που να υπολογίζει και να τυπώνει το αποτέλεσμα της συνάρτησης F(x) = 4x-3 για όλες τις τιμές του x (με ακρίβεια εκατοστού) στο διάστημα [-2, 3].

13. Να γραφεί πρόγραμμα που να υπολογίζει και να εμφανίζει τις ακέραιες ρίζες της συνάρτησης F(x) = 4x3-5x2-3 που βρίσκονται στο διάστημα [-200, 3000].

14. Να υλοποιήσετε ένα αλγόριθμο ο οποίος θα δέχεται σαν είσοδο ένα ακέραιο αριθμό i και θα εμφανίζει τον i-οστό αριθμό Fibonacci πρώτης τάξης. Η ακολουθία των αριθμών Fibonacci πρώτης τάξης δίνονται από τον τύπο:

>==

+=

−− 110

11

21 iii

FFF

ii

i

15. Να υπολογιστεί ο Μέσος όρος των περιττών ακεραίων αριθμών που βρίσκονται στο διάστημα τιμών (1 – 250) και διαιρούνται ακριβώς με το 7.

16. Να γραφτεί αλγόριθμος που να διαβάζει 20 τυχαίους αριθμούς, και να υπολογίζει πόσοι διαιρούνται ακριβώς με το 2 και όχι με το 3, πόσοι με το 3 και όχι με το 2, και τέλος πόσοι διαιρούνται και με το 2 και με το 3.

17. Να γίνει αλγόριθμος όπου να διαβάζονται 123 αριθμοί και να υπολογίζεται πόσοι διαιρούνται ακριβώς με το 4, πόσοι διαιρούνται ακριβώς με το 6 και πόσοι διαιρούνται ακριβώς και με το 4 και με το 6.

18. Mία μπάλα αφήνεται από ύψος h μέτρων. Σε κάθε χτύπο με το έδαφος, ανυψώνεται σε ύψος 20% μικρότερο από το προηγούμενο ύψος της. Να γίνει αλγόριθμος που να δέχεται το αρχικό ύψος h και τον αριθμό των αναπηδήσεων και υπολογίζει το ύψος που θα φτάσει η μπάλα από το έδαφος.

Όσο κλασσικά – τιμή φρουρός 19. Να γραφεί αλγόριθμος που να διαβάζει ακέραιους αριθμούς μέχρι να διαβαστεί το 0, και να τυπώνει το πλήθος αυτών

που διαιρούνται με το 2, αυτών που διαιρούνται με το 4 και αυτών που διαιρούνται με το 7. Στο τέλος θα υπολογίζει τους αντίστοιχους μέσους όρους. Αν δεν ορίζονται να εμφανίζει αντίστοιχο μήνυμα.

20. Γράψτε αλγόριθμο που θα διαβάζει το όνομα ενός μαθητή μέχρι να διαβάσει για όνομα τη λέξη «τέλος». Στη συνέχεια θα διαβάζει το πλήθος των αδικαιολόγητων και το πλήθος των δικαιολογημένων απουσιών του. Αν οι αδικαιολόγητες ξεπερνούν τις 60 ή αν οι δικαιολογημένες ξεπερνούν τις 110 να εμφανίζει το μήνυμα «Ανεπαρκής Φοίτηση». Τέλος να εμφανίζει πόσοι μαθητές επαναλαμβάνουν τη φοίτηση λόγω απουσιών.

Μέχρις_Ότου κλασσικά 21. Να γραφτεί αλγόριθμος που θα διαβάζει θετικούς ακέραιους αριθμούς (να γίνεται έλεγχος) μέχρι το πλήθος των

άρτιων ή περιττών να γίνει ίσο με 100, και να εμφανίζει σχετικό μήνυμα ανάλογα με το ποια κατηγορία αριθμών έφτασε πρώτη στο 100.

22. Να γραφεί αλγόριθμος ο οποίος διαβάζει μια ακολουθία ακέραιων θετικών αριθμών. Μετά την εισαγωγή κάθε αριθμού υπάρχει ερώτηση αν θα εισάγουμε άλλο. Η διαδικασία τελειώνει όταν η απάντηση θα είναι Όχι (ο ή Ο). Ο αλγόριθμος θα μετράει το πλήθος των άρτιων και το πλήθος των περιττών αριθμών και θα το τυπώνει.

-

Page 34: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

33 / 90

23. Γράψτε αλγόριθμο που θα διαβάζει πραγματικούς αριθμούς όσο το άθροισμα των αριθμών που διάβασε είναι μικρότερο από 1000. Στη συνέχεια να εμφανίζει το πλήθος των αριθμών που διαβάστηκαν και το άθροισμά τους. Προσοχή: υπάρχουν 2 περιπτώσεις εδώ, είτε (α) θέλω το τελικό άθροισμα να είναι >=1000, άρα προσθέτω και μετράω την τελευταία τιμή που διαβάστηκε (β) θέλω το άθροισμα να μην υπερβεί το 1000 και επομένως ενδέχεται την τελευταία τιμή που διάβασε να μην την προσμετρήσουμε.

24. Γράψτε αλγόριθμο που να πραγματοποιεί τα παρακάτω: α) Να εμφανίζει το παρακάτω μενού επιλογών Πράξεις μεταξύ 2 αριθμών

5. Πρόσθεση 6. Αφαίρεση 7. Πολλαπλασιασμός 8. Διαίρεση 9. Τέλος Δώσε επιλογή από 1 μέχρι 5:

Στη συνέχεια να διαβάζει μια επιλογή (να ελέγχεται να ανήκει στο πεδίο ορισμού της β) Αν δεν δοθεί η επιλογή 5, να διαβάζει δύο αριθμούς και να υπολογίζει και να εμφανίζει το αποτέλεσμα της πράξης που δόθηκε. Στην περίπτωση της διαίρεσης διασφαλίσετε ότι ο παρανομαστής δεν παίρνει την τιμή 0. γ) Η παραπάνω διαδικασία θα επαναλαμβάνεται μέχρις να δοθεί η επιλογή 5. δ) Στο τέλος να εμφανίζει πόσες προσθέσεις έγιναν.

Μεγαλύτερος – Μικρότερος 25. Γράψτε αλγόριθμο που θα διαβάζει το πλήθος των μαθητών μιας τάξης. Για κάθε μαθητή θα διαβάζει το βαθμό (να

γίνεται έλεγχος κάθε φορά κατά την εισαγωγή των βαθμών με βάση ότι αυτοί πρέπει να βρίσκονται στο διάστημα 0-100) του στο μάθημα της Φυσικής. Να εμφανίζει το μεγαλύτερο βαθμό που διαβάστηκε καθώς και το ΜΟ της τάξη στο μάθημα αυτό.

26. Να γραφεί αλγόριθμος που να διαβάζει 50 ακέραιους αριθμούς που να ανήκουν στο διάστημα 1 έως 600 και να τυπώνει ποιος είναι ο μεγαλύτερος άρτιος και ποιος ο μικρότερος περιττός αριθμός.

27. Να γραφτεί αλγόριθμος που να διαβάζει τις τιμές των προϊόντων σε ένα πολυκατάστημα, και να υπολογίζει: Α) Το μέσο όρο της τιμής των προϊόντων που κοστίζουν από 40 έως 50 ευρώ. Β) Τον αριθμό των προϊόντων που κοστίζουν 45 ευρώ Γ) Την φθηνότερη τιμή από όλα τα προϊόντα Δ) Την ακριβότερη τιμή από όλα τα προϊόντα Ο αλγόριθμος να σταματάει όταν δοθεί η τιμή 0.

28. Για τον υπολογισμό της επίδοσης αθλητών στο αγώνισμα ΖΕΤΕ στην άρση βαρών λαμβάνεται υπ όψιν η καλύτερη από τις 3 προσπάθειες. Γράψτε αλγόριθμο ο οποίος να διαβάζει ονόματα, χώρες αθλητών και θα σταματά όταν για όνομα διαβάσει το κενό. Για κάθε αθλητή να διαβάζει τις επιδόσεις σε κάθε προσπάθεια ελέγχοντας να μην δοθεί αρνητική τιμή. Τελικά να εμφανίζει το όνομα και τη χώρα του αθλητή που είχε την καλύτερη προσπάθεια.

29. Γράψτε αλγόριθμο που θα διαβάζει το όνομα και τον Βαθμό πρόσβασης για κάθε μαθητή μιας τάξης και θα εμφανίζει τα ονόματα των δύο καλύτερων μαθητών. Ο αλγόριθμος θα τελειώνει με την είσοδο κενού ονόματος ή αρνητικού βαθμού.

Πρώτος – Τέλειος και ψηφία αριθμού 30. Πρώτος είναι ο αριθμός του οποίου μοναδικοί διαιρέτες είναι η μονάδα και ο εαυτός του. Να γραφεί αλγόριθμος ο

οποίος θα δέχεται έναν θετικό ακέραιο αριθμό και θα εμφανίζει ένα μήνυμα που θα δηλώνει, αν αυτός ο αριθμός είναι πρώτος ή όχι.

31. Τέλειος αριθμός ονομάζεται ο ακέραιος εκείνος του οποίου οι παράγοντες έχουν ως άθροισμα τον ίδιο τον αριθμό. Στους παράγοντες αυτούς περιλαμβάνεται το 1 αλλά όχι ο ίδιος ο αριθμός. Για παράδειγμα τέλειοι αριθμοί είναι : το 6 γιατί: 6=1x6, 2X3 και 1+2+3=6 το 28 γιατί: 28=1x28, 2x14, 4x7 και 1+2+14+4+7=28 Γράψετε αλγόριθμο που να διαβάζει έναν ακέραιο αριθμό και να βρίσκει αν είναι τέλειος. (Σημείωση: Το 1 δε θεωρείται τέλειος αριθμός)

32. Να γραφεί αλγόριθμος που θα εμφανίζει όλους τους αριθμούς από 0 έως το 999, που το άθροισμα των ψηφίων τους είναι μεγαλύτερο του 15.

33. Να γραφεί αλγόριθμος που να βρίσκει τους τρεις τετραψήφιους αριθμούς για τους οποίους αν προστεθούν τα δυο πρώτα ψηφία τους με τα δυο τελευταία και στη συνέχεια υψωθεί το άθροισμα στο τετράγωνο θα προκύψει ο ίδιος αριθμός.

34. Να γραφεί αλγόριθμος που να δέχεται ένα ακέραιο αριθμό και να τον αντιστρέφει. (π.χ. αν δοθεί ο 36547 να υπολογίσει τον 74563)

35. Να γραφεί αλγόριθμος που να διαβάζει ένα θετικό ακέραιο αριθμό μικρότερο του 10 και να τυπώνει Ν φορές το αντίστοιχο ψηφίο στην ίδια γραμμή. π.χ. για Ν=4, να τυπώνει το 4444, για Ν=8 το 88888888

Page 35: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

34 / 90

Κλασσικές Εμφωλευμένες Επαναλήψεις 36. Να γραφεί αλγόριθμος που να τυπώνει αναλυτικά την προπαίδεια των αριθμών (1 έως 10). 37. Ένας αυτοκράτορας στη Νότιο Αφρική έχει μια μεγάλης αξίας συλλογή από πολύτιμους λίθους. Το χρηματοκιβώτιο

στο οποίο έχει φυλάξει τη συλλογή έχει τριψήφιο κωδικό πρόσβασης xyz. Υποκλέψαμε τις παρακάτω πληροφορίες: (α) x<y<z , (β) x άρτιος και (γ) z περιττός. Να γίνει αλγόριθμος ο οποίος θα εμφανίζει όλους τους πιθανούς κωδικούς πρόσβασης και το πλήθος αυτών.

38. Να γραφεί αλγόριθμος που να διαβάζει το βαθμό στα Μαθηματικά των μαθητών ενός φροντιστηρίου που έχει 15 τμήματα των 10 μαθητών και να εμφανίζει το μέσο όρο του κάθε τμήματος και των αριθμό των μαθητών του φροντιστηρίου με βαθμό κάτω από τη βάση (<10).

39. Ένα σχολείο έχει στην Γ τάξη 125 μαθητές. Κάθε μαθητής παίρνει βαθμολογία (στην κλίματα 0..20) σε 14 μαθήματα. Να γίνει αλγόριθμος που να διαβάζει το όνομα κάθε μαθητή και τις βαθμολογίες του σε κάθενα από τα 14 μαθήματα και να υπολογίζει και να εμφανίζει: Α) το μέσο όρο του κάθε μαθητή Β) Το μαθητή με τον μικρότερο μέσο όρο Γ) Πόσοι μαθητές έχουν τουλάχιστον ένα βαθμό κάτω από τη βάση (<10).

Προβλήματα σύνθετα – Όλες οι εντολές 40. Ένα στάδιο έχει Ν σειρές καθισμάτων. Στην κάτω σειρά βρίσκονται Θ θέσεις και για κάθε σειρά πιο πάνω οι θέσεις

αυξάνονται κατά 100. Να γραφεί αλγόριθμος που να διαβάζει τις διαστάσεις του σταδίου (δηλαδή Ν, Θ) και να εμφανίζει πόσες θέσεις έχει το στάδιο.

41. Λέγεται ότι ο εφευρέτης του σκακιού παρακλήθηκε από ένα Ινδό βασιλιά να ζητήσει όποια αμοιβή ήθελε για την ιδέα του. Ζήτησε λοιπόν το εξής: Στο 1ο τετραγωνάκι του σκακιού να βάλει ένα κόκκο ρύζι, στο 2ο 2 κόκκους, στο 3ο 4 κόκκους, στο 4ο 8 κόκκους κτλ. Να γραφεί αλγόριθμος που θα υπολογίζει πόσα κιλά ρυζιού ήταν η ποσότητα αυτή, αν 1 κιλό ρυζιού έχει 20.000 κόκκους. Σημ: η σκακιέρα έχει 64 τετραγωνάκια

42. Σε ένα στρατόπεδο κάποιος φαντάρος διαδίδει μία είδηση σε 3 άλλους. Αυτοί με τη σειρά τους μεταφέρουν το νέο μετά από 10 λεπτά, σε άλλους 3 ο καθένας κ.ο.κ. Αν η μετάδοση της είδησης γίνεται ανά 10 λεπτά, πόσοι φαντάροι θα τη γνωρίζουν μετά από μία ώρα;

43. Δύο φίλοι φοιτητές, ο Γιώργος με τον Νίκο παίζουν το γνωστό παιγνίδι των χεριών «Πέτρα – Ψαλίδι – Χαρτί». Ο χαμένος θα πεταχτεί στο περίπτερο για εφημερίδα. Οι κανόνες του παιγνιδιού είναι οι παρακάτω: Η Πέτρα κερδίζει (σπάει) το Ψαλίδι Το Ψαλίδι κερδίζει (κόβει) το Χαρτί Το Χαρτί κερδίζει (τυλίγει) την Πέτρα Όταν οι συμβολισμοί είναι οι ίδιοι τότε έχουμε ισοπαλία και επαναλαμβάνεται το παιγνίδι. Να γραφεί αλγόριθμος που να διαβάζει τι σύμβολο σχημάτισε ο Νίκος και ο Γιώργος και να εμφανίζει ποιος από τους δύο θα πάει για εφημερίδα. Το παιγνίδι θα σταματάει όταν κάποιος κερδίσει. Παρατήρηση: Να ελέγχεται η είσοδος ώστε να μη μπορεί να πάρει τιμή μη επιτρεπτή.

44. Γράψτε αλγόριθμο που θα διαβάζει το μισθό (μεγαλύτερος του 0) και το φύλο (Α ή Γ) ενός υπαλλήλου μέχρι να διαβάσει μισθό μηδέν. Στη συνέχεια θα υπολογίζει πόσοι άντρες έχουν μισθό μικρότερο από 1000 ευρώ και πόσες γυναίκες έχουν μισθό μεγαλύτερο των 2500 ευρώ, καθώς και τους μέσους όρους των μισθών των γυναικών και των αντρών (θεωρήσετε ότι υπάρχουν τουλάχιστον ένας άντρας και τουλάχιστον μια γυναίκα). Στο τέλος να εμφανίζει τα αποτελέσματα με αντίστοιχα μηνύματα. Οι τιμές για τα δεδομένα πρέπει να ελέγχονται.

45. Σ’ ένα αγώνα μπάσκετ είχαν συμμετοχή Ν παίκτες μιας ομάδας . Να δοθεί αλγόριθμος που: Α) Να ζητά τον αριθμό Ν (Να ελέγχεται ώστε να είναι από 1 μέχρι 10) Β) Για κάθε παίκτη να ζητά πόσους πόντους πέτυχε, πόσα φάουλ έκανε, πόσα εύστοχα τρίποντα είχε και πόσα άστοχα τρίποντα Γ) Να εμφανίζει το σύνολο πόντων της ομάδας, το σύνολο των φάουλ, τον μέσο όρο πόντων της και το ποσοστό ευστοχίας στα τρίποντα.

46. Παιγνίδι: Ένας παίκτης σκέφτεται ένα αριθμό από 1 μέχρι και 50. Ο δεύτερος παίκτης επιχειρεί να τον μαντέψει μέσα σε πέντε προσπάθειες. Κάθε φορά που μαντεύει, ο 1ος παίκτης του απαντάει αν μάντεψε σωστά η αν πρέπει να μαντέψει πιο κάτω ή πιο πάνω. Να γραφεί αλγόριθμος που να δέχεται τον ακέραιο αριθμό από τον 1ο παίκτη και στη συνέχεια να διαβάζει τις επιλογές του 2ου παίκτη και να εμφανίζει τις απαντήσεις του 1ου παίκτη, μέχρι να βρεθεί ο αριθμός ή να εξαντληθούν οι προσπάθειες του.

47. Για να τεθεί σε λειτουργία ένα κινητό απαιτείται ο κωδικός που θα πληκτρολογηθεί να ταυτίζεται με αυτόν που είναι αποθηκευμένος στη μαγνητική κάρτα του συνδρομητή. Σε περίπτωση που ο κωδικός πληκτρολογηθεί λάθος τρεις φορές το τηλέφωνο κλειδώνεται προειδοποιώντας το χρήστη με σχετικό μήνυμα. Να γράψετε τον αλγόριθμο που υλοποιεί την εισαγωγή του Pin για την έναρξη λειτουργίας ενός κινητού. Όταν ο χρήστης εισάγει το σωστό κωδικό να του εμφανίζεται ανάλογο μήνυμα.

48. Ο λογαριασμός του νερού είναι τριμηνιαίος και υπολογίζεται με βάση την κατανάλωση. Η αξία του νερού υπολογίζεται κλιμακωτά από τον παρακάτω πίνακα

Κατανάλωση /Τρίμηνο σε m3 Τιμή (ευρώ) ανά κυβικό 0 - 5 0,3

Page 36: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

35 / 90

5 - 20 0,4 20 - 27 1 27 - 35 2 35 - … 3

Τα πάγια τριμηνιαία τέλη είναι 10 ευρώ, τα τέλη αποχέτευσης είναι 35% της αξίας του νερού, υπάρχουν ακόμα επιβαρύνσεις 1% της αξίας ενώ το ΦΠΑ στο ποσό που προκύπτει από τα παραπάνω είναι 19%. Να γραφεί αλγόριθμος που να διαβάζει τον κωδικό του υδρόμετρου, το ονοματεπώνυμο του καταναλωτή, την τελευταία και την προηγούμενη ένδειξη του μετρητή (η διαφορά τους δείχνει την κατανάλωση ανά τρίμηνο) και να εμφανίζει τα ποσά του λογαριασμού. Η διαδικασία να επαναλαμβάνεται μέχρι να δοθεί για κωδικός υδρόμετρου η τιμή 0.

49. Ένας καταθέτης έχει κεφάλαιο Κ σε κάποια τράπεζα το οποίο τοκίζεται με επιτόκιο που είναι ανάλογο του κεφαλαίου και ως εξής:

Κεφάλαιο μεταξύ Επιτόκιο (%) 0… 15.000 1.5 15.000,01 … 30.000 2.5 30.000,01 … 50.000 3.5 50.000 … 4

Να γραφεί αλγόριθμος που να δέχεται το αρχικό κεφάλαιο Κ και τα χρόνια κατάθεσης Ν και να υπολογίζει το κεφάλαιο στο τέλος.

50. Εγγραφή τραγουδιών σε ένα CD. Να γραφεί αλγόριθμος, που να δίνεται ο χρόνος του κάθε τραγουδιού που θέλουμε να γραφεί. Όταν το τραγούδι δε χωράει, να βγάζει σχετικό μήνυμα και να μην επιτρέπει την εγγραφή του. Να εμφανίζει κάθε φορά το χρόνο που απομένει για εγγραφή στο CD ενώ στο τέλος να εμφανίζει πόσα τραγούδια γράφτηκαν, πόσος χώρος έμεινε ελεύθερος στο CD, πόσες αποτυχημένες προσπάθειες εγγραφής έγιναν καθώς και τη διάρκεια του τελευταίου τραγουδιού που εγγράφηκε. Η διαδικασία ολοκληρώνεται όταν ο εναπομείναντας «χώρος» είναι λιγότερος από 3 λεπτά (1 CD χωράει 74 λεπτά).

51. Ένα επιβατικό πλοίο εκτελεί την διαδρομή ΠΕΙΡΑΙΑΣ – ΣΥΡΟ – ΤΗΝΟ – ΜΥΚΟΝΟ - ΣΑΝΤΟΡΙΝΗ και επιστρέφει ακολουθώντας την αντίστροφη πορεία περνώντας από τα ίδια νησιά. Σε κάθε λιμάνι ένας αριθμός επιβατών αποβιβάζεται και άλλος ένας αριθμός επιβιβάζεται. Γράψε αλγόριθμο που να διαβάζει τον αριθμό των επιβατών που επιβιβάστηκαν και αποβιβάστηκαν σε κάθε λιμάνι της διαδρομής και θα εμφανίζει την διαδρομή όπου το πλήθος των επιβατών ήταν το μικρότερο.

52. Σε ένα μουσείο ισχύει η παρακάτω τιμολογιακή πολιτική: Τα παιδιά κάτω των 8 ετών και οι υπερήλικες (άνω των 60) δεν πληρώνουν καθόλου εισιτήριο. Αν ένα το άτομο έχει ηλικία μικρότερη ή ίση από 18 ετών δικαιούνται έκπτωση 60% στην τιμή του εισιτηρίου. Αν έχει ηλικία μεγαλύτερη από 18 και μικρότερη ή ίση από 30 δικαιούνται έκπτωση 15%. Αν έχει ηλικία μεγαλύτερη από 30 δεν δικαιούνται έκπτωση και πληρώνει κανονικά ολόκληρο το εισιτήριο που αντιστοιχεί σε 9,5 ευρώ. Γράψετε Πρόγραμμα που να διαβάζει την ηλικία 300 επισκεπτών και να εμφανίζει τα συνολικά έσοδα από την πώληση των εισιτηρίων καθώς και το ποσοστό των εσόδων από τα κανονικά – ολόκληρα εισιτήρια.

53. Στο λιμάνι μιας παραλιακής πόλης υπάρχουν 3 ταξιδιωτικά γραφεία. Το πρακτορείο ΠΡ1 το πρακτορείο ΠΡ2 και το πρακτορείο ΠΡ3. Κάθε πρακτορείο όταν πουλήσει ένα εισιτήριο ενημερώνει τον υπολογιστή του λιμενικού στέλνοντας την πληροφορία 1 ,2, 3 αντίστοιχα . Η διαδικασία σταματά όταν πουληθούν συνολικά και από τα τρία πρακτορεία 300 εισιτήρια. Αναπτύξτε αλγόριθμο που θα διαβάζει ποιο πρακτορείο πουλά εισιτήριο και θα εμφανίζει πόσα εισιτήρια πούλησε κάθε πρακτορείο.

54. Ο υπόγειος χώρος στάθμευσης ενός αεροδρομίου έχει χωρητικότητα 700 επιβατηγών αυτοκινήτων 60 φορτηγών και 50 δικύκλων. Γράψε αλγόριθμο ο οποίος θα διαβάζει αν το όχημα εισέρχεται ή εξέρχεται από το χώρο στάθμευσης και το τύπο του οχήματος ο οποίος θα είναι «Ε» για επιβατηγά «Φ» για τα φορτηγά και «Δ» για τα δίκυκλα. Όταν για τύπο οχήματος διαβάσει το κενό «» θα σταματήσει και θα εμφανίσει το πλήθος των οχημάτων κάθε κατηγορίας που βρίσκονται στο χώρο στάθμευσης . Ο αλγόριθμος πρέπει να έχει τη δυνατότητα να ελέγχει αν κάποια κατηγορία οχήματος έχει συμπληρώσει τον μέγιστο αριθμό που χωράει ο χώρος στάθμευσης και να εμφανίζει αντίστοιχο μήνυμα.

55. (Στέκι) Μια εταιρεία κινητής τηλεφωνίας ακολουθεί ανά μήνα την πολιτική τιμών δύο προγραμμάτων “Πρόγραμμα 1” και “Πρόγραμμα 2” που φαίνεται στους παρακάτω πίνακες :

Πρόγραμμα 1 Πάγιο 10 €

Μήνυμα SMS 0.08 € Χρόνος

τηλεφωνημάτων (λεπτά)

Χρονοχρέωση (€ / λεπτό)

1 - 40 Χωρίς χρέωση Πάνω από 40 – 90 0.23 €

Πάνω από 90 – 120 0.21 € Πάνω από 120 0.19 €

Πρόγραμμα 2 Πάγιο 15 €

Μήνυμα SMS 0.08 € Χρόνος

τηλεφωνημάτων (λεπτά)

Χρονοχρέωση (€ / λεπτό)

1 - 60 Χωρίς χρέωση Πάνω από 60 – 120 0.20 € Πάνω από 120 0.19 €

Να γραφεί αλγόριθμος ο οποίος :

Page 37: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

36 / 90

(Α) να διαβάζει για κάθε συνδρομητή το είδος του προγράμματός του (1 ή 2), τη χρονική διάρκεια των τηλεφωνημάτων σε λεπτά και τα μηνύματα που έστειλε σε διάρκεια ενός μηνός. (Β) να υπολογίζει τη μηνιαία χρέωση του συνδρομητή κλιμακωτά. (Γ) να εμφανίζει τη μηνιαία χρέωση του συνδρομητή με το ΦΠΑ 19%. Ο αλγόριθμος να τερματίζει όταν δοθεί ως είσοδος μη αποδεκτό είδος προγράμματος.

56. (Στέκι) Το παιχνίδι «πάνω κάτω» παίζεται ως εξής: Προσπαθούμε να μαντέψουμε έναν προεπιλεγμένο αριθμό μέσα σε ένα εύρος, π.χ. 0 – 100. Σε κάθε προσπάθειά μας παίρνουμε την πληροφορία αν ο αριθμός που ζητάμε είναι μεγαλύτερος ή μικρότερος από αυτόν που δώσαμε. Α) Ζητείται να γραφεί αλγόριθμος για ένα αντίστοιχο παιχνίδι που να παίζεται με δύο παίχτες. Πιο συγκεκριμένα: Ο πρώτος παίχτης εισάγει στον αλγόριθμο το «μυστικό αριθμό», ο οποίος πρέπει να ανήκει στο διάστημα 0 – 100. Ο δεύτερος παίκτης έχει στη διάθεσή του 10 προσπάθειες για να βρει το μυστικό αριθμό, διαφορετικά το παιχνίδι τελειώνει και ο παίκτης χάνει. Εισάγει λοιπόν διαδοχικά αριθμούς προσπαθώντας να μαντέψει τον σωστό. Για κάθε έναν από αυτούς τους αριθμούς που δίνει σαν είσοδο ο δεύτερος παίκτης, ο αλγόριθμος εμφανίζει μήνυμα σχετικά με το αν είναι μικρότερος ή μεγαλύτερος από το μυστικό αριθμό. Μετά το τέλος του παιχνιδιού ο αλγόριθμος θα πρέπει : 1. Αν ο δεύτερος παίκτης τελικά κέρδισε, να εμφανίζει: i. κατάλληλο μήνυμα πως κέρδισε ii. σε ποια προσπάθεια μάντεψε το μυστικό αριθμό iii. τη μέση (κατά απόλυτη τιμή) διαφορά των αριθμών που έδωσε σε σχέση με το μυστικό αριθμό 2. Αν ο δεύτερος παίκτης τελικά δεν κέρδισε, αν εμφανίζει: i. κατάλληλο μήνυμα πως έχασε ii. πόσο κοντά πλησίασε το μυστικό αριθμό. Δηλαδή τον πλησιέστερο στο μυστικό αριθμό που έδωσε iii. τη μέση (κατά απόλυτη τιμή) διαφορά των αριθμών που έδωσε σε σχέση με το μυστικό αριθμό Β) Τροποποιήστε τον προηγούμενο αλγόριθμο έτσι ώστε να μετά το τέλος του παιχνιδιού να ρωτάει αν θα επαναληφθεί το παιχνίδι. Η απάντηση θα ελέγχεται αν είναι «ΝΑΙ» ή «ΌΧΙ». Στην περίπτωση που η απάντηση είναι «ΝΑΙ» το παιχνίδι θα επαναλαμβάνεται. Στην περίπτωση που η απάντηση είναι «ΌΧΙ» ο αλγόριθμος θα τερματίζει. Μετά το τέλος της διαδικασίας ο αλγόριθμος να εμφανίζει το ποσοστό των παιχνιδιών στα οποία ο δεύτερος παίχτης βρήκε τον μυστικό αριθμό.

57. (Στέκι) Στους χειμερινούς Ολυμπιακούς αγώνες του Τορίνο και στο αγώνισμα του καλλιτεχνικού πατινάζ συμμετέχουν 35 αθλητές, οι οποίοι βαθμολογούνται από 8 κριτές. Κάθε αθλητής βαθμολογείται για το τεχνικό μέρος από κάθε κριτή. Η συνολική βαθμολογία του αθλητή προκύπτει, αφού αφαιρεθούν η μεγαλύτερη και η μικρότερη βαθμολογία. Για παράδειγμα αν κάποιος αθλητής πάρει: 5.2, 5.0, 4.3, 5.8, 5.1, 5.2, 5.9, 5.0, τότε αφαιρείται το 5.9 και το 4.3 που είναι η καλύτερη και η χειρότερη βαθμολογία και η συνολική βαθμολογία του αθλητή είναι 31.3. Να γράψετε αλγόριθμο ο οποίος: (Α) θα διαβάζει τα ονόματα των 35 αθλητών (2 Μονάδες) (Β) θα διαβάζει τις βαθμολογίες που δίνουν οι 8 κριτές για κάθε αθλητή. Η βαθμολογία που δίνει κάθε κριτής να διασφαλίζεται ότι είναι από 0 μέχρι 6.(4 Μονάδες) (Γ) θα υπολογίζει τις συνολικές βαθμολογίες κάθε αθλητή στο τεχνικό μέρος.(6 Μονάδες) (Δ) θα εμφανίζει το όνομα του αθλητή και δίπλα τη συνολική του βαθμολογία. Αν η μέση βαθμολογία είναι μεγαλύτερη του 5,5 να εμφανίζει μήνυμα “πολύ καλός”, ενώ αν είναι κάτω από 4 τότε να εμφανίζει μήνυμα “Δεν μπορεί να λάβει μέρος στους επόμενους Ολυμπιακούς Αγώνες”.

58. (Στέκι) Ο Ινδός μαθηματικός και αστρονόμος Madhava υπολόγισε την τιμή του π σύμφωνα με τη σχέση:

+

⋅−

⋅+

⋅−

⋅+

⋅−= ...

3111

391

371

351

331112 5432π

Να φτιαχτεί αλγόριθμος που θα διαβάζει σαν είσοδο ένα θετικό αριθμό κ μικρότερο του 0.1 πραγματοποιώντας τον κατάλληλο έλεγχο και θα υπολογίζει την τιμή του π σύμφωνα με την παραπάνω σχέση. Ο υπολογισμός θα σταματά όταν η απόλυτη τιμή κάποιου όρου γίνει μικρότερη από κ. Ο αλγόριθμος θα εκτυπώνει την τιμή του π που υπολόγισε, καθώς και το πλήθος των όρων του αθροίσματος που χρειάστηκαν μέχρι να ικανοποιηθεί η συνθήκη διακοπής.

59. (Στέκι) Για τις ανάγκες του εφετινού διαγωνισμού ΑΣΕΠ έχουν δεσμευτεί 350 αίθουσες διαφορετικής χωρητικότητας σε εξεταστικά κέντρα σε ολόκληρη τη χώρα. Ο αριθμός των επιτηρητών που απαιτούνται ανά αίθουσα καθορίζεται από το πλήθος των εξεταζομένων που βρίσκονται σε αυτή, σύμφωνα με τον παρακάτω πίνακα:

Άτομα που διαγωνίζονται Αριθμός επιτηρητών μέχρι και 12 1

από 13 μέχρι και 22 2 περισσότερα από 22 3

Να αναπτύξετε αλγόριθμο ο οποίος: α. Για κάθε αίθουσα,

Page 38: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

37 / 90

i. θα διαβάζει επαναληπτικά τα ονόματα των εξεταζομένων που θα βρίσκονται σε αυτήν. Η επαναληπτική διαδικασία πρέπει να τερματίζεται μόλις εισαχθεί ως όνομα εξεταζομένου το λεκτικό "τέλος". Μονάδες 5 ii. θα εκτυπώνεται το πλήθος των επιτηρητών που απαιτούνται για αυτήν. Μονάδες 5 β. θα εκτυπώνει το μικρότερο πλήθος εξεταζομένων που θα εξεταστούν σε κάποια αίθουσα (μπορεί να είναι και περισσότερες από μια). Μονάδες 5 γ. θα εκτυπώνει το πλήθος των επιτηρητών που απαιτούνται συνολικά για τη διενέργεια των εξετάσεων. Μονάδες 5 Παρατήρηση: η καταχώρηση των ατόμων για κάθε αίθουσα είναι σωστή, δεν υπάρχει περίπτωση να παραβιάζεται η χωρητικότητα κάποιας αίθουσας.

60. Το Ταξιδιωτικό γραφείο «Global Travel» διοργανώνει εκδρομή σε ένα καλοκαιρινό θέρετρο της Μεσογείου και διαθέτει συνολικά 100 αεροπορικά εισιτήρια Α θέσης και 200 Β θέσης. Να γράψετε αλγόριθμο ο οποίος: α) θα διαβάζει επαναληπτικά το πλήθος εισιτηρίων που ζητά κάθε πελάτης από κάθε θέση (Α και Β). Η επανάληψη θα τερματίζεται όταν θα εξαντληθούν τα εισιτήρια μιας από τις δύο θέσεις. (μ8) β) θα υπολογίζει και θα εμφανίζει τη χρέωση για κάθε πελάτη κλιμακωτά, σύμφωνα με τον ακόλουθο πίνακα:

Πλήθος Εισιτηρίων

Χρέωση ανά εισιτήριο Α θέση Β θέση

1-3 115 € 100 € 4 και άνω 90 € 80 €

Αν κάποιος πελάτης έχει ζητήσει συνολικά (και από τις δύο θέσεις) περισσότερα από 6 εισιτήρια, τότε η χρέωση δεν ακολουθεί τον παραπάνω πίνακα αλλά είναι 75 € για κάθε εισιτήριο. (μ6) γ) θα εμφανίζει τις συνολικές εισπράξεις του γραφείου και το πλήθος των εισιτηρίων που δε διατέθηκαν από κάθε θέση. (μ6)

Ασκήσεις Πανελληνίων 61. ΘΕΜΑ 2ο (εσπ 2001): Υποψήφιος αγοραστής οικοπέδου μετά από επίσκεψη σε μεσιτικό γραφείο πώλησης ακινήτων

πήρε τις εξής πληροφορίες: Ένα οικόπεδο θεωρείται "ακριβό", όταν η τιμή πώλησης ανά τετραγωνικό μέτρο είναι μεγαλύτερη των 140.000 δραχμών, "φτηνό" όταν η τιμή πώλησης είναι μικρότερη των 50.000 δραχμών και σε οποιαδήποτε άλλη περίπτωση η τιμή θεωρείται "κανονική". Να αναπτύξετε αλγόριθμο που για καθένα από 50 οικόπεδα: Να διαβάζει την τιμή πώλησης ολόκληρου του οικοπέδου και τον αριθμό των τετραγωνικών μέτρων του, Να υπολογίζει την κατηγορία κόστους στην οποία ανήκει και να εμφανίζει το μήνυμα: "ακριβή τιμή" ή "φτηνή τιμή" ή "κανονική τιμή".

62. Πανελλήνιες 2001 ΘΕΜΑ 4ο: Σε ένα πρόγραμμα περιβαλλοντικής εκπαίδευσης συμμετέχουν 20 σχολεία. Στα πλαίσια αυτού του προγράμματος, εθελοντές μαθητές των σχολείων, που συμμετέχουν στο πρόγραμμα, μαζεύουν ποσότητες τριών υλικών (γυαλί, χαρτί και αλουμίνιο). Να αναπτύξετε έναν αλγόριθμο, ο οποίος: α. να διαβάζει τις ποσότητες σε κιλά των παραπάνω υλικών που μάζεψαν οι μαθητές σε κάθε σχολείο β. να υπολογίζει τη συνολική ποσότητα σε κιλά του κάθε υλικού που μάζεψαν οι μαθητές σε όλα τα σχολεία γ. αν η συνολική ποσότητα του χαρτιού που μαζεύτηκε από όλα τα σχολεία είναι λιγότερη των 1000 κιλών, να εμφανίζεται το μήνυμα «Συγχαρητήρια». Αν η ποσότητα είναι από 1000 κιλά και πάνω, αλλά λιγότερο από 2000, να εμφανίζεται το μήνυμα «Δίνεται έπαινος» και τέλος αν η ποσότητα είναι από 2000 κιλά και πάνω να εμφανίζεται το μήνυμα «Δίνεται βραβείο». Παρατήρηση: Να θεωρήσετε ότι όλες οι ποσότητες είναι θετικοί αριθμοί.

63. Εσπερινές 2002 ΘΕΜΑ 3ο: Δίνονται η έκταση, ο πληθυσμός και το όνομα καθεμιάς από τις 15 χώρες της Ευρωπαϊκής Ένωσης. Να αναπτύξετε αλγόριθμο που α) θα διαβάζει τα παραπάνω δεδομένα, β) θα εμφανίζει τη χώρα με τη μεγαλύτερη έκταση, γ) θα εμφανίζει τη χώρα με το μικρότερο πληθυσμό και δ) θα εμφανίζει το μέσο όρο του πληθυσμού των 15 χωρών της Ευρωπαϊκής Ένωσης.

64. Εσπερινές 2002 ΘΕΜΑ 4ο : Στο πλαίσιο προγράμματος προληπτικής ιατρικής για την αντιμετώπιση του νεανικού διαβήτη έγιναν αιματολογικές εξετάσεις στους 90 μαθητές (αγόρια και κορίτσια) ενός Γυμνασίου. Για κάθε παιδί καταχωρίστηκαν τα ακόλουθα στοιχεία : 1. ονοματεπώνυμο μαθητή 2. κωδικός φύλου ("Α" για τα αγόρια και "Κ" για τα κορίτσια) 3. περιεκτικότητα σακχάρου στο αίμα. Οι φυσιολογικές τιμές σακχάρου στο αίμα κυμαίνονται από 70 έως 110 mg/dl (συμπεριλαμβανομένων και των ακραίων τιμών). Nα αναπτύξετε αλγόριθμο που α)θα διαβάζει τα παραπάνω στοιχεία (ονοματεπώνυμο, φύλο, περιεκτικότητα σακχάρου στο αίμα) και θα ελέγχει την αξιόπιστη καταχώρισή τους (δηλαδή το φύλο να είναι μόνο "Α" ή "Κ" και η περιεκτικότητα σακχάρου στο αίμα να είναι θετικός αριθμός),

Page 39: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

38 / 90

β)θα εμφανίζει για κάθε παιδί του οποίου η περιεκτικότητα σακχάρου στο αίμα είναι εκτός των φυσιολογικών τιμών, το ονοματεπώνυμο, το φύλο και την περιεκτικότητα του σακχάρου, γ) θα εμφανίζει το συνολικό αριθμό των αγοριών των οποίων η περιεκτικότητα σακχάρου στο αίμα δεν είναι φυσιολογική και δ) θα εμφανίζει το συνολικό αριθμό των κοριτσιών των οποίων η περιεκτικότητα σακχάρου στο αίμα δεν είναι φυσιολογική.

65. Εσπερινές 2001 - ΘΕΜΑ 3ο: Ένας μαθητής που τελείωσε το γυμνάσιο με άριστα ζήτησε από τους γονείς του να του αγοράσουν ένα υπολογιστικό σύστημα αξίας 600.000 δραχμών. Οι γονείς του δήλωσαν ότι μπορούν να του διαθέσουν σταδιακά το ποσό, δίνοντάς του κάθε εβδομάδα ποσό διπλάσιο από την προηγούμενη, αρχίζοντας την πρώτη εβδομάδα με 5.000 δραχμές. Να αναπτύξετε αλγόριθμο που (α) να υπολογίζει και να εμφανίζει μετά από πόσες εβδομάδες θα μπορέσει να αγοράσει το υπολογιστικό σύστημα και (β) να υπολογίζει, να ελέγχει και να εμφανίζει πιθανό περίσσευμα χρημάτων.

66. Εσπ2 2004: Μια εταιρεία δημοσκοπήσεων θέτει σ’ ένα δείγμα 2000 πολιτών ένα ερώτημα. Για την επεξεργασία των δεδομένων να αναπτύξετε αλγόριθμο που: 1. να διαβάζει το φύλο του πολίτη (Α=Άνδρας, Γ=Γυναίκα) και να ελέγχει την ορθή εισαγωγή 2. να διαβάζει την απάντηση στο ερώτημα, η οποία μπορεί να είναι «ΝΑΙ», «ΟΧΙ», «∆ΕΝ ΞΕΡΩ» και να ελέγχει την ορθή εισαγωγή 3. να υπολογίζει και να εμφανίζει το πλήθος των ατόμων που απάντησαν «ΝΑΙ» 4. στο σύνολο των ατόμων που απάντησαν «ΝΑΙ» να υπολογίζει και να εμφανίζει το ποσοστό των ανδρών και το ποσοστό των γυναικών.

67. Εσπ1 2004: Μία εταιρεία απασχολεί 30 υπαλλήλους. Οι μηνιαίες αποδοχές κάθε υπαλλήλου κυμαίνονται από 0 € έως και 3.000 €. Να γράψετε αλγόριθμο που για κάθε υπάλληλο 1. να διαβάζει το ονοματεπώνυμο και τις μηνιαίες αποδοχές και να ελέγχει την ορθότητα καταχώρησης των μηνιαίων αποδοχών του, Μ 4 2. να υπολογίζει το ποσό του φόρου κλιμακωτά, σύμφωνα με τον παρακάτω πίνακα: Μ 8

Μηνιαίες αποδοχές Ποσοστό κράτησης φόρου Έως και 700 € 0% Άνω των 700 € έως και 1.000 € 15% Άνω των 1.000 € έως και 1.700 € 30% Άνω των 1.700 € 40%

3. να εμφανίζει το ονοματεπώνυμο, τις μηνιαίες αποδοχές, το φόρο και τις καθαρές μηνιαίες αποδοχές, που προκύπτουν μετά την αφαίρεση του φόρου. Μ 4 Β. Τέλος, ο παραπάνω αλγόριθμος να υπολογίζει και να εμφανίζει 1. το συνολικό ποσό που αντιστοιχεί στο φόρο όλων των υπαλλήλων, Μ 2 2.το συνολικό ποσό που αντιστοιχεί στις καθαρές μηνιαίες αποδοχές όλων των υπαλλήλων.Μ2

68. Εσπ2 2005: Μία εμπορική εταιρεία μέσω αντιπροσώπων διαθέτει στο αγοραστικό κοινό τρεις τύπους προϊόντων Χ, Ψ και Ζ και χορηγεί προμήθεια στους αντιπροσώπους της. Να αναπτύξετε αλγόριθμο: α) να διαβάζει τον τύπο ενός προϊόντος και την τιμή πώλησης αυτού, Μονάδες 2 β) να υπολογίζει κλιμακωτά την προμήθεια που θα δοθεί από την πώληση σύμφωνα με τον παρακάτω πίνακα:

Τιμή πώλησης σε € Ποσοστά προμήθειας

Προϊόν Χ Προϊόν Ψ Προϊόν Ζ Από 0 έως και 5.000 0% 2% 4% Πάνω από 5.000 έως και 10.000 5% 6% 6% Πάνω από10.000 10% 7% 8%

Η είσοδος των δεδομένων και ο υπολογισμός της προμήθειας θα επαναλαμβάνεται μέχρι να δοθεί τύπος προϊόντος Τ, Μονάδες 14 γ) στο τέλος να εμφανίζεται

i. η προμήθεια που θα δοθεί για κάθε τύπο προϊόντος, Μονάδες 2 ii. η συνολική προμήθεια που έλαβαν οι αντιπρόσωποι. Μονάδες 2

69. Εσπ2006-2: Ένας αγρότης παράγει ένα μόνο προϊόν από τα δύο που επιδοτούνται. Να γραφεί αλγόριθμος ο οποίος: α) ∆ιαβάζει το ονοματεπώνυμο του αγρότη, το είδος του προϊόντος που παράγει και την ποσότητα του προϊόντος σε

κιλά, ελέγχοντας την ορθότητα εισαγωγής των δεδομένων σύμφωνα με τα παρακάτω: - Το είδος του προϊόντος είναι Α ή Β. - Η ποσότητα του προϊόντος είναι θετικός αριθμός. Μονάδες 5

β) Υπολογίζει την επιδότηση που δικαιούται ο αγρότης για το είδος του προϊόντος που παράγει. Η επιδότηση υπολογίζεται κλιμακωτά ανάλογα με την ποσότητα και το είδος του προϊόντος σύμφωνα με τον παρακάτω πίνακα: Μονάδες 12

Ποσότητα προϊόντος σε κιλά Επιδότηση ανά κιλό προϊόντος σε ευρώ Προϊόν Α Προϊόν Β

έως και 1000 0,8 0,7

Page 40: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

39 / 90

από 1001 έως και 2500 0,7 0,6 από 2501 και άνω 0,6 0,5

γ) Εμφανίζει το ονοματεπώνυμο του αγρότη, το είδος του προϊόντος που παράγει και το ποσό της επιδότησης που δικαιούται. Μονάδες 3

70. Εσπ2006-1: Οι εκατό (100) υπάλληλοι μιας εταιρείας εργάζονται 40 ώρες την εβδομάδα. Κάθε ώρα υπερωρίας αμείβεται με 5 € (ευρώ). Να γράψετε αλγόριθμο ο οποίος: Α. Για καθένα από τους υπαλλήλους της εταιρείας

α. διαβάζει το όνομά του και για κάθε μέρα από τις πέντε (5) εργάσιμες της εβδομάδας διαβάζει τις ώρες εργασίας του. Μονάδες 8

β. υπολογίζει τις εβδομαδιαίες ώρες εργασίας του. Μονάδες 2 γ. εάν έχει εργαστεί περισσότερο από 40 ώρες την εβδομάδα, εμφανίζει το όνομά του και υπολογίζει και

εμφανίζει την αμοιβή του για τις υπερωρίες του. Μονάδες 6 Β. Υπολογίζει και εμφανίζει, στο τέλος, το πλήθος των υπαλλήλων που έχουν εργαστεί λιγότερο από 40 ώρες την

εβδομάδα. Μονάδες 4 71. Εσπ2008-2: Μία Νομαρχία διοργάνωσε το 2008 σεμινάριο εθελοντικής δασοπυρόσβεσης, το οποίο παρακολούθησαν

500 άτομα. Η Πυροσβεστική Υπηρεσία ζήτησε στοιχεία σχετικά με την ηλικία, το φύλο και το μορφωτικό επίπεδο εκπαίδευσης κάθε εθελοντή, προκειμένου να εξαγάγει στατιστικά στοιχεία. Να γραφεί αλγόριθμος, ο οποίος: α. διαβάζει για κάθε άτομο • το ονοματεπώνυμο, • το έτος γέννησης (χωρίς να απαιτείται έλεγχος εγκυρότητας), • το φύλο, με αποδεκτές τιμές το “Α” για τους άνδρες και το “Γ” για τις γυναίκες, • το μορφωτικό επίπεδο εκπαίδευσης, με αποδεκτές τιμές “Π”, “∆” ή “Τ”, που αντιστοιχούν σε Πρωτοβάθμια, ∆ευτεροβάθμια ή Τριτοβάθμια Εκπαίδευση, και τα καταχωρίζει σε κατάλληλους μονοδιάστατους πίνακες. Μονάδες 6 β. υπολογίζει και εμφανίζει το πλήθος των ατόμων με ηλικία μικρότερη των 30 ετών. Μονάδες 4 γ. υπολογίζει και εμφανίζει το ποσοστό των γυναικών με επίπεδο Τριτοβάθμιας Εκπαίδευσης στο σύνολο των εθελοντριών. Μονάδες 5 δ. εμφανίζει τα ονόματα των ατόμων με τη μεγαλύτερη ηλικία. Μονάδες 5

72. Ημ2007-1: Ένας συλλέκτης γραμματοσήμων επισκέπτεται στο διαδίκτυο το αγαπημένο του ηλεκτρονικό κατάστημα φιλοτελισμού προκειμένου να αγοράσει γραμματόσημα. Προτίθεται να ξοδέψει μέχρι 1500 ευρώ. Να αναπτύξετε αλγόριθμο ο οποίος: α. Για κάθε γραμματόσημο, να διαβάζει την τιμή και την προέλευσή του (ελληνικό/ξένο) και να επιτρέπει την αγορά του, εφόσον η τιμή του δεν υπερβαίνει το διαθέσιμο υπόλοιπο χρημάτων. ∆ιαφορετικά να τερματίζει τυπώνοντας το μήνυμα «ΤΕΛΟΣ ΑΓΟΡΩΝ». Μονάδες 10 ΣΗΜΕΙΩΣΗ: ∆εν απαιτείται έλεγχος εγκυρότητας για τα δεδομένα εισόδου. β. Να τυπώνει: 1. Το συνολικό ποσό που ξόδεψε ο συλλέκτης. Μονάδες 2 2. Το πλήθος των ελληνικών και το πλήθος των ξένων γραμματοσήμων που αγόρασε. Μονάδες 4 3. Το ποσό που περίσσεψε, εφόσον υπάρχει, διαφορετικά το μήνυμα «ΕΞΑΝΤΛΗΘΗΚΕ ΟΛΟ ΤΟ ΠΟΣΟ». Μονάδ 4

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

74. Εσπ2007-2: ΄Ενας καταναλωτής διαθέτει 150 € για αγορά ρυζιού, προκειμένου να το δωρίσει σε ένα φιλανθρωπικό ίδρυμα. Σε ένα πολυκατάστημα διατίθενται πακέτα ρυζιού σε τέσσερις διαφορετικές συσκευασίες από διαφορετικές εταιρείες. Να γράψετε αλγόριθμο ο οποίος:

Page 41: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

40 / 90

α. ∆ιαβάζει το όνομα της εταιρείας, την αξία και την ποσότητα σε γραμμάρια για κάθε μία από τις τέσσερις συσκευασίες ρυζιού. Μονάδες 4 β. Υπολογίζει και εμφανίζει το όνομα της εταιρείας που προσφέρει το ρύζι στην πλέον συμφέρουσα για τον καταναλωτή συσκευασία (να θεωρήσετε ότι υπάρχει μόνο μία τέτοια εταιρεία). Μονάδες 10 γ. Υπολογίζει και εμφανίζει τον αριθμό των πακέτων που μπορεί να αγοράσει από την πλέον συμφέρουσα για τον καταναλωτή συσκευασία (σύμφωνα με το ερώτημα β). Μονάδες 6

75. Ημ2008-2: Μία εταιρεία αποφάσισε να δώσει βοηθητικό επίδομα στους υπαλλήλους της για τον μήνα Ιούλιο. Το επίδομα διαφοροποιείται, ανάλογα με το φύλο του/της υπαλλήλου και τον αριθμό των παιδιών του/της, με βάση τους παρακάτω πίνακες:

ΑΝΔΡΕΣ ΓΥΝΑΙΚΕΣ

ΑΡΙΘΜΟΣ ΠΑΙΔΙΩΝ ΕΠΙΔΟΜΑ ΣΕ €

ΑΡΙΘΜΟΣ ΠΑΙΔΙΩΝ ΕΠΙΔΟΜΑ ΣΕ €

1 20 1 30 2 50 2 80

>=3 120 >=3 160 Να γράψετε αλγόριθμο ο οποίος α. διαβάζει το φύλο («Α» ή «Γ») το οποίο ελέγχεται ως προς την ορθότητα της εισαγωγής του. Επίσης διαβάζει τον μισθό και τον αριθμό των παιδιών του υπαλλήλου. Μονάδες 3 β. υπολογίζει και εμφανίζει το επίδομα και το συνολικό ποσό που θα εισπράξει ο υπάλληλος τον μήνα Ιούλιο. Μον 7 γ. δέχεται απάντηση «ΝΑΙ» ή «ΟΧΙ» για τη συνέχεια ή τον τερματισμό της επανάληψης μετά την εμφάνιση σχετικού μηνύματος. Μονάδες 4 δ. υπολογίζει και εμφανίζει το συνολικό ποσό επιδόματος που πρέπει να καταβάλει η εταιρεία στους υπαλλήλους της. Μονάδες 6

76. Εσπ2007-1: Μία εταιρεία ασφάλισης οχημάτων καθορίζει το ετήσιο κόστος ασφάλισης ανά τύπο οχήματος (δίκυκλο ή αυτοκίνητο) και κυβισμό, σύμφωνα με τους παρακάτω πίνακες:

ΔΙΚΥΚΛΟ ΑΥΤΟΚΙΝΗΤΟ Κυβισμός (σε κυβικά εκατοστά)

Κόστος ασφάλισης (σε ευρώ)

Κυβισμός (σε κυβικά εκατοστά)

Κόστος ασφάλισης (σε ευρώ)

έως και 125 100 έως και 1400 400 πάνω από 125 140 από 1401 έως και 1800 500

πάνω από 1800 700 Αν η ηλικία του οδηγού είναι από 18 έως και 24 ετών τότε το κόστος της ασφάλισης του οχήματος προσαυξάνεται κατά 10%. Να αναπτύξετε αλγόριθμο, ο οποίος: α. Να διαβάζει την ηλικία ενός οδηγού, τον τύπο του οχήματος και τον κυβισμό του, ελέγχοντας ώστε ο τύπος του οχήματος να είναι «ΔΙΚΥΚΛΟ» ή «ΑΥΤΟΚΙΝΗΤΟ». Μονάδες 6 β. Να υπολογίζει και να εμφανίζει το ετήσιο κόστος ασφάλισης του οχήματος. Μονάδες 14 Σημείωση: Να θεωρήσετε ότι η ηλικία του οδηγού είναι τουλάχιστον 18 ετών.

77. Εσπ2009-1: Σε ένα πολυκατάστημα αποφασίστηκε να γίνεται κλιμακωτή έκπτωση στους πελάτες ανάλογα με το ποσό των αγορών τους, με βάση τον παρακάτω πίνακα:

Ποσό αγορών Έκπτωση έως και 300 € 2% πάνω από 300 έως και 400 € 5% πάνω από 400 € 7%

Να γραφεί αλγόριθμος που: α. για κάθε πελάτη, 1. να διαβάζει το όνομά του και το ποσό των αγορών του. Μονάδες 2 2. να υπολογίζει την έκπτωση που δικαιούται. Μονάδες 7 3. να εμφανίζει το όνομά του και το ποσό που θα πληρώσει μετά την έκπτωση. Μονάδες 3 β. να επαναλαμβάνει τη διαδικασία μέχρι να δοθεί ως όνομα πελάτη η λέξη “ΤΕΛΟΣ”. Μονάδες 4 γ. να εμφανίζει μετά το τέλος της διαδικασίας τη συνολική έκπτωση που έγινε για όλους τους πελάτες. Μονάδες 4

Τετράδιο Μαθητή - Δομή Επανάληψης Κεφάλαιο 2ο Συμβουλές – Υποδείξεις, Παραδείγματα: 3, 5, 6 Ασκήσεις: ΔΤ3, ΔΤ4, ΔΤ8, ΔΤ10, ΔΣ1, ΔΣ2, ΔΣ3, ΔΣ4, ΔΣ5, ΔΣ8 Τεστ Αυτοαξιολόγησης Κεφάλαιο 8ο Συμβουλές – Υποδείξεις, Παραδείγματα: 2, 3 Ασκήσεις: ΔΤ4, ΔΤ5, ΔΕ2, ΔΕ3, ΔΕ4, ΔΣ1, ΔΣ3, ΔΣ4, ΔΣ5, ΔΣ6 Τεστ Αυτοαξιολόγησης

Page 42: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

41 / 90

6ο Κεφάλαιο ΆΣΚΗΣΗ - ΣΤΑΥΡΟΛΕΞΟ

1

2

3 4 5

6 7 8

9 10

11 12

13 14

15

16

17 18

19

20

21

22

Οριζόντια 2. Δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε μία γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο

πρόγραμμα σε γλώσσα μηχανής 6. Σύνολο των εντολών που πρέπει να δοθούν στον υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση του

προβλήματος 14. Είδος προγραμματισμού που χρησιμοποιεί τη δομή της ακολουθίας, τη δομή της επιλογής και τη δομή της

επανάληψης μόνες και σε συνδυασμό τους 15. Συλλογή έτοιμων υποπρογραμμάτων που συνδέεται με το τελικό πρόγραμμα 16. Το πρόγραμμα που είναι έτοιμο προς εκτέλεση 17. Σε αυτόν γράφεται ο κώδικας του αρχικού προγράμματος 21. Τεχνικές που χρησιμοποιούνται από την ιεραρχική σχεδίαση 22. Είδος προγραμματισμού με βάση τον οποίο υπάρχουν υπολογιστές που διαθέτουν περισσότερους από έναν

επεξεργαστές που μοιράζονται την ίδια μνήμη και λειτουργούν παράλληλα Κάθετα 1. Πλεονέκτημα των γλωσσών υψηλού επιπέδου με το οποίο διαθέτουν ανεξαρτησία από τον τύπο του ΗΥ 2. Γλώσσα ισοδύναμη με μία ακολουθία δυαδικών ψηφίων, που αποτελούν εντολές προς τον επεξεργαστή για

στοιχειώδεις λειτουργίες 3. Το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων, των εκφράσεων και των προτάσεων 4. Το σύνολο των στοιχείων που χρησιμοποιεί μία γλώσσα (γράμματα πεζά και κεφαλαία, ψηφία, σημεία στίξης) 5. Είδος προγραμματισμού που εκλαμβάνει ως πρωτεύοντα δομικά στοιχεία ενός προγράμματος τα δεδομένα, από τα

οποία δημιουργούνται με κατάλληλη μορφοποίηση τα αντικείμενα (objects) που εμπεριέχουν και τις εφαρμόσιμες επάνω στα δεδομένα ενέργειες

7. Η διαδικασία σχεδίασης “από επάνω προς τα κάτω” ή (top-down program design) 8. Ειδικό πρόγραμμα που αναλαμβάνει τη μετάφραση της συμβολικής γλώσσας σε γλώσσα μηχανής 9. Διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μία εκτελεί αμέσως μία ισοδύναμη

ακολουθία εντολών μηχανής 10. Περιβάλλον που παρέχει με ενιαίο τρόπο: έναν συντάκτη, έναν μεταγλωττιστή και έναν συνδέτη 11. Αποτελείται από το τυπικό και το συντακτικό 12. Οι λέξεις που είναι δεκτές από μία γλώσσα 13. Εντοπίζονται από τον μεταγλωττιστή 18. Προγραμματισμός με τον οποίο μετά την ανάλυση του προβλήματος σε υποπροβλήματα, κάθε υποπρόβλημα

αποτελεί ανεξάρτητη ενότητα (module), που γράφεται ξεχωριστά 19. Συνδέει το τελικό πρόγραμμα με τις βιβλιοθήκες 20. Είδος προγραμματισμού με τη δυνατότητα γραφικής δημιουργίας ολόκληρου του περιβάλλοντος της εφαρμογής

Page 43: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

42 / 90

Αντιστοιχήσετε τα παρακάτω στοιχεία της Α στήλης ξεχωριστά με τα στοιχεία της Β και της Γ. Στήλη Α Στήλη Β Στήλη Γ

Α1 Fortran 1. Γλώσσες Μηχανής Α) Αντικειμενοστραφείς Α2 Visual Basic 2. Γλώσσες Χαμηλού Επιπέδου Β) Τεχνητής Νοημοσύνης Α3 Algol 3. 3ης Γενιάς Γ) Ερωταπαντήσεων Α4 Pascal 4. 4ης Γενιάς Α5 Cobol Α6 Basic Α7 Pl/1 Α8 Sql Α9 C++ Α10 Lisp Α11 Logo Α12 C Α13 Java Α14 Assembly Δίνεται το παρακάτω τμήμα αλγορίθμου σε φυσική γλώσσα κατά βήματα (Ημ2007-1) Βήμα 1: Αν Α > 0 τότε πήγαινε στο Βήμα 5 Βήμα 2: Αν Α = 0 τότε πήγαινε στο Βήμα 7 Βήμα 3: Τύπωσε “Αρνητικός’’ Βήμα 4: Πήγαινε στο Βήμα 8 Βήμα 5: Τύπωσε “Θετικός’’ Βήμα 6: Πήγαινε στο Βήμα 8 Βήμα 7: Τύπωσε “Μηδέν’’ Βήμα 8: Τύπωσε “Τέλος’’ 1. Να σχεδιάσετε το ισοδύναμο διάγραμμα ροής. 2. Να κωδικοποιήσετε το τμήμα αλγορίθμου σε ψευδογλώσσα σύμφωνα με τις αρχές του δομημένου προγραμματισμού Δίνονται οι παρακάτω προτάσεις (Ημ2007-1): Π1. Ο συνδέτης-φορτωτής μετατρέπει το 1 πρόγραμμα σε 2 πρόγραμμα Π2. Ο συντάκτης χρησιμοποιείται για να δημιουργηθεί το 3 πρόγραμμα Π3. Ο μεταγλωττιστής μετατρέπει το 4 πρόγραμμα σε 5 πρόγραμμα και οι παρακάτω λέξεις: α. αντικείμενο β. εκτελέσιμο γ. πηγαίο. Να γράψετε στο τετράδιό σας τους αριθμούς (1–5) των κενών διαστημάτων των προτάσεων και δίπλα το γράμμα της λέξης (α, β, γ) που αντιστοιχεί σωστά. ΣΗΜΕΙΩΣΗ: Κάποιες από τις λέξεις χρησιμοποιούνται περισσότερες φορές από μία. Κατά την ανάπτυξη ενός προγράμματος σε ένα προγραμματιστικό περιβάλλον, με ποια χρονική σειρά πραγματοποιούνται τα βήματα που περιγράφουν οι παραπάνω προτάσεις; Να απαντήσετε γράφοντας τα Π1, Π2, Π3 με τη σωστή σειρά.

Page 44: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

43 / 90

Ασκήσεις Μετατροπής Μη Δομημένου σε Δομημένο Προγραμματισμό (6ο Κεφάλαιο) Μετατροπή Αδόμητων Αλγορίθμων, σε αλγορίθμους που ακολουθούν τις αρχές του Δομημένου Προγραμματισμού (Απαλοιφή της εντολής Πήγαινε σε/ Goto). Να γίνουν τα αντίστοιχα διαγράμματα Ροής α)

β) Αν συνθήκη 1 τότε

εντολή 1 πήγαινε στην εντολή3 Τέλος_αν εντολή2 εντολή3

αν συνθήκη1 τότε πήγαινε στην εντολή4 εντολή3 αλλιώς πήγαινε στην εντολή3 εντολή4 τέλος αν

γ)

δ) εντολή1

αν όχι(συνθήκη1) τότε πήγαινε στην εντολή1 τέλος αν

εντολή1 αν συνθήκη1 τότε εντολή2 πήγαινε εντολή 1 τέλος αν

(ε) (στ) Βήμα1 Βήμα2 Βήμα3 Βήμα4 Βήμα5 Βήμα6 Βήμα7 Βήμα8 Βήμα9 Βήμα10

Αλγόριθμος Ασκ1 Δεδομένα // α, β // Αθρ 0 Αν α > 0 Τότε Πήγαινε στο βήμα6 Αλλιώς Πήγαινε στο βήμα10 Τέλος_Αν Αν α MOD 2 =1 Τότε Αθρ Αθρ + β α α DIV 2 β 2 * β Πήγαινε στο βήμα3 Τύπωσε Αθρ Τέλος Ασκ1

Βήμα1 Βήμα2 Βήμα3 Βήμα4 Βήμα5 Βήμα6 Βήμα7 Βήμα9

Αλγόριθμος Ασκ_2 Διάβασε x Aν (x mod 2 = 1) τότε counter1 ← counter1 + 1 Αλλιώς counter2 ← counter2 + 1 Τέλος_αν Αν (x = 99) τότε πήγαινε στο Βήμα9 Αλλιώς πήγαινε στο Βήμα1 Τέλος_αν Εμφάνισε Τέλος Ασκ_2

(ζ) (η) ΕντολήΑ:

Αλγόριθμος Ασκ_3 Διάβασε αριθμός Aν (αριθμός mod 2 = 0) τότε Εμφάνισε αριθμός πήγαινε στην ΕντολήΑ Τέλος_Αν Τέλος Ασκ_3

ΕντολήΑ: ΕντολήΒ:

Αλγόριθμος Ασκ_4 Αν συνθήκη1 τότε Εντολή1 Αν συνθήκη2 τότε Εντολή2 Εντολή3 Πήγαινε στην ΕντολήΒ Τέλος_Αν Εντολή4 Εντολή5 Πήγαινε στην ΕντολήΑ Τέλος_Αν Εντολή6 Τέλος Ασκ_4

(θ) (ι) ΣημείοΑ:

Αλγόριθμος Ασκ_5 Όσο συνθήκη1 επανάλαβε Εντολή1 Αν συνθήκη2 τότε Εντολή3 Αλλιώς Εντολή2 Πήγαινε στο ΣημείοΑ Τέλος_Αν Τέλος_Επανάληψης Τέλος Ασκ_5

ΕντολήΑ: ΕντολήΒ:

Αλγόριθμος Ασκ_6 άθροισμα ← 0 Χ ← 0 Aν (Χ <= 20) τότε άθροισμα ← άθροισμα + Χ Χ ← Χ + 1 πήγαινε στην ΕντολήΑ Αλλιώς πήγαινε στην ΕντολήΒ Τέλος_Αν Εμφάνισε άθροισμα Τέλος Ασκ_6

Page 45: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

44 / 90

Υποπρογράμματα (10ο Κεφάλαιο – Όλο μέχρι και 10.5.3) Παράδειγμα. Μια δημόσια υπηρεσία διενεργεί διαγωνισμό πρόσληψης. Να γραφεί πρόγραμμα σε Γλώσσα το οποίο: α) διαβάζει το ονοματεπώνυμο κάθε υποψηφίου και σταματά μόλις δοθεί ως ονοματεπώνυμο το 0. β) διαβάζει την οικογενειακή κατάσταση κάθε υποψηφίου (Ε:Έγγαμος, Α:Άγαμος) και ελέγχει την σωστή εισαγωγή

των τιμών γ) διαβάζει το επίπεδο σπουδών κάθε υποψηφίου (1:Υποχρεωτική, 2:Δευτεροβάθμια 3:Πανεπιστημιακή) και το ελέγχει

ως προς την εγκυρότητα του. Το ερώτημα αυτό να γίνει με κατάλληλο υποπρόγραμμα. δ) Ένας υποψήφιος Πανεπιστημιακής Εκπαίδευσης παίρνει 5 μόρια για την πρόσληψή του, ένας Δευτεροβάθμιας

παίρνει 3 μόρια και ένας υποχρεωτικής 1. Ένας έγγαμος παίρνει επιπλέον 5 μόρια ενώ ένας άγαμος 2. Να εμφανίζει τα μόρια του κάθε υποψηφίου. Τα μόρια να υπολογίζονται με κατάλληλο υποπρόγραμμα που θα κατασκευάσετε για αυτό το σκοπό

ΠΡΟΓΡΑΜΜΑ Διαγωνισμός ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ΜόριαΥποψηφίου ΧΑΡΑΚΤΗΡΕΣ: Όνομα, Επίπεδο, Κατάσταση ΑΡΧΗ ΓΡΑΨΕ ‘Δώσε όνομα υποψηφίου : 0 για τέλος’ ΔΙΑΒΑΣΕ Όνομα ΌΣΟ Όνομα < > ‘0’ ΕΠΑΝΑΛΑΒΕ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Δώσε Οικ_κατάσταση Ε για έγγαμο, Α για άγαμο’ ΔΙΑΒΑΣΕ κατάσταση ΜΕΧΡΙΣ_ΟΤΟΥ (κατάσταση = ‘Ε’) ή (κατάσταση = ‘Α’) ΚΑΛΕΣΕ ΕισαγωγήΕπιπ(Επίπεδο) ΜόριαΥποψηφίου Μόρια(Επίπεδο, κατάσταση) ΓΡΑΨΕ ‘Ο υποψήφιος ‘, Όνομα, ‘έχει ‘,ΜόριαΥποψηφίου, ‘ μόρια’ ΓΡΑΨΕ ‘Δώσε όνομα υποψηφίου : 0 για τέλος’ ΔΙΑΒΑΣΕ Όνομα ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ ΕισαγωγήΕπιπ(Επίπεδο) ΜΕΤΑΒΛΗΤΕΣ ΧΑΡΑΚΤΗΡΕΣ: Επίπεδο ΑΡΧΗ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Δώσε το επίπεδο 1, 2, ή 3’ ΔΙΑΒΑΣΕ Επίπεδο ΜΕΧΡΙΣ_ΟΤΟΥ (Επίπεδο = ‘1’) ή (Επίπεδο = ‘2’) ή (Επίπεδο = ‘3’) ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ Μόρια (Επίπεδο, Κατάσταση) : ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΧΑΡΑΚΤΗΡΕΣ: Επίπεδο, Κατάσταση ΑΚΕΡΑΙΕΣ: Μ ΑΡΧΗ Μ 0 ΑΝ Οικ_κατάσταση = ‘Ε’ ΤΟΤΕ Μ Μ + 5 ΑΛΛΙΩΣ Μ Μ + 2 ΤΕΛΟΣ_ΑΝ ΑΝ Επίπεδο = ‘1’ ΤΟΤΕ Μ Μ + 5 ΑΛΛΙΩΣ_ΑΝ Επίπεδο =’2’ ΤΟΤΕ Μ Μ + 3 ΑΛΛΙΩΣ Μ Μ + 1 ΤΕΛΟΣ_ΑΝ Μόρια Μ + 1 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Page 46: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

45 / 90

ΑΣΚΗΣΕΙΣ ΕΜΠΕΔΩΣΗΣ ΚΑΙ ΚΑΤΑΝΟΗΣΗΣ ΤΗΣ ΕΝΟΤΗΤΑΣ: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Ποιες από τις παρακάτω ενέργειες μπορούν να υλοποιηθούν με συνάρτηση και ποιες όχι. Αιτιολογήσετε.

Γράψετε με πληρότητα, την γραμμή δήλωσης του κάθε υποπρογράμματος. 1. Να δέχεται 1 ακέραιο και να εμφανίζει την απόλυτη τιμή της διαφοράς του από το 100. 2. Να δέχεται 3 πραγματικούς αριθμούς και να επιστρέφει αν είναι διατεταγμένοι με αύξουσα σειράή όχι. 3. Να διαβάζει ένα ακέραιο και να επιστρέφει την απόλυτη τιμή της διαφοράς του από το 100. 4. Να διαβάζει 3 ακεραίους και να επιστρέφει τον μεγαλύτερο τους. 5. Να δέχεται 2 πραγματικούς και να εμφανίζει την απόλυτη τιμή της διαφοράς τους. 6. Να δέχεται δύο ακεραίους και να επιστρέφει ένα τυχαίο πραγματικό ανάμεσα τους. 7. Να δέχεται ένα βαθμό και να επιστρέφει ένα χαρακτηρισμό επίδοσης 8. Να δέχεται το όνομα, τον βαθμό και τις απουσίες ενός μαθητή και να επιστρέφει αν προβιβάζεται ή όχι 9. Να διαβάζει το όνομα, τον βαθμό και τις απουσίες ενός μαθητή και να επιστρέφει αν προβιβάζεται ή όχι. 10. Να επιστρέφει – δημιουργεί τυχαίες συντεταγμένες για ένα διάνυσμα 11. Να δέχεται 2 πραγματικούς αριθμούς και να εμφανίζει το μέτρο του μιγαδικού που τους έχει σαν συντεταγμένες. 12. Να δέχεται ένα αριθμό και να επιστέφει αν είναι βαθμός ή όχι

2. Δίνονται οι παρακάτω διαδικασίες. Να γραφούν συναρτήσεις που να κάνουν την ίδια δουλειά, όπου αυτό είναι εφικτό.

Α) ΔΙΑΔΙΚΑΣΙΑ Υπολογισμός(α1, α2, α3) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α1, α2, α3, α, β ΑΡΧΗ α < α1 + α2 β < α DIV α1 α3 < α + β +α2 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Β) ΔΙΑΔΙΚΑΣΙΑ ΥπολογισμόςΜέσου(α1, α2, α3, α) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α1, α2, α3, α, min, max, sum ΑΡΧΗ min < min3(α1,α2,α3) max < max3(α1,α2,α3) sum < α1 + α2 + α3 α < sum – max - min ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

3. Δίνονται οι παρακάτω συναρτήσεις. Να γραφούν διαδικασίες που να κάνουν την ίδια δουλειά. Α) ΣΥΝΑΡΤΗΣΗ ΜΟ (α1, α2, α3): ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α1, α2, α3 ΑΡΧΗ ΜΟ < (α1+α2+α3)/3 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Β) ΣΥΝΑΡΤΗΣΗ Ατμόσφαιρα(CO): ΧΑΡΑΚΤΗΡΑΣ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: CO ΑΡΧΗ ΑΝ CO<0.35 ΤΟΤΕ Ατμόσφαιρα < 'ΚΑΘΑΡΗ' ΑΛΛΙΩΣ Ατμόσφαιρα < 'ΜΟΛΥΣΜΕΝΗ' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

4. Δίνονται τα παρακάτω προγράμματα Α, Β, Γ 1. Τι θα εμφανιστεί κατά την εκτέλεση τους; 2. Να γραφούν ισοδύναμα προγράμματα που να κάνουν το ίδιο χωρίς χρήση υποπρογραμμάτων.

(Α) ΠΡΟΓΡΑΜΜΑ Τεστ1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β ΑΡΧΗ Α < 23 Β < 2 ΚΑΛΕΣΕ Επεξεργασία(Α, Β) ΓΡΑΨΕ Α, Β ΚΑΛΕΣΕ Επεξεργασία(Β, Α) ΓΡΑΨΕ Α, Β ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Επεξεργασία(α, κ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, κ ΑΡΧΗ ΟΣΟ (α > κ) ΕΠΑΝΑΛΑΒΕ α < α DIV 2 κ < 2 * κ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

(Β) ΠΡΟΓΡΑΜΜΑ Τεστ3 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ Α < 23 Β < 2 Γ < 35 ΓΡΑΨΕ ΜΕΣΟΣ(Α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ ΜΕΣΟΣ(α1, α2, α3): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α1, α2, α3, χ1, χ2, α ΑΡΧΗ α < α1+α2+α3 χ1 < μέγιστος(α1, α2, α3) χ2 < - μέγιστος(-α1, -α2, -α3) α1 < 100 ΜΕΣΟΣ < α – χ1- χ2 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Page 47: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

46 / 90

5. Να υπολογισθούν οι τιμές που θα εμφανισθούν μετά από την εκτέλεση των παρακάτω τμημάτων προγραμμάτων:

Δ) ∆ίνεται το παρακάτω πρόγραμμα και υποπρογράμματα: (Εν2006-2) ΠΡΟΓΡΑΜΜΑ Κλήση_Υποπρογραμμάτων ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β, χ ΑΡΧΗ α <- 1 β <- 2 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ α<= 4 ΤΟΤΕ ΚΑΛΕΣΕ ∆ιαδ1(α, β, χ) ΑΛΛΙΩΣ χ <- Συν1(α, β) ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ α, β, χ ΜΕΧΡΙΣ_ΟΤΟΥ χ>11 ΓΡΑΨΕ χ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ∆ΙΑ∆ΙΚΑΣΙΑ ∆ιαδ1 (λ, κ, μ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: κ, λ, μ ΑΡΧΗ κ <- κ+1 λ <- λ+3 μ <- κ+λ ΤΕΛΟΣ_∆ΙΑ∆ΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ Συν1(ε, ζ): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ε, ζ ΑΡΧΗ ζ<- ζ+2 ε<- ε*2 Συν1<- ε+ζ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος

Ε) ∆ίνεται το παρακάτω πρόγραμμα και υποπρογράμματα: (Εν2006-1) ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ∆ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ∆ιαδ1(Α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ∆ΙΑ∆ΙΚΑΣΙΑ ∆ιαδ1(Β, Α, Γ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ Α <- Α + 2 Β<- Β - 3 Γ<- Α + Β ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_∆ΙΑ∆ΙΚΑΣΙΑΣ Τι θα εμφανιστεί κατά την εκτέλεση του προγράμματος, αν ως τιμές εισόδου δοθούν οι αριθμοί 5, 7, 10;

6. Δίνονται το παρακάτω πρόγραμμα και υποπρογράμματα αντίστοιχα. Ποιες από τις εντολές που βρίσκονται στο κυρίως πρόγραμμα είναι σωστές ποιες όχι και γιατί;

ΠΡΟΓΡΑΜΜΑ Βάση ΣΤΑΘΕΡΕΣ π = 3.14159 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β ΠΡΑΓΜΑΤΙΚΕΣ: Γ, Δ ΧΑΡΑΚΤΗΡΕΣ: Ε ΑΡΧΗ

ΔΙΑΒΑΣΕ Α, Β, Γ, Δ, Ε Συν_τεστ (Α, Β) Ε < Συν_τεστ (Α, Β)+2 Δ < Συν_τεστ (Β, Α) Δ < Συν_τεστ (Β, Α, Α) Δ < Συν_τεστ (Β, Β) Δ < Διαδ_τεστ (Β, Δ) ΚΑΛΕΣΕ Διαδ_τεστ (Β, Δ) ΓΡΑΨΕ Συν_τεστ (Α, Β) Δ < 5 * Συν_τεστ (Α, Β)^2 ΚΑΛΕΣΕ Διαδ_τεστ (Β, Ε) ΚΑΛΕΣΕ Διαδ_τεστ (Ε, Β) ΚΑΛΕΣΕ Διαδ_τεστ (Β, Ε, Α) Δ < Συν_τεστ (Α, A_M (Γ) ) ΚΑΛΕΣΕ Συν_τεστ (Β, Α)

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Διαδ_τεστ (x1, x2) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x1 ΧΑΡΑΚΤΗΡΕΣ: x2 ΑΡΧΗ ... ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ Συν_τεστ (α, β): ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β ΑΡΧΗ ... ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Page 48: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

47 / 90

7. Δίνονται τα παρακάτω τμήματα αλγόρίθμου. Να μετατραπούν σε αντίστοιχα υποπρογράμματα. Εκτιμήσετε μόνοι σας, τι τύπου δεδομένων είναι οι μεταβλητές που χρησιμοποιούνται

Αλγόριθμος Ασκ1 Δεδομένα // α, β // Αθρ 0 Όσο α > 0 Επανάλαβε Αν α MOD 2 ≠ 0 Τότε Αθρ Αθρ + β α α DIV 2 β 2 * β Τέλος_Επανάληψης Αποτελέσματα // Αθρ// Τέλος Ασκ1

Αλγόριθμος Ασκ2 Δεδομένα //x, y // Όσο ( x > 1) επανάλαβε z ← x + y x ← x – 1 y ← y + 2 Γράψε x, y, z Τελος_επαναληψης Αποτελέσματα //x, y// Τέλος Ασκ2

Αλγόριθμος Ασκ3 Δεδομένα //x // Διάβασε y Όσο ( x > 1) επανάλαβε z ← x + y x ← x – 1 y ← y + 2 Γράψε x, y, z Τελος_επαναληψης Αποτελέσματα //x, y, z// Τέλος Ασκ3

Αλγόριθμος Ασκ4 Δεδομένα //x , y // z ← y Όσο z ≠ 0 επανάλαβε z ← x mod y x ← y y ← z Τελος_επαναληψης ΜΚΔ ← x Αποτελέσματα //ΜΚΔ // Τέλος Ασκ4

8. Τι θα εκτυπώσει το παρακάτω αν δοθούν στην εντολή Διάβασε Α, Β, Γ οι τιμές 6,3,5 αντίστοιχα ; Ποιες είναι οι πραγματικές και ποιες οι τυπικές παράμετροι στα παραπάνω;

ΠΡΟΓΡΑΜΜΑ ΤΑΔΕ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Β, Γ ΛΟΓΙΚΕΣ : ΤΙΜΗ ΑΡΧΗ ΔΙΑΒΑΣΕ Α, Β, Γ ΓΡΑΨΕ Α, Β, Γ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ Δ1(Α, Β, Γ, ΤΙΜΗ) ΓΡΑΨΕ Α, Β, Γ ΜΕΧΡΙΣ_ΟΤΟΥ ΤΙΜΗ = ΑΛΗΘΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Δ1(Γ, Β, Α, ΤΙΜΗ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Β, Γ ΠΡΑΓΜΑΤΙΚΕΣ : Χ ΛΟΓΙΚΕΣ : ΤΙΜΗ ΑΡΧΗ Χ 2*Γ MOD (Β + Α) ΓΡΑΨΕ Χ ΤΙΜΗ ΥΠΟΛΟΓΙΣΜΟΣ(Χ, Γ) Γ Γ + 2 Α Α + 1 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΥΠΟΛΟΓΙΣΜΟΣ(Ζ,Β):ΛΟΓΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Β ΠΡΑΓΜΑΤΙΚΕΣ: Ζ, Υ ΑΡΧΗ Y Ζ – Α_Μ(Β/2) AN Y > 0 TOTE

ΥΠΟΛΟΓΙΣΜΟΣ ΑΛΗΘΗΣ ΑΛΛΙΩΣ

ΥΠΟΛΟΓΙΣΜΟΣ ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

9. Δίνεται το παρακάτω πρόγραμμα και υποπρογράμματα Α) Βρείτε όλα τα σημεία στα οποία έχουμε κλήση υποπρογράμματος Β) Βρείτε τις τυπικές και τις πραγματικές παραμέτρους σε κάθε κλήση υποπρογράμματος Γ) Ποιο θα είναι το αποτέλεσμα αν δοθούν οι τιμές α=0, β=10, γ= -20 Δ) Να γραφεί ισοδύναμο πρόγραμμα που να κάνει το ίδιο χωρίς χρήση υποπρογραμμάτων.

ΠΡΟΓΡΑΜΜΑ ΕΠΙΛΥΣΗ_ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α, β, γ ΑΡΧΗ ΓΡΑΨΕ 'Πληκτρολόγησε α, β, γ ' ΔΙΑΒΑΣΕ α, β, γ ΑΝ α<>0 ΤΟΤΕ ΚΑΛΕΣΕ Δευτεροβάθμια(α, β, γ) ΑΛΛΙΩΣ ΚΑΛΕΣΕ Πρωτοβάθμια(β, γ) ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Πρωτοβάθμια(α, β) ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α, β, x ΑΡΧΗ ΑΝ α<>0 ΤΟΤΕ x < (-β)/α ΓΡΑΨΕ 'Εξίσωση πρωτοβάθμια με ρίζα ρ= ', x ΑΛΛΙΩΣ_ΑΝ (β=0) ΤΟΤΕ ΓΡΑΨΕ ' Εξίσωση πρωτοβάθμια : Αόριστη’ ΑΛΛΙΩΣ ΓΡΑΨΕ ' Εξίσωση πρωτοβάθμια : Αδύνατη’ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ Δευτεροβάθμια(α, β, γ) ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α, β, γ, Δ, ρ1, ρ2, Χ, Υ ΑΡΧΗ Δ < Β^2-4*Α*Γ ΑΝ (Δ>0) ΤΟΤΕ ρ1 < (-Β+Τ_Ρ(Δ))/(2*Α) ρ2 < (-Β-Τ_Ρ(Δ))/(2*Α) ΓΡΑΨΕ 'Οι ρίζες της εξίσωσης είναι: ', ρ1, ρ2 ΑΛΛΙΩΣ_ΑΝ (Δ=0) ΤΟΤΕ ρ1 < ((-Β)/(2*Α)) ΓΡΑΨΕ 'Η μια διπλή ρίζα της εξίσωσης είναι: ', ρ1 ΑΛΛΙΩΣ Χ < (-Β)/(2*Α) Υ < (Τ_Ρ(Α_Τ(Δ)))/(2*Α) ΓΡΑΨΕ 'Μιγαδικές Ρίζες: ' ΓΡΑΨΕ 'Ζ1 με Re(Ζ1)=', Χ, ' και Im(Ζ1)=', Υ ΓΡΑΨΕ 'Ζ2 με Re(Z2)=', Χ, ' και Im(Ζ2)=', (-Υ) ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Page 49: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

48 / 90

Y ‹― (7127 – x) / (x – 10) + E(x)

10. Συμπληρώσετε σωστά τα παρακάτω υποπρογράμματα. (Ποιο πρόβλημα λύνουν); ΔΙΑΔΙΚΑΣΙΑ Τεστ ( λ, α) ΜΕΤΑΒΛΗΤΕΣ ___________: α ΠΡΑΓΜΑΤΙΚΕΣ: α1, α2, ___ ΧΑΡΑΚΤΗΡΕΣ: λ ΑΡΧΗ _____________ ____, α1, α2 β < (α1+α2)/2 _____ < Α_Μ(β+0.5) ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

____________ Τεστ (π1, ___): __________ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ___ ΠΡΑΓΜΑΤΙΚΕΣ: π2,π3 ΑΡΧΗ Π2 < 100 ΑΝ Α_Τ(π3-π1) > π2 ΤΟΤΕ Τεστ < _________ ΑΛΛΙΩΣ _______ < ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ________________

11. Με δεδομένη τη συνάρτηση max2(x,y) που δέχεται 2 πραγματικούς και επιστρέφει τον μεγαλύτερό τους, να γράψετε τη συνάρτηση Max3(x,y,z)

12. (Στέκι) Δίνεται το παρακάτω πρόγραμμα, το οποίο υπολογίζει την τιμή της παράστασης

3

Δεν ορίζεται , αλλιώς

(127 ) , 22

7127 , 210

x

x x xx x

xY e xx

αν

αν

−+ > −

−= + < − −

ΠΡΟΓΡΑΜΜΑ Θέμα_3 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: x, Y ΑΡΧΗ ΔΙΑΒΑΣΕ x ΑΝ x > 2 TOTE ΤΜΗΜΑ Α ! ΑΛΛΙΩΣ_AN x < –2 TOTE ! ΤΜΗΜΑ Β ΑΛΛΙΩΣ

! ΤΜΗΜΑ Γ

ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

α) Να αναπτύξετε υποπρογράμματα που θα υλοποιούν τα τμήματα Α, Β και Γ του προγράμματος Θέμα_3. Θα τα ορίσετε ως συναρτήσεις ή ως διαδικασίες; Εξηγήστε για κάθε περίπτωση. β) Να ξαναγράψετε το κύριο πρόγραμμα Θέμα_3 έτσι, ώστε να χρησιμοποιεί τα τρία υποπρογράμματα που ορίσατε στο ερώτημα α)

Y ‹― (127 – x)^3 / x Υ ‹― Υ + x / (x – 2)

ΑΝ x < 0 TOTE ΓΡΑΨΕ 'Δεν ορίζεται για –2 ≤ x < 0' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Δεν ορίζεται για 0 ≤ x ≤ 2' ΤΕΛΟΣ_ΑΝ

Page 50: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

49 / 90

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ ΤΗΣ ΕΝΟΤΗΤΑΣ : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Να γίνουν υποπρογράμματα που να κάνουν τα παρακάτω:

a. Να δέχεται 2 ακεραίους αριθμούς και να επιστρέφει τον μικρότερο. b. Να διαβάζει ένα ακέραιο αριθμό από 0 έως 20 και να τον επιστρέφει. c. θα εναλλάσσει τις τιμές 2 ακέραιων μεταβλητών x και y. d. Να δέχεται έναν ακέραιο και να ελέγχει αν είναι τετραψήφιος. e. Να δέχεται ένα έτος και να ελέγχει αν είναι δίσεκτο. f. Να επιτελεί την λειτουργία της συνάρτησης Α_Τ της ΓΛΩΣΣΑΣ (χωρίς την χρήση της Α_Τ) g. Να επιτελεί την λειτουργία της συνάρτησης ΗΜ της ΓΛΩΣΣΑΣ. Πιο συγκεκριμένα θα δέχεται μία γωνία σε

μοίρες και θα επιστρέφει το ημίτονό της. Ο υπολογισμός γίνεται:

3 5 7 271 1 1 1( ) ...

3! 5! 7! 27!n x x x x x xµ = − + − + +

όπου ν!=1·2·3·4·…· (ν-1) ·ν και 0<=x<=2π h. Να δέχεται ένα πραγματικό αριθμό και να επιστρέφει τον πλησιέστερο σε αυτόν, ακέραιο i. Να δέχεται ένα πραγματικό αριθμό και μία ακέραια ακρίβεια και να επιστρέφει τον πραγματικό αριθμό

στρογγυλοποιημένο στη ζητούμενη ακρίβεια (π.χ. αν δοθούν 19,2375 και 2 να επιστρέφει 19,24) j. Να υλοποιεί την πράξη Ευκλείδειο Υπόλοιπο χωρίς να χρησιμοποιήσετε MOD. k. Nα δέχεται δύο ακέραιους αριθμούς και να επιστρέφει τον Μ.Κ.Δ. τους. (με μέθοδο Ευκλείδη) l. Να δέχεται βαθμό Α’ τετραμήνου, βαθμό Β’ τετραμήνου και γραπτό και να υπολογίζει το βαθμό πρόσβασης που

προκύπτει από αυτούς. Για τον υπολογισμό του βαθμού πρόσβασης σε κάθε μάθημα συμμετέχει 70% ο γραπτός και 30% ο προσαρμοσμένος (±2) προφορικός.

2. Να γραφεί πρόγραμμα στο οποίο να δίνονται 100 ακέραιοι βαθμοί και να υπολογίζει τον μικρότερό τους. Να χρησιμοποιηθούν τα υποπρογράμματα 1a,1b

3. Να γίνει ένα πρόγραμμα το οποίο θα διαβάζει τρεις ακέραιους αριθμούς και θα τους καταχωρεί στις μεταβλητές Α, Β και Γ, θα τους ταξινομεί κατά αύξουσα σειρά εναλλάσσοντας τις τιμές τους μεταξύ των μεταβλητών με τη βοήθεια της διαδικασίας 1c, έτσι ώστε Α<=Β<=Γ. Τέλος θα εμφανίζει τις ταξινομημένες τιμές των μεταβλητών Α, Β και Γ.(Στέκι)

4. Να γραφεί πρόγραμμα στο οποίο να δίνονται οι προφορικοί και οι γραπτοί βαθμοί στα 6 πανελλήνια εξεταζόμενα μαθήματα ενός μαθητή και να υπολογίζεται ο Γενικός βαθμός πρόσβασης με ακρίβεια 2ου δεκαδικού ψηφίου, με τη βοήθεια του υποπρογράμματος 1n.

5. Να γίνει πρόγραμμα το οποίο Α) Να διαβάζει δυάδες ακεραίων αριθμών μέχρι να δοθεί το ζευγάρι 0, 0. Β) Να υπολογίζει τα γινόμενα τους με τη χρήση αντίστοιχου υποπρογράμματος Πολ_Ρωσικά Γ) Να εμφανίζει το μέσο όρο των γινομένων Να γραφεί το υποπρόγραμμα Πολ_Ρωσικά που υλοποιηθεί τον πολλαπλασιασμό αλά ρωσικά.

6. Να γραφεί πρόγραμμα που να εμφανίζει το παρακάτω μενού: Πολλαπλασιασμός δύο θετικών ακεραίων αριθμών Α. Με τη μέθοδο του πολλαπλασιασμού αλά ρωσικά Β. Με την κανονική μέθοδο απλού πολλαπλασιασμού Γ. Με συνεχείς προσθέσεις Δ. Έξοδος Δώστε μία από τις παραπάνω επιλογές

Στη συνέχεια ανάλογα με την επιλογή να κάνει τις αντίστοιχες ενέργειες. Παρατήρηση: Να γραφούν κατάλληλα υποπρογράμματα για κάθε μία από τις 3 πρώτες ενέργειες καθώς και για την

παρουσίαση του Μενού επιλογών.. 7. Να γίνει πρόγραμμα το οποίο να δέχεται ως είσοδο 5 πραγματικούς αριθμούς και στη συνέχεια:

Να εντοπίζει το μεγαλύτερο από τους 3 πρώτους Να εντοπίζει το μεγαλύτερο από τους 3 τελευταίους Να εντοπίζει το μεγαλύτερο από τους 3 μεσαίους (2ο -4ο ) Να υπολογίζει τον μικρότερο των αριθμών που εντόπισε Να φτιάξετε πρώτα τη συνάρτηση Μέγιστος3(α,β,γ) που επιστρέφει τον μεγαλύτερο των α,β,γ.

8. Ο αριθμός 467 έχει την ιδιότητα τα ψηφία του να αυξάνουν από τα αριστερά προς τα δεξιά. Να γραφεί υποπρόγραμμα που να δέχεται ένα τριψήφιο ακέραιο και να επιστρέφει τα ψηφία του. Στη συνέχεια να γραφεί κυρίως πρόγραμμα που να χρησιμοποιεί το παραπάνω υποπρόγραμμα για να υπολογίζει του αριθμούς που έχουν την ιδιότητα αυτή (στο διάστημα (100 – 999)

9. Να γραφεί πρόγραμμα που να εμφανίζει ένα μενού ως εξής: 1. Μετατροπή δυαδικού σε δεκαδικό 2. Μετατροπή δεκαδικού σε δυαδικό 3. Έξοδος

και να διαβάζει αντίστοιχη επιλογή (να ελέγχεται). Στη συνέχεια ανάλογα με την επιλογή να καλεί αντίστοιχο υποπρόγραμμα, το οποίο να κάνει τις πρέπουσες ενέργειες. Θεωρήσετε γνωστό το υποπρόγραμμα Δυαδικός, το οποίο δέχεται ένα ακέραιο αριθμό και ελέγχει αν είναι δυαδικός.

-

Page 51: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

50 / 90

10. Γράψτε κυρίως πρόγραμμα και υποπρογράμματα που θα αντιμετωπίζουν το πρόβλημα Μενού, όπως προτείνεται παρακάτω: Α) Υποπρόγραμμα Μενού που θα εμφανίζει το παρακάτω μικρό μενού επιλογών:

1. Διαίρεση δύο αριθμών 2. Ύψωση ενός αριθμού σε συγκεκριμένη δύναμη 3. Στρογγυλοποίηση ενός αριθμού σε επιθυμητή ακρίβεια 4. Μέγιστος Κοινός Διαιρέτης δύο ακεραίων 5. Ελάχιστο Κοινό Πολλαπλάσιο δύο ακεραίων 6. Έξοδος - Τερματισμός Δώσε επιλογή από 1 μέχρι 6:

Στη συνέχεια να διαβάζει μια επιλογή (από 1 μέχρι 6) και θα επιστρέφει την τιμή της. Β) Υποπρογράμματα για κάθε μία από τις 5 περιπτώσεις. Γ) Το κυρίως πρόγραμμα το οποίο θα καλεί αρχικά το υποπρόγραμμα Μενού και στη συνέχεια ανάλογα με την επιλογή ένα από τα αντίστοιχα υποπρογράμματα. Το πρόγραμμα τερματίζεται όταν δοθεί η επιλογή 5. Προσοχή πρώτα θα γραφεί το κυρίως πρόγραμμα και από κάτω τα υποπρογράμματα

11. Μία εταιρεία κινητής τηλεφωνίας έχει τα παρακάτω πακέτα με τις αντίστοιχες χρεώσεις για τους συνδρομητές της (όλες οι τιμές είναι σε ευρώ):

Πακέτα 60 120 240 1000

Μηνιαίο Πάγιο 1ου χρόνου 14,50 18,50 29,50 106 Μηνιαίο Πάγιο 2ου χρόνου 13 17 25,30 97,5 Δωρεάν χρόνος ομιλίας 60’ 120’ 240’ 1000’ Κλήσεις σε σταθερά, το δευτερόλεπτο 0,0033 0,0032 0,003 0,0028 Κλήσεις σε κινητά της ίδιας εταιρείας, το δευτερόλεπτο 0.0031 0,0029 0,0027 0,0025

Κλήσεις σε άλλα κινητά, το δευτερόλεπτο 0,0034 0,0033 0,0031 0,0028 Το ΦΠΑ είναι για όλους 19%. Να γραφεί πρόγραμμα το οποίο: Α) Να διαβάζει το ονοματεπώνυμο του συνδρομητή και σε πιο πακέτο ανήκει (να ελέγχεται η τιμή του πακέτου

ώστε να είναι αποδεκτή. Β) Να διαβάζει το χρόνο ομιλίας (σε δευτερόλεπτα) σε σταθερά τηλέφωνα, σε κινητά της ίδιας εταιρείας και σε

κινητά άλλης εταιρείας. Γ) Να υπολογίζει την αξία του λογαριασμού χωρίς το ΦΠΑ (ο δωρεάν χρόνος ομιλίας αφαιρείται με τρόπο που

συμφέρει την εταιρεία και όχι τον πελάτη) Δ) Να εμφανίζει το ονοματεπώνυμο του συνδρομητή και την τελική αξία του λογαριασμού του Η παραπάνω διαδικασία θα τερματίζεται όταν δοθεί σαν όνομα η τιμή «ΤΕΛΟΣ». Προσοχή όταν δοθεί η τιμή αυτή δεν πρέπει να ακολουθήσει εισαγωγή άλλων δεδομένων. Κατά την έξοδο του, το πρόγραμμα θα εμφανίζει τα συνολικά καθαρά έσοδα της εταιρείας καθώς και το ΦΠΑ. Οι ενέργειες του βήματος Α και Γ να υλοποιηθούν με κατάλληλα υποπρογράμματα.

12. Υπόγειο parking σε κεντρική πλατεία της Αθήνας ακολουθεί την εξής τιμολογιακή πολιτική: Χρόνος(σε ώρες) Χρέωση 1 5€ 2 μέχρι 4 5€ για την 1η ώρα και 2€ για κάθε επόμενη ώρα 5 μέχρι και 23 18€ 24 και άνω 30€ για κάθε μέρα

Να αναπτύξετε πρόγραμμα που θα διαβάζει επαναληπτικά τον αριθμό κυκλοφορίας ενός αυτοκινήτου, τις ώρες στάθμευσης και το ονοματεπώνυμο του ιδιοκτήτη του αυτοκινήτου θα υπολογίζει και θα εκτυπώνει τη χρέωση. Ο υπολογισμός θα γίνεται με υποπρόγραμμα που θα κατασκευάσετε για το σκοπό αυτό. Η επανάληψη θα σταματά όταν για αριθμός κυκλοφορίας δοθεί η λέξη «ΤΕΛΟΣ». Οι ώρες πρέπει να είναι ακέραιοι θετικοί αριθμοί και σε περίπτωση που είναι πάνω από 23 θα πρέπει να είναι ακέραια πολλαπλάσια του 24 (π.χ. δεν επιτρέπεται η τιμή 28, αλλά μόνο οι 24,48,72,κλπ) (Γ.Σ.)

13. Σε ένα πάρκινγκ η χρέωση γίνεται κλιμακωτά, όπως φαίνεται στον παρακάτω πίνακα (Εν2006-2): ∆ΙΑΡΚΕΙΑ ΣΤΑΘΜΕΥΣΗΣ ΚΟΣΤΟΣ ΑΝΑ ΩΡΑ

Μέχρι και 3 ώρες 2 € Πάνω από 3 έως και 5 ώρες 1,5 €

Πάνω από 5 ώρες 1,3 € Ι. Να κατασκευάσετε πρόγραμμα το οποίο: α) περιλαμβάνει τμήμα δηλώσεων. 2 β) για κάθε αυτοκίνητο που στάθμευσε στο πάρκινγκ: i. διαβάζει τον αριθμό κυκλοφορίας μέχρι να δοθεί το 0. Να θεωρήσετε ότι ο αριθμός κυκλοφορίας μπορεί να περιέχει τόσο γράμματα όσο και αριθμούς. 2 ii. διαβάζει τη διάρκεια στάθμευσης σε ώρες και τη δέχεται μόνο αν είναι μεγαλύτερη από το 0. 3

Page 52: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

51 / 90

iii. καλεί υποπρόγραμμα για τον υπολογισμό του ποσού που πρέπει να πληρώσει ο κάτοχός του. 2 iv. εμφανίζει τον αριθμό κυκλοφορίας και το ποσό που αναλογεί. 2 γ) εμφανίζει το πλήθος των αυτοκινήτων που έμειναν στο πάρκινγκ μέχρι και δύο ώρες. 4 ΙΙ. Να κατασκευάσετε το υποπρόγραμμα που καλείται στο ερώτημα β) iii. 5

14. Σε ένα διαγωνισμό του ΑΣΕΠ εξετάζονται 1500 υποψήφιοι. Ως εξεταστικό κέντρο χρησιμοποιείται ένα κτίριο με αίθουσες διαφορετικής χωρητικότητας. Ο αριθμός των επιτηρητών που απαιτούνται ανά αίθουσα καθορίζεται αποκλειστικά με βάση τη χωρητικότητα της αίθουσας ως εξής: (Εν2006-1)

ΧΩΡΗΤΙΚΟΤΗΤΑ ΑΡΙΘΜΟΣ ΕΠΙΤΗΡΗΤΩΝ Μέχρι και 15 θέσεις 1 Από 16 μέχρι και 23 θέσεις 2 Πάνω από 23 θέσεις 3

Να γίνει πρόγραμμα σε γλώσσα προγραμματισμού «ΓΛΩΣΣΑ» το οποίο: α. για κάθε αίθουσα θα διαβάζει τη χωρητικότητά της, θα υπολογίζει και θα εμφανίζει τον αριθμό των επιτηρητών που χρειάζονται. Ο υπολογισμός του αριθμού των επιτηρητών να γίνεται από συνάρτηση που θα κατασκευάσετε για το σκοπό αυτό. Μονάδες 12 β. θα σταματάει όταν εξασφαλισθεί ο απαιτούμενος συνολικός αριθμός θέσεων. Μονάδες 8 Σημείωση: Να θεωρήσετε ότι η συνολική χωρητικότητα των αιθουσών του κτιρίου επαρκεί για τον αριθμό των υποψηφίων.

15. Μία εταιρεία ενοικίασης αυτοκινήτων έχει νοικιάσει 30 αυτοκίνητα τα οποία κατηγοριοποιούνται σε οικολογικά και συμβατικά. Η πολιτική χρέωσης για την ενοικίαση ανά κατηγορία και ανά ημέρα δίνεται στον παρακάτω πίνακα (Ημ2008-1)

ΗΜΕΡΕΣ ΟΙΚΟΛΟΓΙΚΑ ΣΥΜΒΑΤΙΚΑ 1-7 30€ ανά ημέρα 40€ ανά ημέρα 8-16 20€ ανά ημέρα 30€ ανά ημέρα από 17 και άνω 10€ ανά ημέρα 20€ ανά ημέρα

1. Να αναπτύξετε πρόγραμμα το οποίο: α. Περιλαμβάνει τμήμα δηλώσεων μεταβλητών. Μονάδες 2 β. Για κάθε αυτοκίνητο το οποίο έχει ενοικιαστεί: i. Διαβάζει την κατηγορία του («ΟΙΚΟΛΟΓΙΚΑ» ή «ΣΥΜΒΑΤΙΚΑ») και τις ημέρες ενοικίασης. Μονάδες 2 ii. Καλεί υποπρόγραμμα με είσοδο την κατηγορία του αυτοκινήτου και τις ημέρες ενοικίασης και υπολογίζει με βάση τον παραπάνω πίνακα τη χρέωση. Μονάδες 2 iii. Εμφανίζει το μήνυμα “χρέωση” και τη χρέωση που υπολογίσατε. Μονάδες 2 γ. Υπολογίζει και εμφανίζει το πλήθος των οικολογικών και των συμβατικών αυτοκινήτων. Μονάδες 4 2. Να κατασκευάσετε το κατάλληλο υποπρόγραμμα του ερωτήματος 1.β.ii. Μονάδες ΣΗΜΕΙΩΣΗ: 1) Δεν απαιτείται έλεγχος εγκυρότητας για τα δεδομένα εισόδου και 2) Ο υπολογισμός της χρέωσης δεν πρέπει να γίνει κλιμακωτά. 16. (Στέκι) Στο τμήμα Επιστήμης Υπολογιστών, ένας φοιτητής έχει τις εξής υποχρεώσεις στα πλαίσια του μαθήματος

«Λειτουργικά Συστήματα»: να κάνει 3 ασκήσεις, να δώσει μια Πρόοδο (Πρόοδος = διαγώνισμα πριν τις εξετάσεις) και να δώσει την τελική εξέταση. Προϋπόθεση για να συμμετάσχει στην τελική εξέταση είναι ο μέσος όρος των 3 ασκήσεων και της Προόδου να είναι από 5 και πάνω. Ο υπολογισμός του τελικού βαθμού γίνεται ως εξής : α) σε περίπτωση που ο βαθμός τελικής εξέτασης είναι κάτω του 5 τότε κάθε βαθμός άσκησης συμμετέχει σε ποσοστό 10% στον τελικό βαθμό, ο βαθμός Προόδου συμμετέχει σε ποσοστό 15% στον τελικό βαθμό και ο βαθμός της τελικής εξέτασης συμμετέχει σε ποσοστό 55% στον τελικό βαθμό. β) διαφορετικά κάθε βαθμός άσκησης συμμετέχει σε ποσοστό 6% στον τελικό βαθμό, ο βαθμός Προόδου συμμετέχει σε ποσοστό 12% στον τελικό βαθμό και ο βαθμός της τελικής εξέτασης συμμετέχει σε ποσοστό 70% στον τελικό βαθμό. Να γράψετε ΔΙΑΔΙΚΑΣΙΑ ΔιαΒαθμ η οποία διαβάζει το βαθμό του φοιτητή σε μια υποχρέωση και τον αποθηκεύει στην πραγματική μεταβλητή Β. Η διαδικασία θα πρέπει να εξασφαλίζει ότι ο βαθμός που διαβάζεται είναι από 0 έως και 10. (Μονάδες 4) Να γράψετε ΣΥΝΑΡΤΗΣΗ ΤελικοςΒαθμος, η οποία δέχεται τους 5 βαθμούς (τρεις βαθμοί ασκήσεων , μια πρόοδος και μια τελική εξέταση) κάθε φοιτητή και υπολογίζει τον τελικό βαθμό στο μάθημα «Λειτουργικά Συστήματα».(Μ6) Να γράψετε πρόγραμμα το οποίο : Θα διαβάζει τα ονοματεπώνυμα και τους βαθμούς στις υποχρεώσεις στο μάθημα Λειτουργικά Συστήματα ενός συνόλου φοιτητών. Για την εισαγωγή και τον έλεγχο των βαθμών να γίνεται χρήση της Διαδικασίας ΔιαΒαθμ. Η είσοδος τερματίζεται μόλις δοθεί ως ονοματεπώνυμο το κενό. (Μονάδες 4) Θα υπολογίζει και θα εμφανίζει τον τελικό βαθμό του κάθε φοιτητή που έλαβε μέρος στην τελική εξέταση κάνοντας χρήση της συνάρτησης. (Μονάδες 4) Θα εμφανίζει το ποσοστό των φοιτητών που δεν απέκτησαν το δικαίωμα να λάβουν μέρος στην τελική εξέταση (Μ2)

Τετράδιο Μαθητή: Ασκήσεις : ΔΤ1, ΔΤ2, ΔΕ1, ΔΕ3, ΔΣ4, ΔΣ5 & Τεστ Αυτοαξιολόγησης Ασκήσεις Δομής Επανάληψης Φυλλαδίου: 51, 55, 60, 63, 73, 75

Page 53: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

52 / 90

Δομές Δεδομένων και Πίνακες (3ο και 9ο κεφάλαιο) Τυπικές επεξεργασίες μονοδιάστατων πινάκων Α[Ν], όπου Ν γνωστός Θετικός Ακέραιος

ΕΙΣΑΓΩΓΗ ΣΤΟΙΧΕΙΩΝ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΔΙΑΒΑΣΕ Α[ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΕΜΦΑΝΙΣΗ ΣΤΟΙΧΕΙΩΝ ΠΙΝΑΚΑ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ A[ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΥΠΟΛΟΓΙΣΜΟΣ ΑΘΡΟΙΣΜΑΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΠΙΝΑΚΑ Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν Σ←Σ + Α[i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Το άθροισμα είναι‘, Σ

ΥΠΟΛΟΓΙΣΜΟΣ ΜΕΣΟΥ ΟΡΟΥ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΠΙΝΑΚΑ Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν Σ ← Σ + Α[ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΟ ← Σ / Ν ΓΡΑΨΕ ‘Ο μέσος όρος είναι ‘, ΜΟ

ΕΥΡΕΣΗ ΤΟΥ ΕΛΑΧΙΣΤΟΥ ΣΤΟΙΧΕΙΟΥ ΜΙΝ min ← Α[1] ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΑΝ Α[ i ] < min ΤΟΤΕ min ← Α[ i ] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Ελάχιστη τιμή: ’,min

Το i μπορεί να ξεκινάει από 1 αντί από 2 Αντί για < μπορεί να γραφεί <=

ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΑΙ ΘΕΣΗ ΑΥΤΟΥ (MAXI) max ← Α[1] maxi ← 1 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΑΝ Α[ i ] > max ΤΟΤΕ max ← Α[ i ] maxi ← i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Ο μέγιστος βρίσκεται στη θέση ‘, maxi ΓΡΑΨΕ ‘Ο ‘, Β[maxi], ‘ έχει τη μέγιστη τιμή ’, max

Maxi : Η θέση (το i) του μεγαλύτερου κάθε φορά

Β[maxi] είναι το στοιχείο του παράλληλου πίνακα Β που αντιστοιχεί στο Α[maxi] δηλαδή στο max

ΑΝΑΖΗΤΗΣΗ ΕΝΟΣ ΣΤΟΙΧΕΙΟΥ -ΚΛΕΙΔΙ ΣΕ ΠΙΝΑΚΑ (ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ)

Πόσες φορές υπάρχει το στοιχείο αναζήτησης: κλειδί στον Α και σε ποιες θέσεις

Αναζήτηση αν υπάρχει το κλειδί, και σε ποια θέση θα βρεθεί. Μόλις το βρει σταματάει (του βιβλίου)

π ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N ΑΝ Α[ i ] = κλειδί ΤΟΤΕ ΓΡΑΨΕ ‘Βρέθηκε στη θέση ‘, i π ← π + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Βρέθηκε ‘, π, ‘ φορές’

βρέθηκε ← ψευδής θέση ← 0 i ← 1 ΟΣΟ i <=Ν ΚΑΙ βρέθηκε= ψευδής ΕΠΑΝΑΛΑΒΕ ΑΝ Α[ i ]=κλειδί ΤΟΤΕ βρέθηκε ← αληθής θέση ← i ΑΛΛΙΩΣ i ← i+1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ // θέση //

Αναζήτηση κλειδιού μέχρι να βρεθεί Κ φορές

Αναζήτηση αν υπάρχει το κλειδί σε αύξοντα ταξινομημένο πίνακα Α

φορές ← 0 i ← 1 ΟΣΟ φορές < Κ ΚΑΙ i <= Ν ΕΠΑΝΑΛΑΒΕ ΑΝ Α[ i ] = κλειδί ΤΟΤΕ φορές ← φορές + 1 ΓΡΑΨΕ Α[ i ], i ΑΛΛΙΩΣ i ← i + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ φορές = Κ ΤΟΤΕ ΓΡΑΨΕ ‘Υπάρχει τουλάχιστον ‘, φορές, ‘ φορές’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Δε βρέθηκε τις ζητούμενες φορές’ ΤΕΛΟΣ_ΑΝ

σταμάτα ← ψευδής θέση ← 0 i ← 1 ΟΣΟ i <=Ν ΚΑΙ σταμάτα = ψευδής ΕΠΑΝΑΛΑΒΕ ΑΝ Α[ i ]=κλειδί ΤΟΤΕ σταμάτα ← αληθής θέση ← i ΑΛΛΙΩΣ_ΑΝ Α[ i ] >κλειδί ΤΟΤΕ σταμάτα ← αληθής ΑΛΛΙΩΣ i ← i+1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Page 54: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

53 / 90

ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΠΙΝΑΚΑ ΜΕ ΕΥΘΕΙΑ ΑΝΤΑΛΛΑΓΗ (ΦΥΣΑΛΙΔΑ) Αύξουσα (από το μικρότερο στο μεγαλύτερο) Φθίνουσα (από το μεγαλύτερο στο μικρότερο) ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1 ΑΝ Α[ j – 1 ] > A[ j ] ΤΟΤΕ TEMP ← A[ j-1] A[ j – 1 ] ← A[ j ] A[ j ] ← TEMP ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1 ΑΝ Α[ j – 1 ] < A[ j ] ΤΟΤΕ TEMP ← A[ j-1] A[ j – 1 ] ← A[ j ] A[ j ] ← TEMP ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΑΞΙΝΟΜΗΣΗ – ΤΕΧΝΙΚΕΣ ΒΕΛΤΙΩΣΗΣ

Μερική Ταξινόμηση των στοιχείων του πίνακα, Δηλαδή όταν θέλουμε τα κ (κ<ν) πρώτα στοιχεία του πίνακα ταξινομημένα

Βελτιωμένη Ταξινόμηση των στοιχείων του πίνακα, ώστε αν ο πίνακας ταξινομηθεί πριν ολοκληρωθεί η διαδικασία της φυσαλίδας η διαδικασία να σταματάει.

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ (Κ+1) ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1 ΑΝ Α[ j – 1 ] > A[ j ] ΤΟΤΕ

temp ← A[ j-1 ] A[ j – 1 ] ← A[ j ] A[ j ] ← temp

ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

i < 2 ταξινομημένος < ψευδής ΟΣΟ i<=N ΚΑΙ ΟΧΙ (ταξινομημένος) ΕΠΑΝΑΛΑΒΕ ταξινομημένος < αληθής ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1 ΑΝ Α[ j – 1 ] > A[ j ] ΤΟΤΕ ταξινομημένος <- ψευδής Temp < A[ j-1] A[ j – 1 ] < A[ j ] A[ j ] < Temp ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ i < i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΕΙΔΙΚΕΣ ΑΛΛΑ ΚΡΙΣΙΜΕΣ ΠΕΡΙΠΤΩΣΕΙΣ

Ταξινόμηση (κατά φθίνουσα τρόπο) στοιχείων δύο παράλληλων πινάκων ως προς τα στοιχεία του ενός από τους δύο πίνακες Παράδειγμα: πίνακες : μαθητές, βαθμοί

Ταξινόμηση στοιχείων δυο παράλληλων πινάκων κατά αύξουσα σειρά ως προς τα στοιχεία του ενός. Σε περίπτωση ισοβαθμίας, η ταξινόμηση γίνεται βάσει των στοιχείων του άλλου πίνακα κατά αύξουσα σειρά επίσης (μαθητές, βαθμοί)

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1 ΑΝ Βαθμοί[ j – 1 ] < Βαθμοί[ j ] ΤΟΤΕ βαθμός ← Βαθμοί[ j-1] Βαθμοί [ j – 1 ] ← Βαθμοί [ j ] Βαθμοί [ j ] ← Βαθμός Μαθητής ← Μαθητές [ j-1 ] Μαθητές [ j – 1 ] ← Μαθητές [ j ] Μαθητές [ j ] ← Μαθητής ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1 ΑΝ Β[ j – 1 ] > Β[ j ] ΤΟΤΕ βαθμός ← Β[ j-1] Β [ j – 1 ] ← Β [ j ] Β [ j ] ← Βαθμός Μαθητής ← Μ [ j-1] Μ [ j – 1 ] ← Μ [ j ] Μ [ j ] ← Μαθητής ΤΕΛΟΣ_ΑΝ ΑΝ Β[ j – 1 ] = Β[ j ] ΚΑΙ Μ[ j – 1 ] >Μ[ j ] ΤΟΤΕ Μαθητής ← Μ [ j-1] Μ [ j – 1 ] ← Μ [ j ] Μ [ j ] ← Μαθητής ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Γενικά αν έχω πολλούς πίνακες Α1, Α2, Α3, ..., ΑM και θέλω αύξουσα (αντίστοιχα για φθίνουσα αλλάζει η ανισότητα στο αντίστοιχο κομμάτι) ταξινόμηση ως προς τα στοιχεία του Α1, σε περίπτωση ισοβαθμίας ως προς του Α2, σε περίπτωση ισοβαθμίας ως προς τα στοιχεία του Α3, δουλεύουμε αντίστοιχα

Για να αποφύγετε το 2ο Αν μπορείτε να βάλετε τη συνθήκη του, με Η στο 1ο Αν

Page 55: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

54 / 90

ΔΙΑΧΩΡΙΣΜΟΣ ΩΣ ΠΡΟΣ ΚΡΙΤΗΡΙΑ κ ← 0 λ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΑΝ συνθήκη1 ΤΟΤΕ κ ← κ + 1 Β[ κ ] ← Α[ i ] ΑΛΛΙΩΣ λ ← λ + 1 Γ[ λ ] ← Α[ i ] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Τα Ν στοιχεία του πίνακα διαχωρίζονται σε ένα ή περισσότερους πίνακες, Β, Γ, κλπ. Βάσει συνθηκών, πχ οι θετικοί στον ένα οι αρνητικοί στον άλλο, κλπ. Για κάθε νέο πίνακα θέλω ξεχωριστό δείκτη, γιατί δεν είναι παράλληλος (συνδεμένος) με τον αρχικό, ώστε να έχουν κοινό δείκτη αναφοράς. Στο τέλος ο πίνακας Β θα έχει κ στοιχεία και ο Γ θα έχει λ στοιχεία

ΣΥΓΧΩΝΕΥΣΗ ΔΥΟ ΠΙΝΑΚΩΝ Α[Ν], Β[Μ] ΣΕ ΕΝΑ ΤΡΙΤΟ ΤΟΝ Γ[Ν+Μ] ΑΝ ΟΙ ΠΙΝΑΚΕΣ ΔΕΝ ΕΙΝΑΙ ΤΑΞΙΝΟΜΗΜΕΝΟΙ ΑΝ ΟΙ ΠΙΝΑΚΕΣ ΕΙΝΑΙ ΤΑΞΙΝΟΜΗΜΕΝΟΙ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν+Μ ΑΝ i <=Ν ΤΟΤΕ Γ[ i ] ← Α[ i ] ΑΛΛΙΩΣ Γ[ i ] ← Β[ i - Ν ] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ή ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν Γ[ i ] ← Α[ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Μ Γ[ Ν + i ] ← Β [ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Αν σε μία άσκηση θέλετε να συγχωνεύσετε δύο ταξινομημένους πίνακες χωρίς να χρησιμοποιήσετε το διπλανό δύσκολο αλγόριθμο, μπορείτε να κάνετε απλή συγχώνευση (όπως παραπάνω) και στη συνέχεια ταξινόμηση του πίνακα που προκύπτει.

i ← 1 j ← 1 k ← 1 ! Μέχρι να τελειώσει ο ένας ή ο άλλος ΟΣΟ i <= Ν ΚΑΙ j <= Μ ΕΠΑΝΑΛΑΒΕ ΑΝ Α[ i ] <= Β[ j ] ΤΟΤΕ

Γ[ k ] ← Α[ i] i ← i + 1

ΑΛΛΙΩΣ Γ[ k ] ← Β[ j ] j ← j + 1

ΤΕΛΟΣ_ΑΝ k ← k +1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ i > Ν ΤΟΤΕ ! Αν τελείωσε ο Α πρώτος τότε ! συμπλήρωσε τον Γ με τα υπόλοιπα στοιχεία του Β ΓΙΑ λ ΑΠΟ k ΜΕΧΡΙ Ν + Μ

Γ[ λ ] ← Β[ j ] j ← j + 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΛΛΙΩΣ ! Διαφορετικά συμπλήρωσε τον Γ από τον Β ΓΙΑ λ ΑΠΟ k ΜΕΧΡΙ Ν + Μ

Γ[ λ ] ← Α[ i ] i ← i + 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν + Μ ΓΡΑΨΕ Γ[ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΣΥΧΝΟΤΗΤΑ ΕΜΦΑΝΙΣΗΣ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΕΝΟΣ ΠΙΝΑΚΑ Μέτρια: Δίνεται ταξινομημένος πίνακας Α που έχει στοιχεία που επαναλαμβάνονται, με Ν στοιχεία. Να εμφανιστεί κάθε στοιχείο του μία φορά και πόσες φορές υπάρχει αυτό στον πίνακα

π < 1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν-1 ΑΝ Α[ i ] =A[ i+1] ΤΟΤΕ π < π+1 ΑΛΛΙΩΣ ΓΡΑΨΕ ‘ Ο ‘, Α[ i ], ‘ βρέθηκε ‘, π, ‘φορές’ π < 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘ Ο ‘, Α[ Ν ], ‘ βρέθηκε ‘, π, ‘φορές’

Δύσκολη: Δίνεται πίνακας Α με Ν στοιχεία που έχει στοιχεία που επαναλαμβάνονται. Να δημιουργηθούν οι πίνακες Β (που περιέχει μόνο μία φορά το κάθε στοιχείο του Α) και Σ (Συχνοτήτων) κ 0 ! το πλήθος των στοιχείων στον πίνακα Β ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν ! προσπελαύνουμε όλο τον Α νέο ΑΛΗΘΗΣ ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ κ ! Ψάχνω το Α[ι] στον Β ΑΝ Α[ι]=Β[j] ΤΟΤΕ ! Αν βρεθεί στη j θέση Σ[j] Σ[j] + 1 ! Αυξάνω τη συχνότητα του Β[j] νέο ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ νέο ΤΟΤΕ ! Αν δε βρεθεί το βάζει στον πίνακα Β κ κ + 1 Β[κ] Α[ι] Σ[κ] 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ //Β, Σ, Κ//

Page 56: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

55 / 90

ΤΥΠΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΔΙΣΔΙΑΣΤΑΤΩΝ ΠΙΝΑΚΩΝ Α Ν Χ Μ ΕΙΣΑΓΩΓΗ ΣΤΟΙΧΕΙΩΝ ΣΤΟΝ ΠΙΝΑΚΑ Α

Ανά γραμμή ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ M ! ΓΡΆΨΕ ‘Δώσε στοιχείο:’, i ,‘ γραμμής ‘, j,‘ στήλης’ ΔΙΑΒΑΣΕ Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Ανά στήλη ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ! ΓΡΆΨΕ ‘Δώσε στοιχείο :’, i ,‘ γραμμής και ‘, j,‘στήλης’ ΔΙΑΒΑΣΕ Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΕΜΦΑΝΙΣΗ ΣΤΟΙΧΕΙΩΝ ΠΙΝΑΚΑ ΑΝΑ ΓΡΑΜΜΗ

Ανά γραμμή ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ M ΓΡΑΨΕ Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Ανά στήλη ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΟΛΙΚΟΥ ΑΘΡΟΙΣΜΑΤΟΣ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΠΙΝΑΚΑ A

ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΟΛΙΚΟΥ ΜΕΣΟΥ ΟΡΟΥ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΠΙΝΑΚΑ A

Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ Σ←Σ + Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Το άθροισμα των στοιχείων είναι ‘, Σ

Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ Σ←Σ + Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Το άθροισμα των στοιχείων του πίνακα είναι ‘, Σ ΜΟ ← Σ / (Ν * Μ ) ΓΡΑΨΕ ‘Ο μέσος όρος τους είναι ‘, ΜΟ

ΥΠΟΛΟΓΙΣΜΟΣ ΑΘΡΟΙΣΜΑΤΩΝ ΑΝΑ ΓΡΑΜΜΗ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΠΙΝΑΚΑ A ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν Σ ← 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ Σ←Σ + Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Το άθροισμα της’, i, ‘ γραμμής είναι ‘, Σ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Αν θέλουμε να κρατήσουμε τα αθροίσματα σε νέο πίνακα ΣΓ[Ν] για κάποιο λόγο (που είναι και το πιο συνηθισμένο) η εντολή ΓΡΑΨΕ αντικαθίσταται από την ΣΓ[ i ] ← Σ Αντίστοιχα ανά Στήλη

ΥΠΟΛΟΓΙΣΜΟΣ ΑΘΡΟΙΣΜΑΤΟΣ ΚΑΙ ΜΕΣΟΥ ΌΡΟΥ ΑΝΑ ΣΤΗΛΗ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΠΙΝΑΚΑ A

ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ M Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N Σ←Σ + Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΣΣ[ i ] ← Σ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ M Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N Σ ← Σ + Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΟΣ[ j ] ← Σ / Ν ! ΓΡΑΨΕ ‘Ο μέσος όρος της’, j,‘ είναι ‘, ΜΟΣ[ j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ Η ΤΟΥ ΕΛΑΧΙΣΤΟΥ ΣΤΟΙΧΕΙΟΥ ΚΑΙ ΘΕΣΗ ΑΥΤΟΥ Συνολικό Μέγιστο Μέγιστο ανά γραμμή

Max <- A[1,1] Maxi <- 1 Maxj <- 1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ M ΑΝ Α[ i , j ] > max ΤΟΤΕ Max <- Α[ i , j ] Maxi <- i Maxj <- j ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ max, maxi , maxj

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν max <- A[ i , 1 ] maxj <- 1 ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ M ΑΝ Α[ i , j ] > max ΤΟΤΕ max <- Α[ i , j ] maxj <- j ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ maxΓ[ i ]< max maxjΓ[ i ]< maxj ! ΓΡΑΨΕ ‘Γραμμή:’, i ,’ Μέγιστο:’, max , ‘στήλη ‘, maxj ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Page 57: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

56 / 90

ΠΡΟΣΠΕΛΑΣΗ ΣΥΓΚΕΚΡΙΜΕΝΗΣ ΓΡΑΜΜΗΣ / ΣΤΗΛΗΣ

ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΤΗΣ 4ΗΣ ΓΡΑΜΜΗΣ

ΕΥΡΕΣΗ ΤΟΥ ΜΟ ΤΗΣ 5ΗΣ ΣΤΗΛΗΣ max <- A[ 4 , 1 ] ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ M ΑΝ Α[ 4 , j ] > max ΤΟΤΕ max <- Α[ 4 , j ] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ max

Σ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N Σ ← Σ + Α[ i , 5 ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΟ ← Σ / Ν ΓΡΑΨΕ ΜΟ

ΣΥΓΧΩΝΕΥΣΗ Α[Ν, Μ], Β[Ν, Κ] ΣΤΟΝ Γ[Ν, Μ+Κ] ΔΙΑΧΩΡΙΣΜΟΣ Α[Ν, Μ] ΜΕ ΑΦΑΙΡΕΣΗ ΤΗΣ ΓΡΑΜΜΗΣ ΓΡ ΚΑΙ ΜΕΤΑΦΟΡΑ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΣΤΟΥΣ ΠΙΝΑΚΕΣ Β[Ν-1, Μ] ΚΑΙ

Γ[Μ]

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ+K ΑΝ j <=M ΤΟΤΕ Γ[ i , j ] Α[ i , j ] ΑΛΛΙΩΣ Γ[ i , j ] Β[ i, j - M ] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

κ ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΑΝ i <> γρ ΤΟΤΕ κ ← κ + 1 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ Β[ κ , j ] Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΛΛΙΩΣ ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Μ Γ[ j ] Α[ i , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ (ΠΟΣΕΣ ΦΟΡΕΣ ΥΠΑΡΧΕΙ ΤΟ Χ ΣΤΟΝ Α)

Σε όλο τον πίνακα Ανά γραμμή π < 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ M ΑΝ Α[ i , j ] = x ΤΟΤΕ π < π + 1 ΓΡΑΨΕ ‘βρέθηκε συντεταγμένες :’, i , j ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Βρέθηκε συνολικά φορές :’, π

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν π < 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ M ΑΝ Α[ i , j ] = x ΤΟΤΕ π < π + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Φορές[ i ]< π ! ΓΡΑΨΕ ‘Γραμμή:’, i ,’ Φορές :’, π ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ (ΜΟΛΙΣ ΒΡΕΘΕΙ ΤΟ Χ ΝΑ ΣΤΑΜΑΤΑΕΙ ΚΑΙ ΝΑ ΕΜΦΑΝΙΖΕΙ ΘΕΣΗ )

Σε όλο τον πίνακα Ανά γραμμή θέσηi < 0 θέσηj < 0 π < 0 i < 1 ΟΣΟ i <= Ν ΕΠΑΝΑΛΑΒΕ j < 1 ΟΣΟ j <= M ΕΠΑΝΑΛΑΒΕ ΑΝ Α[ i , j ] = x ΤΟΤΕ θέσηi < i θέσηj < j i < N j < M ΤΕΛΟΣ_ΑΝ j < j + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ i < i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ θέσηi>0 ΤΟΤΕ ΓΡΑΨΕ ‘Βρέθηκε στη θέση ‘, θέσηi, θέσηj ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Δε βρέθηκε ’ ΤΕΛΟΣ_ΑΝ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν xj < 0 j < 1 ΟΣΟ j <= M ΕΠΑΝΑΛΑΒΕ ΑΝ Α[ i , j ] = x ΤΟΤΕ xj < j j < M ΤΕΛΟΣ_ΑΝ j < j + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ θέσηj>0 ΤΟΤΕ ΓΡΑΨΕ ‘Γραμμή: ‘, i, ‘. Βρέθηκε στη στήλη:‘, θέσηj ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Γραμμή: ‘, i, ‘.Δε βρέθηκε ’ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Page 58: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

57 / 90

Υπόδειγμα λυμένης Άσκησης με χρήση πινάκων (Τσιωτάκης + Me) Η εταιρεία Αστεράκης Α.Ε. απασχολεί 500 πωλητές σε όλη την Ελλάδα. Για κάθε πωλητή γνωρίζουμε το όνομα και τις μηνιαίες πωλήσεις που πραγματοποίησε το περασμένο έτος. Να γίνει αλγόριθμος που 1. Να διαβάζει τα παραπάνω δεδομένα εισόδου. Τι δομές δεδομένων θα χρησιμοποιήσετε και γιατί; 2. Να εντοπίζει ποιος πωλητής έκανε τη μεγαλύτερη πώληση και σε ποιο μήνα; 3. Να υπολογίζει το συνολικό μέσο όρο πωλήσεων 4. Να εκτυπώνει τους πωλητές που θα πάρουν μπόνους. Μπόνους δικαιούται όποιος πωλητής ξεπεράσει τα 3/2 του

συνολικού μέσου όρου πωλήσεων 5. Να διαβάζει το όνομα ενός πωλητή και να υπολογίζει ποιο μήνα έκανε τις μεγαλύτερες πωλήσεις 6. Να εντοπίζει ποιος πωλητής έκανε τις μεγαλύτερες πωλήσεις τον Μάιο; 7. Να εκτυπώνει τον ή τους πωλητές που έχουν πραγματοποιήσει μηδενικές πωλήσεις τις περισσότερες φορές 8. Να διαβάζει το όνομα ενός πωλητή και να υπολογίζει το μέσο όρο πωλήσεών του 9. Να διαβάζει το όνομα ενός πωλητή και να υπολογίζει το μέσο όρο πωλήσεών του αγνοώντας τις μηδενικές πωλήσεις 10. Να δημιουργεί δυο πίνακες με τα ονόματα των πωλητών της εταιρείας. Ο πρώτος θα περιέχει τα ονόματα των

πωλητών με πωλήσεις μικρότερες του μέσου όρου και ο δεύτερος τους υπόλοιπους 11. Να εμφανίζει πόσοι υπάλληλοι είχαν περισσότερες πωλήσεις το 1ο τρίμηνο από το 4ο τρίμηνο, 12. Να εντοπίζει ποιοι είναι οι 5 πωλητές με τις περισσότερες κατά μέσο όρο πωλήσεις; 13. Να εμφανίζει μετά από πόσους μήνες, κάθε πωλητής κατάφερε να ολοκληρώσει 1500 πωλήσεις. Σε περίπτωση που

δεν το κατάφερε να εμφανίζει σχετικό μήνυμα. 14. Να εμφανίζει ποιοί πωλητές κατάφεραν να έχουν τη μεγαλύτερη αύξηση πωλήσεων μεταξύ 2 διαδοχικών μηνών και

ποιους μήνες το κατάφεραν αυτό. 15. Να εμφανίζει πόσοι πωλητές κατάφεραν να έχουν επί 4 συνεχόμενες φορές, καλύτερες πωλήσεις από αυτές του

προηγούμενου μήνα κάθε φορά. Απάντηση 1 Για την αποθήκευση προς επεξεργασία των παραπάνω δεδομένων θα πρέπει να χρησιμοποιηθούν 2 πίνακες. Ο πρώτος είναι ένας μονοδιάστατος πίνακας 500 θέσεων με το όνομα ΟΝΟΜΑΤΑ που θα περιέχει τα ονόματα των πωλητών της εταιρείας και επομένως τύπου χαρακτήρων. Επίσης, θα χρησιμοποιήσουμε έναν δισδιάστατο πίνακα ΠΩΛΗΣΕΙΣ [500,12] ως εξής: Το στοιχείο[i, j] του πίνακα περιέχει τις πωλήσεις του πωλητή i ( του οποίου το όνομα θα είναι ΟΝΟΜΑΤΑ[i]) κατά τον μήνα j (το j παίρνει τιμές στο διάστημα 1 έως 12) Άρα, ο πίνακας ΠΩΛΗΣΕΙΣ είναι τύπου ακεραίων. Σχηματικά:

ΟΝΟΜΑΤΑ ΠΩΛΗΣΕΙΣ 1 2 … 11 12

1 Αντωνάκης 1 150 25 … 100 120 2 Παπαδάκης 2 200 56 … 210 210 3 Προκοπάκης 3 345 23 … 345 340

… … … … … … 499 Δημητρακάκης 499 540 78 … 123 200 500 Κυριακούλης 500 10 120 … 430 150

Για παράδειγμα ο πωλητής Δημητρακάκης (499 γραμμή) το μήνα Νοέμβριο (στήλη 11) πέτυχε πωλήσεις 123. Για την ανάγνωση των παραπάνω δεδομένων απαιτούνται δυο δομές επανάληψης. Ο κώδικας γραμμένος σε ψευδογλώσσα έχει ως εξής: Για i από 1 μέχρι 500 Διάβασε ΟΝΟΜΑΤΑ[i] Τέλος_Επανάληψης Για i από 1 μέχρι 500 Για j από 1 μέχρι 12 Διάβασε ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης Τέλος_Επανάληψης

Ή ακόμη καλύτερα για την αποφυγή περιττών βημάτων Για i από 1 μέχρι 500 Διάβασε ΟΝΟΜΑΤΑ[i] Για j από 1 μέχρι 12 Διάβασε ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης Τέλος_Επανάληψης

Πρέπει να επισημανθεί ότι με τον παραπάνω κώδικα δεν ελέγχονται οι τιμές που εισάγονται ως προς την εγκυρότητα τους. Σε έναν αλγόριθμο δεν συνηθίζεται αυτό καθώς δεν μας απασχολούν οι δομές δεδομένων και οι μεταβλητές. Σε ένα πρόγραμμα όμως, όπου δηλώνονται επακριβώς οι τύποι των μεταβλητών – δομών δεδομένων που χρησιμοποιούνται πρέπει να ελέγχουμε την είσοδο των δεδομένων ώστε αυτές να λαμβάνουν έγκυρες τιμές. Στο παράδειγμά μας οι τιμές που εισάγονται αντιστοιχούν σε πωλήσεις, συνεπώς πρέπει να είναι θετικές ή μηδέν Κατά συνέπεια, αν απαιτούσε ο αλγόριθμος έλεγχο δεδομένων εισόδου ή αν γράφαμε πρόγραμμα θα έπρεπε ο παραπάνω κώδικας να αντικατασταθεί με τον ακόλουθο: Για i από 1 μέχρι 500 Να σημειώσουμε επίσης ότι επειδή πριν από κάθε εντολή

Page 59: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

58 / 90

Διάβασε ΟΝΟΜΑΤΑ[i] Για j από 1 μέχρι 12 Αρχή_επανάληψης Διάβασε ΠΩΛΗΣΕΙΣ[i,j] Μέχρις_ότου ΠΩΛΗΣΕΙΣ[i,j] >= 0 Τέλος_Επανάληψης Τέλος_Επανάληψης

ΔΙΑΒΑΣΕ, στα προγράμματα είναι καλό να προηγείται μία ΓΡΑΨΕ με αντίστοιχο μήνυμα, το τμήμα εντολών θα μπορούσε να γραφεί: Για i από 1 μέχρι 500 Γράψε ‘Δώσε το όνομα του πωλητή ‘, i Διάβασε ΟΝΟΜΑΤΑ[i] Για j από 1 μέχρι 12 Αρχή_επανάληψης Γράψε ‘Δώσε τον αριθμό πωλήσεων ‘, j Διάβασε ΠΩΛΗΣΕΙΣ[i,j] Μέχρις_ότου (ΠΩΛΗΣΕΙΣ[i,j] >= 0) Τέλος_Επανάληψης Τέλος_Επανάληψης

2 Όσον αφορά στην εύρεση του πωλητή που έκανε τη μεγαλύτερη πώληση και σε ποιο μήνα πραγματοποιήθηκε αυτή, ουσιαστικά αποτελεί πρόβλημα εύρεσης μεγίστου. Έστω ότι το μέγιστο του πίνακα βρίσκεται στη θέση [maxi, maxj], τότε ο πωλητής που έκανε την μεγαλύτερη πώληση είναι ο ΟΝΟΜΑΤΑ[maxi] και πραγματοποιήθηκε το μήνα maxj. Ο κώδικας γραμμένος σε ψευδογλώσσα έχει ως εξής: max ← ΠΩΛΗΣΕΙΣ[1,1] maxi ← 1 maxj ← 1 Για i από 1 μέχρι 500 Για j από 1 μέχρι 12 Αν ΠΩΛΗΣΕΙΣ[i,j]>max τότε max ← ΠΩΛΗΣΕΙΣ[i,j] maxi← i maxj← j Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης Εκτύπωσε ΟΝΟΜΑΤΑ[maxi], maxj

Προσοχή: Στη περίπτωση που ζητούσε το όνομα του μήνα που έκανε τις περισσότερες πωλήσεις τότε θα έπρεπε να κάνουμε τα παρακάτω: ! Βάλουμε σε ένα πίνακα Μ τα ονόματα των μηνών Μ[1] “Ιανουάριος” Μ[2] “Φεβρουάριος” … Μ[12] “Δεκέμβριος” ! αντί για maxj εμφανίζουμε το M[maxj] ! π.χ. αντί για 3 εμφανίζουμε Μ[3] δηλαδή Μάρτιος Εκτύπωσε ΟΝΟΜΑΤΑ[maxi], Μ[maxj]

3 Ο υπολογισμός του συνολικού μέσου όρου πωλήσεων δεν αποτελεί σύνθετο πρόβλημα. Αρκεί να αθροιστούν όλα τα στοιχεία του πίνακα ΠΩΛΗΣΕΙΣ και να διαιρεθεί το τελικό άθροισμα των στοιχείων με το πλήθος τους (το οποίο είναι 500*12) Σ ← 0 Για i από 1 μέχρι 500 Για j από 1 μέχρι 12 Σ ← Σ + ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης Τέλος_Επανάληψης ΣΜΟ ← Σ / (500 * 12) Εκτύπωσε "Ο συνολικός μέσος όρος πωλήσεων είναι :", ΣΜΟ 4 Στο ερώτημα αυτό αναζητούμε τους πωλητές που δικαιούνται μπόνους, που έχουν δηλαδή ξεπεράσει τα 3/2 του μέσου όρου όλων των πωλήσεων που έχουν επιτευχθεί. Το πρώτο βήμα για την επίλυση του προβλήματος αυτού είναι να υπολογιστεί ο συνολικός μέσος όρος των πωλήσεων, κάτι το οποίο έγινε στο ερώτημα 3. Στη συνέχεια απαιτείται ο υπολογισμός του μέσου όρου πωλήσεων για κάθε έναν πωλητή και σύγκρισή του με τον συνολικό μέσο όρο (που περιέχεται στη μεταβλητή ΣΜΟ) αφού έχει πολλαπλασιασθεί με τον συντελεστή 3/2. Τα ονόματα όσων πωλητών ικανοποιούν τα παραπάνω κριτήρια θα εκτυπώνονται. Όλα τα παραπάνω πραγματοποιούνται στο εξής μπλοκ εντολών: Όριο ← (3 / 2) * ΣΜΟ Για i από 1 μέχρι 500 Σ ← 0 Για j από 1 μέχρι 12 Σ ← Σ + ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης ΜΟΠ ← Σ / 12 Αν ΜΟΠ >= Όριο τότε Εκτύπωσε "Ο πωλητής ", ΟΝΟΜΑΤΑ[i], " δικαιούται μπόνους" Τέλος_αν Τέλος_Επανάληψης

Page 60: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

59 / 90

5 Στη συνέχεια επιθυμούμε να εισάγεται το όνομα ενός πωλητή από το χρήστη και ο αλγόριθμος να υπολογίζει ποιο μήνα έκανε τις μεγαλύτερες πωλήσεις ο πωλητής αυτός. Το πρόβλημα αυτό πρέπει να διαχωριστεί σε δυο τμήματα. Πρώτα θα πρέπει να διαβαστεί το όνομα ενός πωλητή και να εντοπιστεί σε ποια θέση του πίνακα ΟΝΟΜΑΤΑ βρίσκεται (ΑΝ υπάρχει ένα τέτοιο όνομα στον πίνακα). Έστω ότι εντοπίστηκε στη γραμμή θ. Η αναζήτηση θα πραγματοποιηθεί με τον αλγόριθμο σειριακής αναζήτησης. Στη συνέχεια πρέπει να αναζητηθεί το μέγιστο στοιχείο της γραμμής θ του πίνακα ΠΩΛΗΣΕΙΣ και στις 12 στήλες της. Διάβασε πωλητή ! Αναζήτηση στον πίνακα Ονόματα βρέθηκε ← ψευδής θ ← 0 i ← 1 Όσο (βρέθηκε = ψευδής) και (i <= 500) επανάλαβε Αν (ΟΝΟΜΑΤΑ[i] = πωλητή τότε βρέθηκε ← αληθής θ ← i Τέλος_αν i ← i + 1 Τέλος_επανάληψης Αν (βρέθηκε = ψευδής) τότε

Ή εναλλακτικά και πιο απλά: θ ← 0 i ← 1 Όσο (i <= 500) επανάλαβε Αν ΟΝΟΜΑΤΑ[i] = πωλητή τότε θ ← i i ← 500 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Αν (θ=0) τότε

Εκτύπωσε "Το όνομα που δόθηκε δεν ανήκει σε πωλητή της εταιρείας μας" Αλλιώς

! Υπολογισμός μεγίστου γραμμής θ max ← ΠΩΛΗΣΕΙΣ[θ,1] maxj ← 1 Για j από 2 μέχρι 12 Αν ΠΩΛΗΣΕΙΣ[θ,j]> max τότε max ← ΠΩΛΗΣΕΙΣ[θ,j] maxj ← j Τέλος_αν Τέλος_Επανάληψης Εκτύπωσε "Το μήνα ", maxj

Το παραπάνω ακόμα πιο απλά γίνεται: θ ← 0 Για i Από 1 Μέχρι 500 Αν ΟΝΟΜΑΤΑ[i] = πωλητή τότε θ ← i Τέλος_αν Τέλος_επανάληψης

Τέλος_αν 6 Ποιος πωλητής έκανε τις μεγαλύτερες πωλήσεις τον Μάιο; Για το ερώτημα αυτό αρκεί να εντοπίσουμε σε ποια γραμμή του πίνακα ΠΩΛΗΣΕΙΣ βρίσκεται το μέγιστο της 5ης στήλης (που αντιστοιχεί στον μήνα Μάιο). max ← ΠΩΛΗΣΕΙΣ[1,5] maxi ← 1 Για i από 2 μέχρι 500 Αν ΠΩΛΗΣΕΙΣ[i,5] > max τότε max ← ΠΩΛΗΣΕΙΣ[i,5] maxi ← i Τέλος_αν Τέλος_Επανάληψης Εκτύπωσε "Τις περισσότερες πωλήσεις το μήνα Μάιο πραγματοποίησε ο πωλητής ", ΟΝΟΜΑΤΑ[maxi] 7 Ποιος ή ποιοι πωλητές έχουν πραγματοποιήσει μηδενικές πωλήσεις τις περισσότερες φορές. Το πρόβλημα αυτό πρέπει να διαιρεθεί σε δυο υποπροβλήματα Πρώτα πρέπει να υπολογιστεί το πλήθος των μηδενικών πωλήσεων για κάθε πωλητή (προφανώς 500 τιμές) και στη συνέχεια να γίνει ο υπολογισμός της μεγαλύτερης τιμής από αυτές Αρχικά οι 500 τιμές (τα πλήθη των μηδενικών πωλήσεων) που θα υπολογισθούν θα καταχωρηθούν σε πίνακα. Το όνομα αυτού του πίνακα θα είναι ΠΩΛ0 και επειδή είναι πίνακας με μετρητές θα πρέπει να γεμίσει με μηδενικά (αρχικοποίηση): Για i από 1 μέχρι 500 ΠΩΛ0 [i] ← 0 Τέλος_Επανάληψης Για i από 1 μέχρι 500 Για j από 1 μέχρι 12 Αν (ΠΩΛΗΣΕΙΣ[i,j] = 0) τότε ΠΩΛ0 [i] ← ΠΩΛ0 [i] + 1

Ή για συντομία Για i από 1 μέχρι 500 ΠΩΛ0 [i] ← 0 Για j από 1 μέχρι 12 Αν (ΠΩΛΗΣΕΙΣ[i,j] = 0) τότε ΠΩΛ0 [i] ← ΠΩΛ0 [i] + 1

Page 61: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

60 / 90

Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης

Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης

Σε δεύτερη φάση πρέπει να βρεθεί το μέγιστο του πίνακα ΠΩΛ0. Στη συνέχεια πρέπει να εκτυπωθεί το όνομα του πωλητή που έχει αυτήν την επίδοση στις πωλήσεις. Ωστόσο, μπορεί την αρνητική αυτή επίδοση να την έχουν πετύχει περισσότερη από ένας πωλητές. Για το λόγο αυτό πρέπει να προσπελάσουμε εκ νέου τον πίνακα ΠΩΛ0 και να εκτυπωθούν όσοι πωλητές έχουν την τιμή μέγιστος. Πιο απλά θα εκτυπωθούν όλες οι γραμμές που έχουν τιμή μέγιστος. Άρα: max ← ΠΩΛ0[1] Για i από 2 μέχρι 500 Αν (max < ΠΩΛ0 [i]) τότε max ← ΠΩΛ0 [i] Τέλος_αν Τέλος_Επανάληψης Εκτύπωσε "Το αρνητικό ρεκόρ σε πωλήσεις είναι:", max, " και το πραγματοποίησαν οι ακόλουθοι πωλητές" Για i από 1 μέχρι 500 Αν (ΠΩΛ0 [i] = max) τότε Εκτύπωσε "Πωλητής: ", ΟΝΟΜΑΤΑ[i] Τέλος_αν Τέλος_Επανάληψης 8 Στη συνέχεια πρέπει να αναπτυχθεί κώδικας που να διαβάζει το όνομα ενός πωλητή και να υπολογίζει το μέσο όρο πωλήσεών του. Και σε αυτήν την περίπτωση πρέπει να διαβαστεί πρώτα το όνομα ενός πωλητή και να βρεθεί σε ποια γραμμή του πίνακα ΠΩΛΗΣΕΙΣ αντιστοιχεί, (όπως στο 1ο μέρος του ερωτήματος 5) Στη συνέχεια πρέπει να υπολογιστεί ο μέσος όρος της γραμμής θ (του πωλητή που βρέθηκε)του πίνακα ΠΩΛΗΣΕΙΣ. Θα είναι λοιπόν θα είναι: Σ ← 0 Για j από 1 μέχρι 12 Σ ← Σ + ΠΩΛΗΣΕΙΣ[θ,j] Τέλος_Επανάληψης μέσος ← Σ / 12 Εκτύπωσε "Ο μέσος όρος πωλήσεων που πραγματοποίησε ο πωλητής", ΟΝΟΜΑΤΑ[θ], " είναι", μέσος 9 Επιθυμούμε ο χρήστης να δίδει το όνομα ενός πωλητή και ο αλγόριθμος να υπολογίζει το μέσο όρο πωλήσεών του αγνοώντας τις μηδενικές πωλήσεις. Θα πράξουμε αντίστοιχα με το προηγούμενο ερώτημα με την προσθήκη μιας δομής επιλογής Αν. Δεν θα προσθέτουμε δηλαδή κάθε στοιχείο της γραμμής θ του πίνακα ΠΩΛΗΣΕΙΣ, αλλά μόνο όσα είναι διάφορα του μηδενός Αυτονόητο είναι ότι το πρώτο τμήμα είναι το ίδιο με αυτό του ερωτήματος 5. Η μεταβλητή π0 περιέχει το πλήθος των μη μηδενικών στοιχείων της γραμμής (δηλαδή πωλητή) που μελετάται.: Σ ← 0 π0 ← 0 Για j από 1 μέχρι 12 Αν (ΠΩΛΗΣΕΙΣ[θ,j] <> 0) τότε Σ ← Σ + ΠΩΛΗΣΕΙΣ[θ,j] π0 ← π0 + 1 Τέλος_αν Τέλος_Επανάληψης Αν (π0 <> 0) τότε μέσος ← Σ/π0 Εκτύπωσε "Ο μέσος όρος πωλήσεων που πραγματοποίησε ο πωλητής ", ΟΝΟΜΑΤΑ[θ], " είναι", μέσος Αλλιώς Εκτύπωσε "Ο πωλητής ", ΟΝΟΜΑΤΑ[θ], " δεν έχει καθόλου πωλήσεις" Τέλος_αν 10 Το επόμενο ερώτημα δημιουργεί δυο πίνακες με τα ονόματα των πωλητών της εταιρείας. Ο πρώτος θα περιέχει τα ονόματα των πωλητών με πωλήσεις μικρότερες του συνολικού μέσου όρου και ο δεύτερος τους υπόλοιπους. Το πρώτο βήμα για την επίλυση του συγκεκριμένου προβλήματος είναι ο υπολογισμός του συνολικού μέσου όρου πωλήσεων. Αυτό

Page 62: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

61 / 90

έχει πραγματοποιηθεί στο ερώτημα 3 της άσκησής μας. Ο αλγόριθμος μας θα χρησιμοποιήσει την μεταβλητή ΣΜΟ ως κριτήριο για την δημιουργία των δυο πινάκων, με ονόματα έστω ΟΝΟΜΑΤΑ1 (θα περιέχει τα ονόματα όσων έχουν μέσο όρο πωλήσεων μικρότερο του συνολικό μέσου όρου) και ΟΝΟΜΑΤΑ2 (τα υπόλοιπα) οι οποίοι απαιτούν την ύπαρξη δυο δεικτών: π1 και π2 ώστε να Γγνωρίζουμε σε ποια θέση μπαίνει κάθε φορά το όνομα, αλλά και πόσα στοιχεία περιέχει ο κάθε ένας τελικά. Είναι προφανές ότι π1 + π2 = 500. Οι εντολές δίνονται παρακάτω: π1 ← 0 π2 ← 0 Για i από 1 μέχρι 500 Σ ← 0 Για j από 1 μέχρι 12 Σ ← Σ + ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης ΜΟ ← Σ / 12 Αν (ΜΟ < ΣΜΟ) τότε π1 ← π1 + 1 ΟΝΟΜΑΤΑ1[π1] ← ΟΝΟΜΑΤΑ[i] Αλλιώς π2 ← π2 + 1 ΟΝΟΜΑΤΑ2[π2] ← ΟΝΟΜΑΤΑ[i] Τέλος_αν Τέλος_Επανάληψης 11 Στο ερώτημα αυτό βρίσκουμε τα αθροίσματα ανά γραμμή για το 1ο τρίμηνο, δηλ. τις 3 πρώτες στήλες και για το 4ο τρίμηνο, δηλ από 10η (και όχι 9η όπως φαίνεται) έως 12η στήλη. Αφού τα υπολογίσουμε τα συγκρίνουμε και μετράμε σε πόσες γραμμές (πωλητές) το 1ο άθροισμα είναι μικρότερο από το 2ο. Πλ14 0 Για i από 1 μέχρι 500 Σ1 ← 0 Σ4 ← 0 Για j από 1 μέχρι 3 Σ1 ← Σ1 + ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης Για j από 10 μέχρι 12 Σ4 ← Σ4 + ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης Αν Σ1>Σ4 Τότε Πλ14 Πλ14+1 Τέλος_Αν Τέλος_Επανάληψης Εκτύπωσε Πλ14

12 Στο ερώτημα αυτό πρέπει να εντοπιστούν οι 5 πωλητές με τις περισσότερες κατά μέσο όρο πωλήσεις. Για να απαντήσουμε σε αυτό το ερώτημα πρέπει να υπολογίσουμε αρχικά το μέσο όρο πωλήσεων για όλους τους πωλητές της εταιρείας. Τα αποτελέσματα πρέπει να τοποθετηθούν σε πίνακα (με όνομα ΜΟΠ), ώστε να υποστούν περαιτέρω επεξεργασία. Στη συνέχεια πρέπει να ταξινομήσουμε τον πίνακα ΜΟΠ (φθίνουσα διάταξη) και να εκτυπώσουμε τις 5 τελευταίες πρώτες θέσεις του πίνακα. Οι εντολές για το Α μέρος είναι: Για i από 1 μέχρι 500 Σ ← 0 Για j από 1 μέχρι 12 Σ ← Σ + ΠΩΛΗΣΕΙΣ[i,j] Τέλος_Επανάληψης ΜΟΠ [i] ← άθροισμα / 12 Τέλος_Επανάληψης Πρέπει να επισημανθεί ότι κατά την αντιμετάθεση στην ταξινόμηση, πρέπει να αντιμετατεθούν εκτός από τα στοιχεία του προς ταξινόμηση πίνακα (ΜΟΠ) και τα στοιχεία του πίνακα ΟΝΟΜΑΤΑ, ώστε να έχουν την ίδια διάταξη τα στοιχεία των δυο πινάκων: ο πωλητής με το όνομα ΟΝΟΜΑΤΑ[i] έχει μέσο όρο πωλήσεων ΜΟΠ [i] (διαφορετικά θα ήταν άχρηστα)

Page 63: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

62 / 90

Μετά τις αλλαγές αυτές και με δεδομένο ότι ο αρχικός πίνακας ΠΩΛΗΣΕΙΣ δεν τροποποιείται, γίνεται αντιληπτό ότι τα δεδομένα του τελευταίου καθίστανται άχρηστα για περαιτέρω επεξεργασία μετά το ερώτημα 11 καθότι οι πίνακες ΟΝΟΜΑΤΑ και ΠΩΛΗΣΕΙΣ δεν θα έχουν την λογική συσχέτιση που είχαν αρχικά. Τα παραπάνω υλοποιούνται παρακάτω: Για i από 2 μέχρι 500 ! ή 6 αντί για 500 Για j από 500 μέχρι i με_βήμα –1 Αν ΜΟΠ [j-1] < ΜΟΠ [j] τότε βοηθητική1 ← ΜΟΠ [j-1] ΜΟΠ [j-1] ← ΜΟΠ [j] ΜΟΠ [j] ← βοηθητική1 βοηθητική2 ← ΟΝΟΜΑΤΑ[j-1] ΟΝΟΜΑΤΑ [j-1] ← ΟΝΟΜΑΤΑ [j] ΟΝΟΜΑΤΑ [j] ← βοηθητική2 Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης

ΟΝΟΜΑΤΑ ΠΩΛΗΣΕΙΣ ΜΟΠ 1 2 … 11 12 1 Κρατάκης 1 150 25 … 100 120 205 2 Δρυμάκης 2 200 56 … 210 210 202 3 Κίρτσος 3 345 23 … 345 340 197

… … … … … … … 499 Τρούμπας 499 540 78 … 123 200 56 500 Κορδελάκης 500 10 120 … 430 150 50

Μετά την εκτέλεση του αλγορίθμου του ερωτήματος οι πίνακες ΜΟΠ και ΟΝΟΜΑΤΑ έχουν αλλάξει διάταξη και η αντιστοίχηση ονόματος – μέσου όρου έχει παραμείνει. Δε συμβαίνει το ίδιο και με τον δισδιάστατο πίνακα ΠΩΛΗΣΕΙΣ, ο οποίος δεν έχει τροποποιηθεί και επομένως δεν αντιστοιχίζεται σωστά η κάθε του γραμμή. Επομένως έχει σπάσει η κοινή αναφορά γραμμής και άρα δε μπορεί να χρησιμοποιηθεί πλέον αξιόπιστα.

Για i από 1 μέχρι 5 Εκτύπωσε "Ο ", i, " πωλητής είναι ο ", ΟΝΟΜΑΤΑ[i], " με μ.ο. πωλήσεων ", ΜΟΠ [i] Τέλος_Επανάληψης Παράδειγμα 2 – Εύρεση συχνότητας εμφάνισης στοιχείων που επαναλαμβάνονται σε ένα πίνακα. Δίνονται πίνακας Πρ[1000] που περιέχει προϊόντα, παράλληλος αυτού Κατ[1000] με την κατηγορία στην οποία ανήκει το κάθε προϊόν (Προφανώς στον δεύτερο πίνακα μία κατηγορία την συναντάμε πολλές φορές). Να γραφεί αλγόριθμος που να υπολογίζει πόσα προϊόντα από κάθε κατηγορία υπάρχουν. Α) Θεωρήσετε ότι δίνεται επιπλέον ο πίνακας Είδη, που περιλαμβάνει κάθε κατηγορία ξεχωριστά. Β) Θεωρήσετε ότι δεν δίνεται ο πίνακας Είδη (άρα πρέπει να υπολογιστεί) Οι πίνακες που δίνονται είναι κάπως έτσι… Epson C4245

Sony E234

Zerox M750

Nokia E100

Sony K256 MS office Phillips

ZK123 Adobe Photoshop … …

1 2 3 1000 Πρ[1000] Εκτυπωτής Οθόνη Εκτυπωτής Οθόνη Οθόνη Λογισμικό Οθόνη Λογισμικό … …. 1 2 3 1000 Κατ[1000] Εκτυπωτής Οθόνη Λογισμικό … … Είδη[50] Α) ΑΛΓΟΡΙΘΜΟΣ Συχνότητες ΔΕΔΟΜΕΝΑ //Πρ, Κατ, Ειδη// ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50! το i είναι ο δείκτης του Είδη πλ ← 0 ! Αν ήθελα πίνακα πλ[i] ← 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 1000 ! j είναι ο δείκτης του Προϊόντα ΑΝ Κατ[ j ] = Είδη[ i ] ΤΟΤΕ πλ ← πλ + 1 ! Αν ήθελα πίνακα πλ[i] ← πλ[i] +1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εμφάνισε ‘Στην κατηγορία προϊόντων’, Είδη[ i ], ‘ ανήκουν :’, πλ, ‘προϊόντα’ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ Συχνότητες Προσοχή: Σε περίπτωση που ζητάει κάποια επιπλέον επεξεργασία των παραπάνω μετρήσεων π.χ. (ποια κατηγορία έχει το περισσότερα προϊόντα, θα πρέπει οι μετρητές πλ να μπουν σε πίνακα, Πλ[50], ώστε να γίνει μετά η ταξινόμηση του (μαζί με τον παράλληλο πίνακα Είδη[50])

Β) ΑΛΓΟΡΙΘΜΟΣ Συχνότητες ΔΕΔΟΜΕΝΑ //Κατ// ΚΑΛΕΣΕ ΤΑΞΙΝΟΜΗΣΗ(Κατ) κ 1 ! Το κ εκφράζει τις διαφορετικές κατηγορίες (τουλάχιστον 1) πλ[κ] ← 1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 999 ΑΝ Κατ[ i ] =Κατ[ i+1] ΤΟΤΕ Πλ[κ] ← πλ[κ]+1 ΑΛΛΙΩΣ Είδη[κ] Κατ[ i ] κ κ+1 πλ[κ] ← 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Είδη[κ] Κατ[ 1000 ] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ κ ΓΡΑΨΕ Είδη[i], Πλ[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ //Είδη, Πλ// ΤΕΛΟΣ Συχνότητες

Page 64: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

63 / 90

Παράδειγμα 2 - Πίνακες - Υποπρογράμματα Άσκηση Μενού Να γίνει πρόγραμμα που να εμφανίζει το παραδίπλα μενού: Στη συνέχεια να διαβάζει μία επιλογή από το 1 έως το 4 και ανάλογα να κάνει τις αντίστοιχες ενέργειες. Πιο συγκεκριμένα: Αν δοθεί 1 να διαβάζει το πλήθος των μαθητών Ν (μέχρι 500) και στη συνέχεια το επώνυμο, το όνομα, το φύλο (Α/Κ), το τμήμα (Α1, Α2, Α3, Β1, Β2, Β3, Β4, Γ1, Γ2, Γ3) και τον τελικό βαθμό κάθε μαθητή. Θεωρήσετε ότι τα δεδομένα εισόδου είναι σωστά και δεν χρειάζονται έλεγχο. Αν δοθεί 2 τότε να ταξινομήσει τον/τους πίνακες αλφαβητικά ως προς τμήμα – Επώνυμο – Όνομα και να εμφανίζει όλα τα στοιχεία τους με τη σειρά. Αν δοθεί 3 τότε να ανοίγει νέο μενού: Στην περίπτωση που δοθεί η επιλογή 1 να διαβάζει το επώνυμο και το όνομα ενός μαθητή και να εμφανίζει τα υπόλοιπα στοιχεία του. Αν δοθεί η επιλογή 2 να διαβάζει το όνομα της τάξης (Α/Β/Γ) και να εμφανίζει το επώνυμο, το όνομα και το βαθμό των μαθητών της τάξης αυτής. Θεωρήσετε ότι τα δεδομένα εισόδου είναι σωστά και δεν χρειάζονται έλεγχο. Το μενού εμφανίζεται συνέχεια μέχρι να δοθεί η επιλογή 4 οπότε και τερματίζεται. Στο τέλος να εμφανίζει πόσες αναζητήσεις έγιναν. Η εμφάνιση του μενού, η εισαγωγή των στοιχείων στους πίνακες, η ταξινόμηση και οι αναζητήσεις να γίνουν με τη βοήθεια αντιστοίχων υποπρογραμμάτων. Σκεφτείτε τι έπρεπε να προσθέσετε ώστε να διασφαλίσετε ότι δεν θα δοθεί η επιλογή 2 ή 3, αν προηγουμένως δεν έχει προηγηθεί η 1, δηλαδή ότι θα έχει γίνει η εισαγωγή δεδομένων στους πίνακες.

ΠΡΟΓΡΑΜΜΑ Μενού_Μαθητών ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Βαθμοί[500] ΧΑΡΑΚΤΗΡΕΣ: Στοιχεία[500, 4] ΑΚΕΡΑΙΕΣ: Ν, Πλ, Επ ΑΡΧΗ Πλ <- 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ Μενού(Επ) ΑΝ Επ=1 ΤΟΤΕ ΚΑΛΕΣΕ Εισαγωγή(Στοιχεία, Βαθμοί, Ν) ΑΛΛΙΩΣ_ΑΝ Επ=2 ΤΟΤΕ ΚΑΛΕΣΕ Ταξινόμηση(Στοιχεία, Βαθμοί, Ν) ΑΛΛΙΩΣ_ΑΝ Επ=3 ΤΟΤΕ ΚΑΛΕΣΕ Αναζητήσεις(Στοιχεία, Βαθμοί, Ν) Πλ<- Πλ + 1 ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Τερματισμός προγράμματος’ ΤΕΛΟΣ_ΑΝ ΜΕΧΡΙΣ_ΟΤΟΥ Επ=4 ΓΡΑΨΕ ‘Έγιναν ’, Πλ, ‘ αναζητήσεις’ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή(Σ,Β,Ν) ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Β[500], Υ ΧΑΡΑΚΤΗΡΕΣ: Σ[500, 4], Χ ΑΚΕΡΑΙΕΣ: Ν, i, j , κ ΑΡΧΗ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Δώσε πλήθος μαθητών μέχρι 500’ ΔΙΑΒΑΣΕ Ν ΜΕΧΡΙΣ_ΟΤΟΥ (Ν<=500) ΚΑΙ (Ν>=1) ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ ‘Δώσε επώνυμο, όνομα, φύλο & Α/Κ , τμήμα και βαθμό του μαθητή ’, i ΔΙΑΒΑΣΕ Σ[i,1], Σ[i,2], Σ[i,3], Σ[i,4], B[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ Μενού(Επ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Επ ΑΡΧΗ ΓΡΑΨΕ ‘Μαθητολόγιο’ ΓΡΑΨΕ ‘1. Εισαγωγή στοιχείων μαθητών’ ΓΡΑΨΕ ‘2. Ταξινόμηση’ ΓΡΑΨΕ ‘3. Αναζήτηση’ ΓΡΑΨΕ ‘4. Έξοδος’ ΓΡΑΨΕ ‘Δώσε μία από τις παραπάνωεπιλογές’ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Επ ΜΕΧΡΙΣ_ΟΤΟΥ Επ=1 Ή Επ=2 Ή Επ=3 Ή Επ=4 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Αναζητήσεις(Σ,Β,Ν) ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Β[500], Υ ΧΑΡΑΚΤΗΡΕΣ: Σ[500, 4], Χ ΑΚΕΡΑΙΕΣ: Ν, i, j , κ ΑΡΧΗ ΓΡΑΨΕ ‘1. Αναζήτηση μαθητή’ ΓΡΑΨΕ ‘2. Αναζήτηση τάξης’ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Επ ΜΕΧΡΙΣ_ΟΤΟΥ Επ=1 Ή Επ=2 ΑΝ Επ=1 ΤΟΤΕ ΔΙΑΒΑΣΕ Επ, Ον θ <- 0 i <- 1 ΟΣΟ (i <=Ν) ΚΑΙ (θ=0) ΕΠΑΝΑΛΑΒΕ ΑΝ (Σ[ i , 1 ]= Επ) ΚΑΙ (Σ[ i , 2 ]= Ον) ΤΟΤΕ θ ← i ΤΕΛΟΣ_ΑΝ i ← i+1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ θ>0 ΤΟΤΕ ΓΡΑΨΕ Σ[θ,1], Σ[θ,2], Σ[θ,3], Σ[θ,4], B[θ] ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΔΙΑΒΑΣΕ Ταξη ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΑΝ ΤΟΤΕ ΓΡΑΨΕ Σ[i,1], Σ[i,2], Σ[i,3], Σ[i,4], B[i] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Ταξινόμηση(Σ,Β,Ν) ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Β[500], Υ ΧΑΡΑΚΤΗΡΕΣ: Σ[500, 4], Χ

ΑΚΕΡΑΙΕΣ: Ν, i, j , κ ΑΡΧΗ ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ N ΓΙΑ j ΑΠΟ N ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1 ΑΝ Σ[ j-1 ,4 ] > Σ[ j , 4 ] ΤΟΤΕ ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 4 Χ <- Σ[ j , κ ] Σ[ j , κ ] <- Σ[ j -1 , κ ] Σ[ j -1 , κ ] <- Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υ <- Β[ j ] Β[ j ] <- Β[ j -1 ] Β[ j -1 ] <- Υ ΑΛΛΙΩΣ_ΑΝ Σ[j-1,4]=Σ[j,4] KAI Σ[j-1,1]>Σ[j,1] ΤΟΤΕ ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 3 Χ <- Σ[ j , κ ] Σ[ j , κ ] <- Σ[ j -1 , κ ] Σ[ j -1 , κ ] <- Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υ <- Β[ j ] Β[ j ] <- Β[ j -1 ] Β[ j -1 ] <- Υ ΑΛΛΙΩΣ_ΑΝ (Σ[ j-1 ,4 ] = Σ[ j , 4 ]) KAI (Σ[ j-1 ,1 ] = Σ[ j , 1 ]) KAI (Σ[ j-1 ,2 ] > Σ[ j , 2 ]) ΤΟΤΕ ΓΙΑ κ ΑΠΟ 2 ΜΕΧΡΙ 3 Χ <- Σ[ j , κ ] Σ[ j , κ ] <- Σ[ j -1 , κ ] Σ[ j -1 , κ ] <- Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υ <- Β[ j ] Β[ j ] <- Β[ j -1 ] Β[ j -1 ] <- Υ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ Σ[i,1], Σ[i,2], Σ[i,3], Σ[i,4], B[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Μαθητολόγιο 1. Εισαγωγή στοιχείων μαθητών 2. Ταξινόμηση 3. Αναζήτηση 4. Έξοδος Δώσε μία από τις παραπάνω επιλογές:

1. Αναζήτηση μαθητή 2. Αναζήτηση τάξης

(Τάξη=’Α’ ΚΑΙ Σ[i,4]<’Β’) Η (Τάξη=’Β’ ΚΑΙ Σ[i,4]>=’Β’ ΚΑΙ Σ[i,4]<’Γ’) Η (Τάξη=’Γ’ ΚΑΙ Σ[i,4]>=’Γ’)

Page 65: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

64 / 90

Πρόβλημα 3: Επεξεργασία σε μία μόνο γραμμή ή στήλη δισδιάστατου πίνακα A) Να βρεθεί ο μεγαλύτερος βαθμός και σε πιο μάθημα του 3ου μαθητή(Μάθημα[15], Βαθμοί[100,15]) max Βαθμοί[3,1] maxi 1 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 15 ΑΝ max > Βαθμοί[3,j] ΤΟΤΕ max Βαθμοί[3,j] maxj j ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Μάθημα[maxj], max B)Αν οι στήλες σε ένα δισδιάστατο πίνακα αναφέρονται σε διαφορετικές έννοιες (π.χ. 1η στήλη βαθμός Α Τετραμήνου, 1η στήλη βαθμός Β Τετραμήνου, 3η στήλη γραπτός βαθμός) ενδέχεται να ζητηθεί επεξεργασία που απαιτεί μία επανάληψη μόνο. Π.χ. ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΒΠ 0.3*(Βαθμοί[ι,1]+ Βαθμοί[ι,2])+0.7* Βαθμοί[ι,3] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Πρόβλημα 4: Αναζήτηση ενός στοιχείου σε μία στήλη δισδιάστατου και εμφάνιση αντίστοιχων (παράλληλων) στοιχείων Τοποθετούνται σε δισδιάστατο πίνακα διαφορετικά στοιχεία (σε κάθε στήλη) π.χ. Στην 1η στήλη Ταυτότητα, στη 2η Επώνυμο, στη 3η Όνομα, στην 4η διεύθυνση, κλπ. Αναζήτηση σε συγκεκριμένη στήλη ενός στοιχείου x και εμφάνιση λοιπών στοιχείων Παρατήρηση: Τα στοιχεία αντί σε ένα δισδιάστατο θα μπορούσε να τοποθετηθούν σε πολλούς διαφορετικούς μονοδιάστατους. Στην περίπτωση αυτή θα είχαμε πολλούς μονοδιάστατους παράλληλους Θα μπορούσε επίσης να έχουμε δισδιάστατους παράλληλους. Να γίνεται αναζήτηση στον ένα και εμφάνιση αντίστοιχης τιμής στον άλλο.

Ταυτ

ότητ

α

Επώ

νυμο

Όνο

μα

Διεύ

θυνσ

η

….

Αν είναι μοναδικό π.χ. ψάχνω στις ταυτότητες ΔΙΑΒΑΣΕ x θέση ← 0 i ← 1 ΟΣΟ i <=Ν ΚΑΙ θέση=0 ΕΠΑΝΑΛΑΒΕ ΑΝ Στοιχεία[ i , 1 ]= x ΤΟΤΕ θέση ← i ΤΕΛΟΣ_ΑΝ i ← i+1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ θέση>0 ΤΟΤΕ ΕΜΦΑΝΙΣΕ Στοιχεία[θεση,1], Στοιχεία[θεση,2], Στοιχεία[θεση,3] ΤΕΛΟΣ_ΑΝ Ή αν επαναλαμβάνεται πχ ψάχνω στα επώνυμα ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΑΝ Στοιχεία[ i , 2 ]= x ΤΟΤΕ ΕΜΦΑΝΙΣΕ Στοιχεία[i,1], Στοιχεία[i,2], Στοιχεία[i,3] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

1

2

.

.

.

Ν Στοιχεία Παράδειγμα 5 - χρήση πινάκων και υποπρογραμμάτων Ακολουθούμε τις οδηγίες για συγγραφή προγραμμάτων με υποπρογράμματα (βλέπε σχετική ενότητα) και προσέχουμε περισσότερο στο τμήμα δηλώσεων μεταβλητών και παραμέτρων σύμφωνα με τις προαναφερθείσες παρατηρήσεις. Η ΕΜΥ διατηρεί στοιχεία για τις θερμοκρασίες στις διάφορες πόλεις της Ελλάδας. Για την εξαγωγή συμπερασμάτων καταχωρεί τη ημερήσια θερμοκρασία το μήνα Νοέμβριο 2005 για 50 πόλεις ανά την επικράτεια σε πίνακα Ν2005[50, 30] ενώ υπάρχουν και τα αντίστοιχα στοιχεία για το Νοέμβριο 2006 (πίνακας Ν2006[50, 30]. Να αναπτύξετε πρόγραμμα που Α) Θα διαβάζει τα ονόματα των πόλεων και τις παραπάνωθερμοκρασίες και θα τα καταχωρεί στους αντίστοιχους πίνακες. Β) θα υπολογίζει και να εμφανίζει για κάθε πόλη τη μέση θερμοκρασία του Νοεμβρίου 2005 και Νοεμβρίου 2006. Ο υπολογισμός

Page 66: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

65 / 90

της μέσης θερμοκρασίας για μία συγκεκριμένη πόλη να γίνεται με κατάλληλο υποπρόγραμμα, το οποίο πρέπει να κατασκευάσετε και να ενεργοποιήσετε με κατάλληλο τρόπο στη συνέχεια.

Λύση ΠΡΟΓΡΑΜΜΑ Νοέμβριος ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i ,j ΠΡΑΓΜΑΤΙΚΕΣ: Ν2005[50,30], Ν2006[50,30], Μέση1, Μέση2 ΧΑΡΑΚΤΗΡΕΣ: Πόλη[50] ΑΡΧΗ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50 ΔΙΑΒΑΣΕ Πόλη[ i ] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 30 ΔΙΑΒΑΣΕ Ν2005[ i ,j ], Ν2006[ i ,j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50 ! Για κάθε πόλη Μέση1< - Υπολ(Ν2005,i) ! Υπολογίζω τη μέση θερμοκρασία της i πόλης τον Νοέμβριο 2005 Μέση2< - Υπολ(Ν2006,i) ! Υπολογίζω τη μέση θερμοκρασία της i πόλης τον Νοέμβριο 2006 ΓΡΑΨΕ ‘Η μέση θερμοκρασία της ‘, Πόλη[i], ‘ είναι για το 2005’, Μέση1, ‘ για το 2006’, Μέση2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ Υπολ (Ν, i) : ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: j,i,N ΠΡΑΓΜΑΤΙΚΕΣ: Αθρ, Ν[50,30], Μέση ΑΡΧΗ Αθρ <- 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 30 Αθρ <- Αθρ + Ν[ i ,j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Μέση <- Αθρ/30 Υπολ <- Μέση ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Page 67: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

66 / 90

ΑΣΚΗΣΕΙΣ ΚΑΤΑΝΟΗΣΗΣ ΠΙΝΑΚΩΝ Μονοδιάστατοι Πίνακες 1. Να γραφεί ένα πρόγραμμα, στο οποίο να ορίζονται και να γεμίζουν με τα αντίστοιχα στοιχεία, οι

παρακάτω πίνακες. (α) 10 20 3 14 19

(β) 1 2 3 4 5

(γ) 0 1 2 3 4 5 6 7 8 9

(δ) Δευτέρα Τρίτη Τετάρτη Πέμπτη Παρασκευή Σάββατο Κυριακή

(ε) 100 200 400 800 1600 3200 6400 12800 25600 51200

(στ) 100 50 25 12,5 6,25 12,5 25 50 100

(ζ) 1 k21 k3

1 … kn1

n ακέραιος <=100 n, k θα δίνονται

(η) 10 9 8 7 6 5 4 3 2 1

(θ) 1 0 1 0 1 0 … 1 0 Όπου δίνεται το πλήθος Ν

(ι) 1 2 3 … Ν … 3 2 1 Όπου δίνεται το Ν

2. Να δημιουργηθεί ένας πίνακας με 100 θέσεις και να τοποθετηθούν μέσα τιμές που προκύπτουν από το

ρίξιμο ενός ζαριού. Θεωρήσετε γνωστή τη διαδικασία Ζάρι(κ) που επιστρέφει ένα ακέραιο αριθμό από 1 μέχρι 6, με τυχαίο τρόπο, κάθε φορά που ενεργοποιείται.

3. Δίνεται πίνακας Ακτ, 100 θέσεων με γωνίες σε ακτίνια. Να δημιουργηθεί πίνακας Συνημίτονα, όπου σε κάθε θέση θα τοποθετηθεί το συνημίτονο της αντίστοιχης γωνίας.

4. Δίνεται ο παρακάτω μονοδιάστατος πίνακας Α Α 12 7 22 24 58 87 5 110 11 47

Να εφαρμόσετε τον αλγόριθμο της ταξινόμησης με τη μέθοδο της φυσαλίδας στον πίνακα αυτό και να εμφανίσετε τις μεταβατικές καταστάσεις του (για ι=2,3,… κλπ) μέχρι να ταξινομηθεί α) με αύξουσα σειρά, β) με φθίνουσα σειρά.

Γράψτε τον αλγόριθμο της ταξινόμησης ευθείας ανταλλαγής κατά φθίνουσα σειρά σε πίνακα table[5] Να συμπληρώσετε τις παρακάτω στήλες που απεικονίζουν τη μορφή του πίνακα table[5] σε κάθε βήμα της επανάληψης όταν αυτός

ταξινομείται κατά φθίνουσα σειρά. Οι στήλες να συμπληρωθούν έτσι ώστε να απεικονίζουν τις τιμές του πίνακα μετά το τέλος της κάθε επανάληψης. Παράδειγμα : όταν i=2 και j=5 τότε ο πίνακας θα γίνει όπως η στήλη β

α β γ δ ε ζ η θ ι κ λ 5. Δίνεται ο παρακάτω πίνακας Α [ 7 ]

I = 2 J = 5 table 1 16 2 12 3 17 4 16 5 14

Αρχικός πίνακας table 1 16 2 12 3 17 4 14 5 16

I = 2 J = 4 table 1 2 3 4 5

I = 2 J = 3 table 1 2 3 4 5

I = 2 J = 2 table 1 2 3 4 5

I = 3 J = 5 table 1 2 3 4 5

I = 3 J = 4 table 1 2 3 4 5

I = 3 J = 3 table 1 2 3 4 5

I = 4 J = 5 table 1 2 3 4 5

I = 4 J = 4 table 1 2 3 4 5

I = 5 J = 5 table 1 2 3 4 5

Page 68: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

67 / 90

12 4 50 500 7 11 32 Να γράψετε πως θα είναι ο πίνακας Α μετά το τέλος του καθένα εκ των παρακάτω αλγορίθμου ξεχωριστά

Α ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 3 ΑΝ Α[ ι ] > 10 ΤΟΤΕ Χ ← Α[ ι ] Α[ ι ] ← Α[ 8-ι ] Α[ 8-ι ] ← Χ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Β ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 7 ΑΝ Α[ ι ] < 10 ΤΟΤΕ Α[ ι ] ← Α[ ( 8-ι ) MOD 7 + 1 ] + 1 ΑΛΛΙΩΣ Α[ ι ] ← Α[ ι ] +2 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Γ ΓΙΑ ι ΑΠΟ 2 ΜΕΧΡΙ 7 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ (ι – 3) Α[ ι ] ← Α[ ι ] + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

6. Δίνονται οι παρακάτω πίνακες: Α 8 5 9 8 1 2 15 18 7 2

1 2 3 4 5 6 7 8 9 10

Β 20 7 40 50 4 60 5 80 1 100 Ποια θα είναι τα περιεχόμενα των πινάκων Α και Β μετά την εκτέλεση του παρακάτω αλγορίθμου; Α ΑΛΓΟΡΙΘΜΟΣ Πίνακας ΔΕΔΟΜΕΝΑ // Α, Β // ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 ΑΝ (Β[i] <=10) ΤΟΤΕ Α[ Β[i] ] ← A[i] - Β[i] ΑΛΛΙΩΣ_ΑΝ (Α[i] <=9) ΤΟΤΕ Β[ Α[i] +1 ] ← Β[i] + A[ Α[i] ] DIV 2 -1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ // Α, B // ΤΕΛΟΣ Πίνακας

Β ΑΛΓΟΡΙΘΜΟΣ Πίνακας ΔΕΔΟΜΕΝΑ // Α, Β // ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 ΑΝ (Β[i] <=10) ΤΟΤΕ Α[ i ] ← 0 ΑΛΛΙΩΣ Α[i] ← Β[i] + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ // Α, B // ΤΕΛΟΣ Πίνακας

Α. Δίνεται ο πίνακας Α:

18 23 3 14 11 2 8 10 16 9 και το τμήμα αλγόριθμου: Για i από 1 μέχρι 5 max ← 0 min ← 100 Για j από 1 μέχρι 10 Αν Α[j] > max τότε max ← Α[j] θmax ← j Τέλος_αν Αν Α[j] < min και Α[j] >0 Τότε min ← Α[j] θmin ← j Τέλος_αν Τέλος_επανάληψης Μ ← max + min Αν Μ mod 2 = 1 Τότε Μ ← Μ+1 Β[i] ← M/2 Α[θmax] ← 0 Α[θmin] ← 0 Τέλος_επανάληψης Α) Γράψτε τα στοιχεία του πίνακα Β μετά την εκτέλεση των παραπάνω εντολών. Β) Γράψτε τμήμα αλγορίθμου που θα εκτελεί την ίδια λειτουργία αν γνωρίζουμε ότι ο πίνακας Α είναι ταξινομημένος.

Δίνεται ο πίνακας Α[5] Επίσης δίνεται το διπλανό τμήμα αλγόριθμου σε ψευδογλώσσα:

πλ ← 0 i ← 2 Αρχή Επανάληψης flag ← ΑΛΗΘΗΣ

Για j από 5 μέχρι i με_βήμα -1 Αν Α[j-1] > A[j] τότε Αντιμετάθεσε Α[j-1], A[j] πλ ← πλ + 1 flag ← ΨΕΥΔΗΣ Τέλος_Αν Τέλος_Επανάληψης i ← i + 1 Μέχρις_ότου ( i > 5 ) Ή ( flag = ΑΛΗΘΗΣ ) Β1. Να παρουσιάσετε την τελική μορφή του πίνακα Α μετά την εκτέλεση του παραπάνω αλγόριθμου. (Μ 5) Β2. Ποια λειτουργία εκτελέστηκε στον πίνακα Α; (M 1) Β3. Ποιος ο ρόλος των μεταβλητών flag και πλ; (Μ 4) Β4. Ποια η τιμή της μεταβλητής πλ , μετά την ολοκλήρωση του αλγορίθμου; (Μ 3) Β5. Να ξαναγράψετε τον παραπάνω τμήμα αλγόριθμου κάνοντας αποκλειστική χρήση τη δομής Όσο…..Τέλος_Επανάληψης. (Μ 3)

11 8 17 1 4 1 2 3 4 5

Page 69: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

68 / 90

7. Δίνονται οι παρακάτω μονοδιάστατοι, ταξινομημένοι πίνακες Α, Β Α 1 7 12 14 50 60 100 Β 3 5 6 7 70 74 87 90 93 94 97

Να εφαρμόσετε τον αλγόριθμο της συγχώνευσης ταξινομημένων πινάκων κατά αύξουσα σειρά και να αποτυπώσετε πως θα είναι ο πίνακας Γ που προκύπτει καθώς και ποιοι θα είναι εκείνη τη στιγμή οι δείκτες i, j, k τις στιγμές που α) ο δείκτης k του πίνακα Γ είναι: 4, β) ο δείκτης i του Α είναι: 4, γ) ο δείκτης j του Β είναι 5 και δ) τελικά. 8. Δίνεται ο παρακάτω μονοδιάστατος πίνακας Β Β 8 5 9 8 1 2 15 18 7 2

1 2 3 4 5 6 7 8 9 10 Και το υποπρόγραμμα Διαδ(α, β) που δέχεται ένα ακέραιο και επιστρέφει το τετράγωνο του. Ποια θα είναι τα περιεχόμενα του πίνακα Β μετά την εκτέλεση του παρακάτω αλγορίθμου; ΑΛΓΟΡΙΘΜΟΣ Πίνακας ΔΕΔΟΜΕΝΑ // Β // ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 ΑΝ ( i Mod 3 <> 2) ΤΟΤΕ ΚΑΛΕΣΕ Διαδ( i, Β[i]) ΑΛΛΙΩΣ ΚΑΛΕΣΕ Διαδ( i, κ) Β[ i ] ← Β[ i +1 ] + Β[i] + κ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΠΟΤΕΛΕΣΜΑΤΑ // B // ΤΕΛΟΣ Πίνακας Πανελλήνιες 9. Δίνονται ο παρακάτω μονοδιάστατος πίνακας Α και το αντίστοιχο τμήμα αλγορίθμου. Ο Α είναι 10

θέσεων, και στις θέσεις 1 έως 10 περιέχει αντίστοιχα τους αριθμούς (Επαν 2002): 15, 3, 0, 5, 16, 2, 17, 8, 19, 1

Για i από 1 μέχρι 9 με_βήμα 2 k←((i+10) mod 10)+1 Α[i]←Α[k] εκτύπωσε i, k, A[i], A[k] Τέλος_επανάληψης

Ποιες τιμές τυπώνονται με την εντολή εκτύπωσε i, k, A[i], A[k] καθώς εκτελείται το παραπάνω τμήμα αλγορίθμου;

10. Ο μονοδιάστατος αριθμητικός πίνακας Table έχει τα ακόλουθα στοιχεία(Εσπ 2002): 1η θέση 2η θέση 3η θέση 4η θέση 5η θέση

43 72 -4 63 56

Δίνεται το παρακάτω τμήμα αλγορίθμου : Να μεταφερθεί στο τετράδιό σας ο ακόλουθος πίνακας και να συμπληρωθεί για όλες τις τιμές του J, που αντιστοιχούν σε I=2 και Ι=3.

Για Ι από 2 μέχρι 5 Για J από 5 μέχρι Ι με_βήμα -1 Αν Table[J-1] < Table[J] τότε Αντιμετάθεσε Table[J-1], Table[J] Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης

Πίνακας Ι J 1η 2η 3η 4η 5η 2 5 43 72 -4 63 56

3

11. Δίνεται το παρακάτω πρόγραμμα το οποίο διαβάζει τις θερμοκρασίες διαφόρων ημερών του μήνα, έστω 30, και υπολογίζει τη μέση θερμοκρασία του μήνα. (Παν 2005)

ΠΡΟΓΡΑΜΜΑ Θερμοκρασίες ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Θερμοκρασία [30], Μέση, Σύνολο

Page 70: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

69 / 90

ΑΚΕΡΑΙΕΣ: i ΑΡΧΗ Σύνολο 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30 ΓΡΑΨΕ “∆ώσε τη θερμοκρασία” ∆ΙΑΒΑΣΕ Θερμοκρασία [i] Σύνολο Σύνολο + Θερμοκρασία [i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Μέση Σύνολο/30 ΓΡΑΨΕ “Μέση Θερμοκρασία:”, Μέση

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ α) Να γραφεί αντίστοιχο πρόγραμμα (που να κάνει τους ίδιους υπολογισμούς) χωρίς τη χρήση πίνακα. β) Έστω ότι οι τιμές των θερμοκρασιών έχουν δοθεί στην κλίμακα Κελσίου. Να τροποποιηθεί το πρόγραμμα που δόθηκε έτσι, ώστε κάνοντας χρήση συνάρτησης να μετατρέπονται οι θερμοκρασίες από την κλίμακα Κελσίου σε κλίμακα Φαρενάιτ. Ο τύπος μετατροπής από Κελσίου σε Φαρενάιτ είναι: Φαρενάιτ=32+9.Κέλσιους/5 12. Δίνεται ο πίνακας C με έξι στοιχεία που έχουν αντίστοιχα τις παρακάτω τιμές: 2, 5, 15, –1, 32, 14 , και

το παρακάτω τμήμα αλγορίθμου (Παν 2004) min ← 100 max ← –100 Για i από 1 μέχρι 6 με_βήμα 2 Α ← C[i] B ← C[i+1] Αν A<Β τότε Lmin ← A Lmax ← B αλλιώς Lmin ← Β Lmax ← Α Τέλος_αν Αν Lmin<min τότε min ← Lmin Τέλος_αν Αν Lmax>max τότε max ← Lmax Τέλος_αν Εκτύπωσε Α, Β, Lmin, Lmax, min, max Τέλος_επανάληψης D max * min Εκτύπωσε D

Να εκτελέσετε το παραπάνω τμήμα αλγορίθμου και να γράψετε στο τετράδιό σας: α. Τις τιμές των μεταβλητών Α, Β, Lmin, Lmax, min και

max, όπως αυτές εκτυπώνονται σε κάθε επανάληψη. Μ 18

β. Την τιμή της μεταβλητής D που εκτυπώνεται. Μ 2

Page 71: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

70 / 90

Δισδιάστατοι Πίνακες 1. Να γραφεί ο αλγόριθμος που θα διαβάζει ένα φυσικό περιττό αριθμό Ν, ο οποίος μπορεί να πάρει τιμές

μέχρι το 999 και να γεμίζει ένα τετραγωνικό πίνακα Α[Ν, Ν] με μηδέν (0) και ένα (1) κατά τέτοιο τρόπο ώστε: (α) Να δημιουργείται σχήμα σταυρού (στη μεσαία γραμμή και στήλη 1, τα υπόλοιπα 0). (β) Να γεμίζει τις διαγώνιους με 1 και τα υπόλοιπα στοιχεία 0 (γ) Να δίνει εναλλάξ 1, 0, 1, 0, κλπ Για παράδειγμα για N=5, γεμίζονται οι παρακάτω πίνακες

0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 (α) (β) (γ)

Σημείωση : Χρειάζεται να ελέγξετε την εγκυρότητα του Ν.

2. Να γραφούν τμήματα αλγορίθμου που να εμφανίζουν τα στοιχεία όπως φαίνονται στους παρακάτω πίνακες σε αύξουσα σειρά.

4 8 12 16 11 10 9 8 1 5 9 13 1 2 3 4 5 3 7 11 15 7 6 5 4 14 2 6 10 10 9 8 7 6 2 6 10 14 3 2 1 0 11 15 3 7 11 12 13 14 15 1 5 9 13 8 12 16 4 20 19 18 17 16

3. Να γραφεί ο αλγόριθμος που θα δημιουργεί και θα γεμίζει με τιμές ένα τετραγωνικό πίνακα Α[5, 5]

σύμφωνα με τους παρακάτω τρόπους: (α) Κατά στήλη, ξεκινώντας από το στοιχείο Α[5,1] με την τιμή 1 και αυξάνοντας ανά 1 (β) Κατά γραμμή, ξεκινώντας από το στοιχείο Α[1,1] με την τιμή 1 και αυξάνοντας ανά 2 (γ) Κατά γραμμή , ώστε το κάθε στοιχείο να ισούται με το προηγούμενο συν το άθροισμα των δεικτών

του. πχ Α[1,4]=Α[1,3]+(1+4) 5 10 15 20 25 1 3 5 7 9 2 5 9 4 9 14 19 24 11 13 15 17 19 3 8 13 18 23 21 23 25 27 29 2 7 12 17 22 31 33 35 37 39 1 6 11 16 21 41 43 45 47 49 (α) (β) (γ)

4. Δίνεται ο παρακάτω πίνακας Α [ 5 , 5 ] 2 11 100 31 2 5 23 500 29 45 10 7 1 28 71 9 12 300 47 65 20 9 200 35 49

5. Τι θα εμφανιστεί κατά την εκτέλεση του παρακάτω αλγορίθμου: Α ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ ι ΓΡΑΨΕ ι , j , Α [ ι , j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Β ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ ι+1 ΜΕΧΡΙ 5

ΑΝ Α[ ι , j ] > 100 ΤΟΤΕ ΓΡΑΨΕ ι , j , Α [ ι , j ] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Page 72: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

71 / 90

6. Να γραφεί πρόγραμμα που να δημιουργεί τον παρακάτω δισδιάστατο πίνακα Α [5 , 10 ] Ω Ω Ω Ω 1 1 Α Α Α Α Ω Ω Ω Ω 1 1 Α Α Α Α 1 1 1 1 1 1 1 1 1 1 Ω Ω Ω Ω 1 1 Α Α Α Α Ω Ω Ω Ω 1 1 Α Α Α Α

7. Δίνεται ο παρακάτω πίνακας Α[20,5,30] 1. Να γράψετε ποια στοιχεία αντιστοιχούν στα αριθμημένα κουτάκια. Μονάδες 5 2. Πόσα στοιχεία έχει; Μονάδες 1 3. Να γράψετε τις εντολές που υπολογίζουν το άθροισμα των στοιχείων του. Μονάδες 3 8. Δίνεται ο πίνακας Α (σχήμα 1) και το παρακάτω τμήμα προγράμματος (Εσπ 2003):

sum ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 ΑΝ i = j TOTE sum ← sum + A[i,j] AΛΛΙΩΣ A[i,j] ← 0 Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης γραψε sum

1 -1 7 1 1 6 2 0 8 -2 4 9 3 3 0 3 5 -4 2 1 0 1 2 0 1

Σχήμα 1: Πίνακας Α

Αυτό το τμήμα προγράμματος χρησιμοποιεί τον πίνακα Α, με τις τιμές των στοιχείων του, όπως αυτές φαίνονται στο σχήμα 1.

Α) Να σχεδιάσετε στο τετράδιό σας τον πίνακα Α με τις τιμές που θα έχουν τα στοιχεία του, μετά την εκτέλεση του τμήματος προγράμματος.(Μονάδες 15) Β) Ποια είναι η τιμή της μεταβλητής sum που θα εμφανιστεί; (Μονάδες 5)

Ουρά και Στοίβα 1. Δίνεται η παρακάτω στοίβα Α:

3

1

2

4

5

1

20

30

Page 73: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

72 / 90

2. Δί

νεται η παρακ

άτω στοίβα. Και ορίζονται οι εντολές: Ώθησε Α,x , που εισάγει στην κορυφή της στοίβας Α το περιεχόμενο της μεταβλητής x και Απώθησε Α,x , που αφαιρεί από τη στοίβα Α το τελευταίο στοιχείο και το καταχωρεί στην x. Γράψετε τις εντολές που χρειάζονται για να εμφανίζεται μέσα στη στοίβα η λέξη ΓΕΙΑ.

Ι Ε Α Γ 1 2 3 4

3. Δίνεται η παρακάτω ουρά Α:

Μ Ν Α Δ 1 2 3 4 5 6 7 8 9 10

1. Τι τιμή έχουν οι δείκτες rear και front; 2. Πόσες τιμές χωράει ακόμα οι ουρά; 3. Πόσα στοιχεία έχουν εξαχθεί μέχρι τώρα; 4. Ποια τιμή είναι έτοιμη για εξαγωγή; 5. Τι επίδραση θα έχουν οι εντολές: Εισαγωγή Κ, Εισαγωγή Π, Εξαγωγή στο x, Εξαγωγή στο y, αναλυτικά στον

πίνακα και τους δείκτες front, rear. 6. Ποια τιμή μπήκε τελευταία στην ουρά; 7. Τα στοιχεία μιας ουράς είναι διαρκώς ταξινομημένα ως προς κάποιο χαρακτηριστικό. Ποιο είναι αυτό; 8. Τι τιμές έχουν οι δείκτες rear και front σε μία άδεια ουρά; 9. Όταν ο δείκτης πίσω, πάρει την τιμή 10, τότε η ουρά είναι γεμάτη; 4. Να γραφεί υποπρόγραμμα που να επιτελεί την ενέργεια της Ώθησης (ή Απώθησης) ενός στοιχείου x, σε μία Στοίβα

μέγιστης χωρητικότητας 100, με δεδομένη τιμή top που δείχνει το κορυφαίο στοιχείο. Το υποπρόγραμμα θα πρέπει να επιστρέφει τη νέα στοίβα καθώς και αν έγινε ή όχι η ώθηση (ή η απώθηση).

5. Να γραφεί υποπρόγραμμα που να επιτελεί την ενέργεια της Εισαγωγής (ή Εξαγωγής) ενός στοιχείου x, σε μία Ουρά μέγιστης χωρητικότητας 100, με δεδομένες τιμές για το δείκτη του πρώτου και του τελευταίου στοιχείου της ουράς. Το υποπρόγραμμα θα πρέπει να επιστρέφει τη νέα ουρά καθώς και αν έγινε ή όχι η Εισαγωγή (ή η Εξαγωγή).

6. Εν2006-2. ∆ίνεται η παρακάτω ακολουθία αριθμών: 25, 8, 12, 14, 71, 41, 1. Τοποθετούμε τους αριθμούς σε στοίβα και σε ουρά. 1. Ποια λειτουργία θα χρησιμοποιηθεί για την τοποθέτηση των αριθμών στη στοίβα και ποια για τοποθέτησή σε

ουρά; 2. Να σχεδιάσετε τις δύο δομές (στοίβα και ουρά) μετά την τοποθέτηση των αριθμών. 3. Ποια λειτουργία θα χρησιμοποιηθεί για την έξοδο αριθμών από τη στοίβα και ποια για την έξοδό από την ουρά; 4. Πόσες φορές πρέπει να γίνει η παραπάνω λειτουργία στη στοίβα και πόσες στην ουρά για να εξέλθει ο αριθμός

71;

11 1. Τι τιμή έχει ο δείκτης top; 10 2. Πόσα στοιχεία χωράει ακόμα;

9 3. Τι επίδραση θα έχουν οι εντολές 8 12 Απώθησε το 12, Απώθησε το 3, Ώθησε το 12 3 7 3 4. Ποια θα είναι η νέα τιμή του top 34 6 34 5. Ποια θα είναι η τιμή του Α[top] 10 5 5 6. Γράψετε τις εντολές που από την αρχική στοίβα δίνουν την τελική. 5 4 12 7. Τι τιμή παίρνει το top για μία άδεια στοίβα; 12 3 10 8. Τι τιμή παίρνει το top όταν γεμίσει η στοίβα; 10 2 30 9. Γράψετε το πεδίο ορισμού του top 30 1 8 Α (3) (6) 8

Page 74: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

73 / 90

ΑΣΚΗΣΕΙΣ ΜΕ ΠΙΝΑΚΕΣ Μονοδιάστατοι πίνακες Προσπέλαση και συνήθεις επεξεργασίες (Άθροισμα, Μέγιστο, Ελάχιστο, Αναζήτηση, Ταξινόμηση) 1. Δίνεται μονοδιάστατος πίνακας ακέραιων Α, 100 θέσεων με Ν συμπληρωμένες τιμές. Να γραφεί υποπρόγραμμα με

το οποίο (όπου αναφέρεται να υπολογίζει να συμπληρώνεται και να επιστρέφει): 1 Να διαβάζει πόσα στοιχεία έχει ο πίνακας Α και να στη συνέχεια να γίνεται εισαγωγή των στοιχείων του. 2 Να εμφανίζονται τα στοιχεία του πίνακα Α. 3 Να εμφανίζονται τα στοιχεία του πίνακα Α από το τελευταίο προς το πρώτο. 4 Να υπολογίζεται ο μέσος όρος των στοιχείων του πίνακα Α. 5 Να υπολογίζεται το πλήθος των στοιχείων που είναι μεγαλύτερα από το ΜΟ του πίνακα. 6 Να υπολογίζεται το πλήθος των στοιχείων που έχουν τιμή μεγαλύτερη του 10. 7 Να υπολογίζεται το άθροισμα των στοιχείων του πίνακα Α που βρίσκονται σε ζυγές θέσεις. 8 Να υπολογίζεται αν το γινόμενο των 9 πρώτων στοιχείων του πίνακα είναι μεγαλύτερο από 100. 9 Να γίνεται αντιμετάθεση των στοιχείων που βρίσκονται σε περιττές θέσεις με τα αντίστοιχα στοιχεία που

βρίσκονται στις ζυγές θέσεις δίπλα τους. 10 Να επιστρέφει αν είναι Συμμετρικός, δηλ. αν Α[1]=Α[Ν], Α[2]=Α[Ν-1], Α[3]=Α[Ν-2],… 11 Να γίνεται αντιμετάθεση των συμμετρικών στοιχείων του πίνακα. 12 Να ελέγχει αν ο πίνακας Α είναι ταξινομημένος σε αύξουσα σειρά. 13 Να ολισθήσει αριστερά κυκλικά τα στοιχεία του (2ο →1ο, 3ο→2ο,…, 1ο →Νο) 14 Να ολισθήσει δεξιά κυκλικά τα στοιχεία του (1ο →2ο, 2ο→3ο,…, .. →Νο, Νο →1ο) 15 Να υπολογίζει το γινόμενο των στοιχείων του πίνακα μέχρι αυτό να γίνει μεγαλύτερο του 1500 και να εμφανίσει

πόσα στοιχεία του πίνακα χρειάστηκε να πολλαπλασιάσει. (Προσοχή στην περίπτωση που το γινόμενο δεν γίνεται ποτέ μεγαλύτερο του 1500)

16 Να εμφανίζει τις διαδοχικές 3άδες στοιχείων στις οποίες το μεσαίο στοιχείο ισούται με το άθροισμα των δύο άλλων.

17 Να βρίσκει το μικρότερο στοιχείο του πίνακα και σε ποια θέση βρέθηκε. 18 Να βρίσκει το μεγαλύτερο στοιχείο του πίνακα που βρίσκεται σε περιττή θέση (1ου 3ου,κλπ) 19 Να βρίσκει τον μικρότερο άρτιο αριθμό του πίνακα 20 Να εμφανίζει τις θέσεις των αριθμών που είναι ίσοι με τον μικρότερο αριθμό του πίνακα. 21 Να δέχεται έναν ακέραιο και να ελέγχει αν υπάρχει μέσα στον πίνακα Α. Να επιστρέφει αν υπάρχει και σε ποια

θέση βρέθηκε. Σε περίπτωση που δε βρέθηκε να επιστρέφει για θέση την τιμή 0. 22 Να δέχεται έναν ακέραιο και να υπολογίζει πόσες φορές υπάρχει μέσα στον πίνακα Α. 23 Να δέχεται ένα ακέραιο και να υπολογίζει αν υπάρχει στον αύξοντα ταξινομημένο πίνακα Α. 24 Δίνεται μονοδιάστατος μη ταξινομημένος πίνακας Τ με Ν διαφορετικά στοιχεία. Να γράψετε τον αλγόριθμο

σειριακής αναζήτησης της τιμής μιας μεταβλητής key στον πίνακα Τ (Εσπ2006). 25 Να ταξινομεί κατά αύξουσα σειρά τον πίνακα. Αν τύχει να ταξινομηθεί πριν ολοκληρωθεί η συμβατική

διαδικασία να φροντίζει να τερματίζεται έγκαιρα (βελτίωση ταξινόμησης) 26 Να ταξινομεί αύξουσα με την τεχνική της Επιλογής τον πίνακα (Εύρεση κάθε φορά της θέσης του μικρότερου

και αντιμετάθεση του μικρότερου με το στοιχείο της 1ης θέσης, κοκ) 2. Δίνονται δύο (παράλληλοι) μονοδιάστατοι πίνακες 500 κόμβων: Μαθητές και Βαθμοί με τα ονόματα και τους

βαθμούς Ν μαθητών, αντίστοιχα, καθώς και το πλήθος Ν. Να γραφεί υποπρόγραμμα που: 1 Να εμφανίζει τους μαθητές που έχουν βαθμό μεγαλύτερο του μέσου όρου. 2 Να υπολογίζει το μέσο όρο των μαθητών που έχουν βαθμό στο διάστημα [0, 9.5]. 3 Να εντοπίζει τον πρώτο μαθητή του πίνακα, που έχει βαθμό 16,5 και να επιστρέφει το όνομα του. 4 Να εντοπίζει τον τελευταίο στη σειρά μαθητή του πίνακα, που έχει βαθμό 16,5 και να επιστρέφει το όνομα του.

Αν δεν υπάρχει τέτοιος μαθητής να επιστρέφει το μήνυμα «Κανείς» 5 Να εμφανίζει τους μαθητές που έχουν βαθμό 16,5 (αν υπάρχουν). Αν δεν υπάρχουν τέτοιοι να εμφανίζει σχετικό

μήνυμα. 6 Να εμφανίζει τους μαθητές με τον χαμηλότερο βαθμό. 7 Να εμφανίζει τους 5 χειρότερους μαθητές 8 Να εμφανίζει τους μαθητές με φθίνουσα σειρά ως προς το βαθμό τους. Σε περίπτωση ισοβαθμίας να

εμφανίζονται τα ονόματα ταξινομημένα με αύξοντα τρόπο. Συνηθισμένοι Υπολογισμοί και Επεξεργασίες – (άθροισμα, Μ.Ο, Max, Min, Αναζήτηση, Ταξινόμηση) 3. Να γραφεί πρόγραμμα που

1 Να διαβάζει τιμές για τις θερμοκρασίες στις 52 πρωτεύουσες νομών της Ελλάδας, μία συγκεκριμένη μέρα του Ιανουαρίου και να τις αποθηκεύει σε ένα πίνακα Θερ

2 Να υπολογίζει την μέση τιμή των θερμοκρασιών: Μέση 3 Να βρίσκει σε πόσες πόλεις η θερμοκρασία είναι μεγαλύτερη από την μέση τιμή.

Αλλαγή Γραμματοσειράς σημαίνει ότι το ερώτημα αυτό πρέπει να γίνει με υποπρόγραμμα /τα

Page 75: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

74 / 90

4 Να υπολογίζει την μέση τιμή των υψηλών θερμοκρασιών (>=Μέση), ΜέσηΥψηλών 5 Να υπολογίζει την μέση τιμή των χαμηλών θερμοκρασιών (<Μέση), ΜέσηΧαμηλών 6 Να βρίσκει σε πόσες πόλεις η θερμοκρασία είναι πλησιέστερη στη θερμοκρασία ΜέσηΥψηλών και πόσες στη

θερμοκρασία ΜέσηΧαμηλών. 4. Να γραφεί αλγόριθμος που

1 Να διαβάζει τιμές για 100 προϊόντα και να τις αποθηκεύει σε ένα πίνακα 2 Να υπολογίζει την μέση τιμή των προϊόντων 3 Να βρίσκει πόσα προϊόντα έχουν τιμή μεγαλύτερη από την μέση. 4 Να βρίσκει πόσα προϊόντα έχουν τιμή που αποκλίνει προς τα κάτω από την μέση περισσότερο από 20%. 5 Να βρίσκει πόσα προϊόντα έχουν τιμή πιο κοντά στην 1η τιμή του πίνακα, και πόσα έχουν τιμή πιο κοντά στην

τελευταία 6 Να βρίσκει πόσα προϊόντα έχουν τιμή πιο κοντά στη μεγαλύτερη τιμή του πίνακα, και πόσα έχουν τιμή πιο

κοντά στη μικρότερη. 5. Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει για τους 1050 κατοίκους ενός χωριού τα ονόματα, το φύλο (Α,Γ)

και το έτος γέννησης. Στη συνέχεια να εκτυπώνει : 1 Τα ονόματα των κατοίκων που έχουν δικαίωμα ψήφου (ηλικία > =18) 2 Τα ονόματα των ατόμων με ηλικία μεγαλύτερη της μέσης ηλικίας για το χωριό. 3 Το ποσοστό επί του συνόλου των ανδρών, ανδρών ηλικίας μικρότερης της μέσης με δικαίωμα ψήφου.

6. Μια τράπεζα διαθέτει πελατολόγιο 15000 κατόχων πιστωτικής κάρτας σε ολόκληρη την Ελλάδα. Να αναπτύξετε αλγόριθμο ο οποίος με δεδομένα τα στοιχεία των πελατών της τράπεζας και των οφειλών τους θα εκτυπώνει: 1 Τα ονόματα των πελατών της τράπεζας με οφειλές πάνω του μέσου όρου 2 Τα ονόματα των πελατών με μηδενικές οφειλές 3 Ποιοι πελάτες έχουν οφειλή ίση με την μέγιστη οφειλή προς την τράπεζα

7. Το τμήμα μισθοδοσίας καταχωρεί τις εισπράξεις της αλυσίδας των 30 καταστημάτων που διαθέτει σε έναν πίνακα. Αντίστοιχα, σε έναν πίνακα 30 θέσεων καταχωρούνται τα ονόματα - επωνυμία των καταστημάτων. Να αναπτυχθεί αλγόριθμος όπου: 1 Να εκτυπώνει τα ονόματα των καταστημάτων με την μεγαλύτερη είσπραξη. 2 Να εμφανίζει τα καταστήματα με εισπράξεις κάτω του μεγίστου έως και 25%.

8. Να γραφεί αλγόριθμος που: 1 Να διαβάζει τον αριθμό των γκολ που έβαλε και «έφαγε» ο Παναθηναϊκός σε κάθε ένα από τους 20 τελευταίους

αγώνες του, και να τα αποθηκεύει στους πίνακες Γκ1[20], Γκ2[20]. Να γίνεται έλεγχος τα γκολ να είναι θετικός αριθμός.

2 Να υπολογίζει και να εμφανίζει τον μέσο όρο των γκολ που πέτυχε και αυτών που δέχτηκε (φτιάξετε ένα υποπρόγραμμα και χρησιμοποιείστε το δύο φορές)

3 Να υπολογίζει και να εμφανίζει σε πόσες αγωνιστικές έβαλε περισσότερα γκολ από τον μέσο όρο του και σε πόσες έφαγε λιγότερα γκολ από τον αντίστοιχο μέσο όρο του

4 Να υπολογίζει και να εμφανίζει πόσες νίκες έκανε, πόσες ισοπαλίες και πόσες ήττες 5 Να εμφανίζει σε ποιούς αγώνες (από τους 20) σκόραρε τον μεγαλύτερο αριθμό γκολ.

9. Ο καθηγητής του μαθήματος «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό περιβάλλον» έκανε διαγώνισμα στο Β’ Τετράμηνο στους 27 μαθητές του. Στη συνέχεια ακολούθησε την παρακάτω τακτική βαθμολόγησης.α) Βαθμολόγησε αντικειμενικά και έβαλε σε κάθε μαθητή το βαθμό που του αξίζει β) Αν ο ΜΟ της τάξης είναι κάτω από 8.5 αλλάζει τη βαθμολογία του κάθε μαθητή ως εξής:Αν ο βαθμός είναι μικρότερος του ΜΟ τότε προσθέτει σε αυτόν το μισό της διαφοράς του από τον ΜΟ (π.χ. Αν ο βαθμός είναι 4 και ο ΜΟ είναι 8 προσθέτει (8-4)/2=2 μονάδες και ο βαθμός γίνεται 6). Αν ο βαθμός είναι μεγαλύτερος από το ΜΟ μέχρι 5 μονάδες, προσθέτει σε αυτόν το 30% της διαφοράς του από τον ΜΟ διαφορετικά προσθέτει το 10% της διαφοράς τους. Να κάνετε πρόγραμμα που να διαβάζει τους βαθμούς των μαθητών, να υπολογίζει το μέσο όρο της τάξης και αν χρειαστεί να βαθμολογεί σύμφωνα με την παραπάνω μεθοδολογία (ο υπολογισμός κάθε νέου βαθμού να γίνεται με τη βοήθεια υποπρογράμματος που θα κατασκευάσετε για το σκοπό αυτό) Να εμφανίζει δε τον μέσο όρο που προκύπτει με την αντικειμενική βαθμολογία και τον τελικό μέσο όρο που προκύπτει μετά την κανονικοποίηση. Προσοχή: Οι βαθμοί που προκύπτουν από την «κανονικοποίηση» να μην υπερβαίνουν το 20.

10. Ο καθηγητής πληροφορικής θέλει να επεξεργαστεί στατιστικά την απόδοση των μαθητών στο μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Από τη μηχανογράφηση του σχολείου λαμβάνονται με ηλεκτρονικό τρόπο οι προφορικοί βαθμοί των δυο τετραμήνων και οι γραπτοί βαθμοί μαθητών στις εξετάσεις. Έχοντας υπόψη ότι ο μέσος προφορικός βαθμός διορθώνεται στην περίπτωση που η διαφορά του με τον γραπτό βαθμό είναι μεγαλύτερη των 2 μονάδων και πως τα ποσοστά συμμετοχής των παραπάνω στο βαθμό πρόσβασης είναι 30% και 70 % αντίστοιχα, να αναπτυχθεί αλγόριθμος που: 1 Θα υπολογίζει και θα εκτυπώνει τους βαθμούς πρόσβασης όλων των μαθητών 2 Θα εκτυπώνει τα ονόματα των μαθητών με βαθμό πρόσβασης μικρότερο από 9.5 3 Θα εκτυπώνει τα ονόματα των μαθητών με βαθμό πρόσβασης μεγαλύτερο από 18

Page 76: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

75 / 90

4 Ποιος είναι ο μέγιστος βαθμός πρόσβασης; 5 Πόσοι μαθητές έχουν βαθμός πρόσβασης ίσο με τον μέγιστο;

11. Να γραφεί αλγόριθμος που να διαβάζει τιμές προϊόντων σε δραχμές μέχρι να διαβάσει την τιμή 0 ή μέχρι το πλήθος των προϊόντων γίνει 100 και να τις αποθηκεύει σε ένα πίνακα. Στη συνέχεια να μετατρέπει τις τιμές αυτές σε ευρώ και να τις αποθηκεύει σε ένα άλλο πίνακα με την ανάποδη σειρά. Στο τέλος να εμφανίζει για όλα τα προϊόντα την τιμή τους σε δραχμές και Ευρώ. (π.χ. Να εμφανίζει : Το προϊόν 4 κοστίζει 1000 δραχμές ή 2,93 ευρώ) (Όσο)

12. Να γίνει αλγόριθμος που να δέχεται το όνομα, την πόλη και την ηλικία 100 παιδιών σε μία κατασκήνωση. Στη συνέχεια 1 Να εμφανίζει μενού αναζήτησης κατά Όνομα ή πόλη και να δέχεται αντίστοιχη επιλογή (1 για Όνομα και 2 για

Πόλη) 2 Να δέχεται το αντίστοιχο στοιχείο αναζήτησης (ένα όνομα αν η επιλογή είναι 1, ή μία πόλη αν η επιλογή είναι 2) 3 Να βρίσκει όλα τα παιδιά που πληρούν το παραπάνω κριτήριο και να εμφανίζει όλα τα στοιχεία τους

με τη μορφή. Ον/μο : Καραγιάννης Μανόλης , Πόλη : Ρέθυμνο , Ηλικία : 9 13. Ένας πίνακας λέγεται αραιός αν τα περισσότερα στοιχεία του (συνήθως ποσοστό 80% και πάνω) είναι μηδενικά. Να

γραφεί πρόγραμμα που να: 1 Να διαβάζει πόσα στοιχεία έχει ο πίνακας (έλεγχος ώστε να είναι <1000) και να διαβάζει τα στοιχεία αυτά. 2 υπολογίζει αν ο πίνακας είναι αραιός και να εμφανίζει αντίστοιχο μήνυμα 3 Να μεταφέρει τα μη μηδενικά στοιχεία με τη σειρά που τα συναντάει σε συνεχόμενες θέσεις ενός 2ο πίνακα Β.

Οι ελεύθερες θέσεις του Β να συμπληρωθούν με μηδενικά. 14. Ένα ραντάρ ελέγχει την ταχύτητα των αυτοκινήτων. Το όριο ταχύτητας στο σημείο αυτό είναι 90 km/h. Το ραντάρ

καταγράφει σε ένα πίνακα U τις ταχύτητες των αυτοκινήτων και σε ένα άλλο πίνακα Π τους αριθμούς της πινακίδας αντίστοιχα μέχρι να καταγράψει 20 παραβάσεις ή μέχρι να ολοκληρωθούν 500 έλεγχοι. Να γραφεί πρόγραμμα το οποίο: 1 Να εισάγει τα στοιχεία στους δύο πίνακες 2 να μετράει τους παραβάτες 3 Για κάθε παραβάτη να εμφανίζει τον αριθμό αυτοκινήτου και αν η ταχύτητα υπερβαίνει το όριο πάνω από 30%

το μήνυμα «κλήση για Δικαστήριο», αλλιώς αν υπερβαίνει πάνω από 10%, μήνυμα «Χρηματικό πρόστιμο», ενώ αν το υπερβαίνει λιγότερο από 10% να εμφανίζει μήνυμα «συχωρεμένος»

4 Να υπολογίζει ποια είναι η μέγιστη παράβαση. 5 Να εμφανίζει τον αριθμό του κάθε αυτοκινήτου που έκανε παράβαση και την απόκλισή του από τη μέγιστη σε

ποσοστό (π.χ. -23%) 15. Η εταιρεία Καρυδόπουλος ΑΕ έχει δημιουργήσει ένα ηλεκτρονικό κατάλογο με τα προϊόντα της. Ο κατάλογος είναι

ταξινομημένος αλφαβητικά (Α-Ω) και έχει Ν στοιχεία. Να αναπτυχθεί αλγόριθμος που με δεδομένα τον πίνακα με τα προϊόντα και το πλήθος τους, να διαβάζει το όνομα ενός νέου προϊόντος και να το εισάγει στην κατάλληλη θέση, ολισθαίνοντας τα υπόλοιπα δεξιά ώστε ο κατάλογος να μείνει ταξινομημένος. Θεωρείστε ότι ο μέγιστος αριθμός των προϊόντων δεν μπορεί να υπερβαίνει τα 1000.

16. Δίνεται πίνακας χαρακτήρων Α[100] που περιέχει τις σωστές απαντήσεις Ναι/Όχι (Ν/Ο) σε ένα τεστ. Να γραφεί αλγόριθμος που να καταχωρεί σε έναν πίνακα Μ[100] τις αντίστοιχες απαντήσεις ενός διαγωνιζόμενου (να ελέγχεται η εγκυρότητά τους) και στη συνέχεια να χαρακτηρίζει το διαγωνιζόμενο με: Άριστα [90-100], Πολύ Καλά [75-89], Καλά [50-74], Απορρίπτεται [0-49].

17. Δίνονται δύο πίνακες Π1[20], Π2[20]. Σε κάθε θέση περιέχεται ένας ελληνικός κεφαλαίος χαρακτήρας, ώστε συνολικά σε κάθε πίνακα να περιέχεται μία λέξη 20 χαρακτήρων. Να συγκριθούν λεξικογραφικά και να βρεθεί ποια λέξη είναι μικρότερη από την άλλη (Συγκρίνουμε τους 1ους χαρακτήρες, αν είναι ίδιοι τους 2ους κλπ, μέχρι να ληφθεί η σχετική απόφαση.

18. Δίνεται πίνακας Πρόταση[100] που περιέχει μία πρόταση (κάθε στοιχείο του πίνακα είναι ένας χαρακτήρας), και πίνακας Λέξη[20] που περιέχει μία λέξη είκοσι χαρακτήρων. Να γραφεί αλγόριθμος που να εμφανίζει μήνυμα αν βρέθηκε η λέξη στην πρόταση και αν ναι από ποια θέση ξεκινάει.

19. Στον πίνακα Π[4] βρίσκονται τα γράμματα Α, Β, Γ, Δ. Να εμφανιστούν όλοι οι διαφορετικοί συνδυασμοί 4αδων που μπορούν να σχηματιστούν με αυτά τα γράμματα. (Δηλ. ΑΑΑΑ, ΑΑΑΒ,….,ΔΔΔΔ)

20. Σε ένα πίνακα ακεραίων Α[5] αποθηκεύουμε ένα 5ψήφιο αριθμό (ένα ψηφίο σε κάθε κόμβο). Να γραφεί αλγόριθμος που να κρυπτογραφεί τον αριθμό προσθέτοντας τον αριθμό 2 σε κάθε ψηφίο και κατά τέτοιο τρόπο ώστε το τελικό ψηφίο να είναι μονοφήφιο (0→2, 1→3, 2→4, 3→5, 4→6, 5→7, 6→8, 8→0, 9→1). Π.χ. το 2 9 0 5 8 γίνεται 4 1 2 7 0

21. Να γράψετε πρόγραμμα που θα διαβάζει τον ακέραιο θετικό μισθό ενός υπαλλήλου και θα υπολογίζει τον ελάχιστο αριθμό κερμάτων και χαρτονομισμάτων στα οποία μπορεί να αναλυθεί και να εμφανίζει το πλήθος και το είδος του κάθε νομίσματος που πρέπει να του αποδοθούν. Για να γίνει αυτό θα χρειαστείτε πίνακα ακεραίων Ν[9] που

Page 77: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

76 / 90

περιλαμβάνει τις ακέραιες αξίες του ευρώ δηλ. Ν[1]=500, Ν[2]=200 ….Ν[9]=1 τον οποίο θα δημιουργήσετε με σχετικό υποπρόγραμμα.

22. Θεωρήσετε την παραπάνω άσκηση με τις παρακάτω διαφορές. Ο πίνακας Ν δεν είναι δεδομένος, ο μισθός μπορεί να είναι πραγματικός (με 2 δεκαδικά) και η ανάλυση που ζητάμε περιλαμβάνει όλες τις αξίες του ευρώ (από 500ρικο μέχρι λεπτό)

23. Δίνεται ταξινομημένος πίνακας Μισθοί που περιέχει τους μισθούς των Ν υπαλλήλων μιας επιχείρησης από τον μεγαλύτερο προς τον μικρότερο. Να γράψετε αλγόριθμο που να υπολογίζει πόσοι υπάλληλοι έχουν μισθό 1000 ευρώ μηνιαίως. (Σημείωση: Η αναζήτηση στον πίνακα να σταματάει όταν βρεθεί κάποιος μισθός που είναι μικρότερος από 1000 ευρώ)

24. Ένας συλλέκτης έχει μια συλλογή με Ν νομίσματα (Ν<=100). Να γραφεί πρόγραμμα που: 1 θα διαβάζει το πλήθος Ν των νομισμάτων (ελέγχοντας να μην υπερβαίνει το 100) 2 θα εισάγει σε πίνακες το όνομα και τη χρονιά έκδοσής τους 3 θα εμφανίζει τα ονόματα των 5 παλαιότερων νομισμάτων. 4 Θα εμφανίζει 3ο και το 7ο νεώτερο νόμισμα. 5 θα εμφανίζει τα νομίσματα που έχουν χρονιά έκδοσής μετά το 1990 (τελευταίο το νεότερο) 6 θα υπολογίζει πόσα νομίσματα έχουν χρονιά έκδοσής πριν το 1969

25. Δίνονται οι πίνακες Επ, που περιέχει τις επιδόσεις 100 αθλητών στο μήκος και Ον που περιέχει τα ονόματα τους. Να γραφεί αλγόριθμος που να εμφανίζει το όνομα και την επίδοση των τριών καλύτερων και των τριών χειρότερων αθλητών.

26. Να γραφεί αλγόριθμος που να διαβάζει τα ονόματα και τον μισθό του Ιανουαρίου 2009 και Ιανουαρίου 2010 των 100 υπαλλήλων μιας επιχείρησης και να εμφανίζει τους 20 πιο ριγμένους υπαλλήλους, δηλαδή αυτούς που είχαν την μικρότερη ποσοστιαία αύξηση στο μισθό τους (πρώτα τον λιγότερο ζημιωμένο).

27. Στο νομό Ρεθύμνου διενεργείται δημοψήφισμα για ένα φλέγον ζήτημα της παιδείας που αριθμεί 5 απαντήσεις. Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει τον αριθμό της απάντησης (1-5) καθενός από τους 60.000 κατοίκους του Νομού και να εκτυπώνει τον αριθμό της απάντησης και το ποσοστό που έλαβε κάθε μια από τις απαντήσεις με φθίνουσα διάταξη ποσοστών.

Λιγότερο συνήθεις επεξεργασίες πινάκων – Συνένωση - Συγχώνευση - Διαχωρισμός 28. Να γραφεί αλγόριθμος που να συγχωνεύει 2 μη ταξινομημένους πίνακες Α[ν] και Β[κ] σε ένα τρίτο πίνακα Γ(ν+κ), επίσης μη

ταξινομημένο. 29. Γράψετε πρόγραμμα το οποίο να διαβάζει το πλήθος των μαθητών για κάθε ένα από δύο τμήματα (να

ελέγχεται ώστε το σύνολο να μην υπερβαίνει το 31) και στη συνέχεια τους βαθμούς τους και να τους αποθηκεύει σε σχετικούς πίνακες ΤμήμαΑ και ΤμήμαΒ. Να δημιουργεί από αυτούς έναν τρίτο πίνακα ο οποίος να περιέχει μόνο τους βαθμούς που είναι πάνω από 18 και να υπολογίζει το μέσο όρο τους.

30. Να γραφεί αλγόριθμος που να διαβάζει τα ονόματα, το φύλο και τις βαθμολογίες 100 μαθητών και να τα τοποθετεί σε αντίστοιχους πίνακες. Στη συνέχεια να τοποθετεί τα ονόματα και το φύλο των μαθητών που έχουν βαθμολογία πάνω από 9,4 σε ένα πίνακα Επιτυχόντες (πρώτα το όνομα και δίπλα το φύλο) και αυτούς που απορρίφθηκαν σε άλλο πίνακα Αποτυχόντες. Στο τέλος να εμφανίζει τους 10 πρώτους (αν υπάρχουν τόσοι) επιτυχόντες αρσενικού γένους με τη σειρά που έχουν καταχωρηθεί.

31. Να γραφεί πρόγραμμα που να διαβάζει τα ονόματα, το φύλο(Α ή Κ) και τις βαθμολογίες (κλίμακα 0..100) 1000 μαθητών και αφού ελέγξει την εγκυρότητα τους, να τα τοποθετεί σε αντίστοιχους πίνακες. Στη συνέχεια να «δημιουργεί» νέους αντίστοιχους πίνακες για τα αγόρια και τα κορίτσια ξεχωριστά. Τέλος να εμφανίζει τα ονόματα των κοριτσιών που έχουν βαθμό μεγαλύτερο από το Μέσο όρο των αγοριών.

32. Οι ακέραιοι βαθμοί (από 1 μέχρι 20) των 500 μαθητών ενός σχολείου είναι καταχωρημένοι στον πίνακα ΒΑΘΜΟΙ. Γράψετε αλγόριθμο που να υπολογίζει τη συχνότητα ύπαρξης κάθε βαθμού.

33. Δίνεται μονοδιάστατος πίνακας 1000 θέσεων, που περιέχει τιμές από το 1 έως το 6 (τα αποτελέσματα από το ρίξιμο ενός ζαριού). Να γραφεί αλγόριθμος ο οποίος να υπολογίζει τη συχνότητα εμφάνισης του κάθε αριθμού (από το 1 μέχρι το 6). (π.χ. Αν το 2 βρεθεί στον πίνακα 150 φορές, έχει συχνότητα εμφάνισης 15%, κοκ) και να τους εμφανίζει με φθίνουσα σειρά.

34. Να γραφεί αλγόριθμος που θα δέχεται ταξινομημένο πίνακα 200 ακεραίων αριθμών Α[200], και θα εμφανίζει τους διαφορετικούς αριθμούς που υπάρχουν σε αυτόν, και τη συχνότητα εμφάνισης του καθένα από αυτούς.

35. Να γραφεί αλγόριθμος που θα δέχεται 200 ακεραίους αριθμούς, και θα καταχωρεί σε πίνακες από μία φορά τον καθένα διαφορετικό αριθμό και πόσες φορές επαναλαμβάνεται.

36. Μία τράπεζα διατηρεί στοιχεία για τους 23.000 πελάτες της που έχουν συνολικά 120.000 λογαριασμούς (ένας πελάτης μπορεί να έχει πολλούς λογαριασμούς). Πιο συγκεκριμένα κρατάει σε σχετικούς πίνακες το Ονοματεπώνυμο (ΠΕΛ[23000]) και ένα μοναδικό κωδικό (ΚΩΔ[23000]) για τον καθένα από αυτούς καθώς και τους λογαριασμούς (ΛΟΓ[120000]) του κάθε πελάτη(ΚΩΔ_ΛΟΓ[120000]) και το ποσό κατάθεσης (ΠΟΣΟ[120000]) σε καθένα από αυτούς. Να γραφεί πρόγραμμα που να δέχεται με κατάλληλο υποπρόγραμμα τα δεδομένα αυτά (δε χρειάζεται να το φτιάξετε) και στη συνέχεια να δημιουργεί δύο νέους πίνακες Λ[23000] και

Page 78: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

77 / 90

Κ[23000] παράλληλους στον ΚΩΔ στους οποίους θα αποθηκευτούν πόσους λογαριασμούς έχει και το συνολικό ποσό κατάθεσης κάθε πελάτη. Τα αποτελέσματα να εμφανίζονται με φθίνουσα σειρά ως προς τις καταθέσεις.

37. Να αναπτύξετε αλγόριθμο ο οποίος με δεδομένο μονοδιάστατο πίνακα Ν αριθμών θα δημιουργεί νέο πίνακα όπου θα έχουν διαχωριστεί οι θετικοί και οι αρνητικοί αριθμοί του αρχικού πίνακα (τα μηδενικά στοιχεία να ακολουθήσουν τους θετικούς) χωρίς να αλλοιωθεί η αρχική διάταξη των ομοειδών αριθμών

38. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν ακέραιο αριθμό και να εκτυπώνει τον αντίστοιχο δυαδικό αριθμό 39. Η πρώτη μέρα του 2011 ήταν Σάββατο. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό που θα αντιστοιχεί

σε μέρα μηνός και έναν αριθμό που αντιστοιχεί σε μήνα (π.χ. 6 και 23 δηλαδή 23 Ιουνίου) και να εκτυπώνει τι μέρα είναι για το 2011. Να θεωρήσετε δεδομένο τον πίνακα Μήνες[12], όπου υπάρχουν των πλήθος των ημερών για κάθε μήνα [31, 28, 31, ...] καθώς και τον πίνακα Εβδομάδα[7], όπου περιέχονται τα ονόματα των ημερών της εβδομάδας ["Κυριακή", "Δευτέρα", "Τρίτη", ...]

40. Γράψτε πρόγραμμα που να βρίσκει την ημέρα της βδομάδας, που αντιστοιχεί σε μια συγκεκριμένη ημερομηνία, όταν δίνεται η ημέρα της βδομάδας που αντιστοιχεί στην πρώτη του έτους και το έτος στο οποίο αναφέρεται η ημερομηνία. Χρησιμοποιήσετε τα υποπρογράμματα που δημιουργήσατε στις δύο παραπάνω ασκήσεις.

41. Γράψτε πρόγραμμα που να διαβάζει δύο ημερομηνίες του ίδιου έτους και να υπολογίζει 1 την διαφορά ημερών που έχουν μεταξύ τους. 2 πόσα χρόνια, μήνες και μέρες έχουν διαφορά μεταξύ τους

42. Να αναπτύξετε αλγόριθμο που θα υπολογίζει και θα εμφανίζει το ποσό της φορολογίας που καλείται να πληρώσει ο φορολογούμενος με βάση το δηλωθέν ετήσιο εισόδημα. Ο πίνακας φορολογικής κλίμακας είναι ο εξής:

Εισόδημα € % Φόρος κλίμακας € 0- 10.000,00 0 0 10.000,01 - 30.000

10 2000

30.000,01 - 70.000 15 8000 70.000,01 – 100.000 30 17000 100.000,01 - 40 -

Αν για παράδειγμα κάποιος έχει εισόδημα 35000 € θα πληρώσει φόρο 2000 € για τα πρώτα 30000 € και για τα υπολειπόμενα 5000 (35000 – 30000) € θα πληρώσει φόρο 5000 * 15% = 750 € άρα συνολικά 2750 €. Ο αλγόριθμος θα διαβάζει το δηλωθέν ετήσιο εισόδημα και θα εκτυπώνει το ποσό του φόρου. Για να βοηθηθείτε δημιουργήσετε τους πίνακες Εισοδ[5,2] με τα όρια των εισοδημάτων, τον πίνακα Ποσ[5] με τα ποσοστά και τον πίνακα Φορ[5], τους οποίους θα χρησιμοποιήσετε για τον υπολογισμό του φόρου. ΑΣΚΉΣΕΙΣ ΠΑΝΕΛΛΗΝΙΩΝ ΜΕ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

43. Εσπ 2003 1 Για κάθε μαθητή δίνονται τα στοιχεία: ονοματεπώνυμο, προφορικός και γραπτός βαθμός ενός μαθήματος. Να γραφεί αλγόριθμος, ο οποίος εκτελεί τις ακόλουθες λειτουργίες: α. Διαβάζει τα στοιχεία πολλών μαθητών και σταματά όταν δοθεί ως ονοματεπώνυμο το κενό (Μ5) β. Ελέγχει αν ο προφορικός και ο γραπτός βαθμός είναι από 0 μέχρι και 20. (Μ 5) γ. Υπολογίζει τον τελικό βαθμό του μαθήματος, ο οποίος είναι το άθροισμα του 30% του προφορικού βαθμού και

του 70% του γραπτού βαθμού. Επίσης, τυπώνει το ονοματεπώνυμο του μαθητή και τον τελικό βαθμό του μαθήματος. (Μ 5)

δ. Υπολογίζει και τυπώνει το ποσοστό των μαθητών που έχουν βαθμό μεγαλύτερο του 18. (Μ 5) ε. Υπολογίζει και τυπώνει το ποσοστό των μαθητών που έχουν βαθμό μεγαλύτερο του Μέσου όρου

44. Παν 2004 2 Σε κάποια χώρα της Ευρωπαϊκής Ένωσης διεξάγονται εκλογές για την ανάδειξη των μελών του Ευρωπαϊκού Κοινοβουλίου. Θεωρήστε ότι μετέχουν 15 συνδυασμοί κομμάτων, οι οποίοι θα μοιραστούν 24 έδρες σύμφωνα με το ποσοστό των έγκυρων ψηφοδελτίων που έλαβαν. Κόμματα που δεν συγκεντρώνουν ποσοστό έγκυρων ψηφοδελτίων τουλάχιστον ίσο με το 3% του συνόλου των έγκυρων ψηφοδελτίων δεν δικαιούνται έδρα. Για κάθε κόμμα, εκτός του πρώτου κόμματος, ο αριθμός των εδρών που θα λάβει υπολογίζεται ως εξής: Το ποσοστό των έγκυρων ψηφοδελτίων πολλαπλασιάζεται επί 24 και στη συνέχεια το γινόμενο διαιρείται με το άθροισμα των ποσοστών όλων των κομμάτων που δικαιούνται έδρα. Το ακέραιο μέρος του αριθμού που προκύπτει είναι ο αριθμός των εδρών που θα λάβει το κόμμα. Το πρώτο κόμμα λαμβάνει τις υπόλοιπες έδρες. Να γράψετε αλγόριθμο ο οποίος: α. να διαβάζει και να αποθηκεύει σε μονοδιάστατους πίνακες τα ονόματα των κομμάτων και τα αντίστοιχα ποσοστά

των έγκυρων ψηφοδελτίων τους. Μ4 β. να εκτυπώνει τα ονόματα και το αντίστοιχο ποσοστό έγκυρων ψηφοδελτίων των κομμάτων που δεν έλαβαν έδρα.

Μ4 γ. να εκτυπώνει το όνομα του κόμματος με το μεγαλύτερο ποσοστό έγκυρων ψηφοδελτίων. Μ4

Page 79: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

78 / 90

δ. να υπολογίζει και να εκτυπώνει το άθροισμα των ποσοστών όλων των κομμάτων που δικαιούνται έδρα. Μ4 ε. να εκτυπώνει τα ονόματα των κομμάτων που έλαβαν έδρα και τον αντίστοιχο αριθμό των εδρών τους. Μ4 Παρατηρήσεις: α) Υποθέτουμε ότι δεν υπάρχουν δύο κόμματα που να έχουν το ίδιο ποσοστό έγκυρων ψηφοδελτίων. β) Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Α_Μ(x) που επιστρέφει το ακέραιο μέρος του πραγματικού

αριθμού x. γ) Τα ποσοστά να θεωρηθούν επί τοις εκατό (%).

45. Εσπ 2004 1 Σε έναν αγώνα δισκοβολίας συμμετέχουν 20 αθλητές. Κάθε αθλητής έκανε μόνο μία έγκυρη ρίψη που καταχωρείται ως επίδοση του αθλητή και εκφράζεται σε μέτρα. Να αναπτύξετε αλγόριθμο που α. να διαβάζει για κάθε αθλητή το όνομα και την επίδοσή του, Μ 5 β. να ταξινομεί τους αθλητές ως προς την επίδοσή τους, Μ 5 γ. να εμφανίζει τα ονόματα και τις επιδόσεις των τριών πρώτων αθλητών, αρχίζοντας από εκείνον με την καλύτερη

επίδοση, Μ 5 δ. να εμφανίζει τα ονόματα και τις επιδόσεις των πέντε τελευταίων αθλητών, αρχίζοντας από εκείνον με την

καλύτερη επίδοση. Μ 5 Σημείωση: Να θεωρήσετε ότι δεν υπάρχουν αθλητές με την ίδια ακριβώς επίδοση.

46. Εσπ 2004 2 Σ’ ένα διαγωνισμό συμμετέχουν 5000 διαγωνιζόμενοι και εξετάζονται σε δύο μαθήματα. Να γράψετε αλγόριθμο που: Α1 Να διαβάζει και να καταχωρίζει σε κατάλληλους πίνακες για κάθε διαγωνιζόμενο τον αριθμό μητρώου, το

ονοματεπώνυμο και τους βαθμούς που πήρε στα δύο μαθήματα. Οι αριθμοί μητρώου θεωρούνται μοναδικοί. Η βαθμολογική κλίμακα είναι από 0 έως και 100.

Α2 Να εμφανίζει κατάσταση επιτυχόντων με την εξής μορφή: Α.Μητρώου Ονοματεπώνυμο Μ.Όρος Επιτυχών θεωρείται ότι είναι αυτός που έχει μέσο όρο βαθμολογίας μεγαλύτερο ή ίσο του 60. Β. Να διαβάζει έναν αριθμό μητρώου και α. σε περίπτωση που ο αριθμός μητρώου είναι καταχωρισμένος στον πίνακα, να εμφανίζεται ο αριθμός μητρώου, το

ονοματεπώνυμο, ο μέσος όρος βαθμολογίας και η ένδειξη «ΕΠΙΤΥΧΩΝ» ή «ΑΠΟΤΥΧΩΝ», ανάλογα με τον μέσο όρο.

β. σε περίπτωση που ο αριθμός μητρώου δεν είναι καταχωρισμένος στον πίνακα, να εμφανίζεται το μήνυμα «Ο αριθμός μητρώου δεν αντιστοιχεί σε διαγωνιζόμενο».

Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας καταχώρισης δεδομένων. 47. Ημ1 2005 Δίνεται πίνακας Α[Ν] ακέραιων και θετικών αριθμών, καθώς και πίνακας Β[Ν-1] πραγματικών και θετικών αριθμών. Να γραφεί αλγόριθμος, ο οποίος να ελέγχει αν κάθε στοιχείο Β[i] είναι ο μέσος όρος των στοιχείων Α[i] και Α[i+1], δηλαδή αν Β[i] = (Α[i] + Α[i+1])/2. Σε περίπτωση που ισχύει, τότε να εμφανίζεται το μήνυμα «Ο πίνακας Β είναι ο τρέχων μέσος του Α», διαφορετικά να εμφανίζεται το μήνυμα «Ο πίνακας Β δεν είναι ο τρέχων μέσος του Α». Για παράδειγμα: Έστω ότι τα στοιχεία του πίνακα Α είναι: 1, 3, 5, 10, 15 και ότι τα στοιχεία του πίνακα Β είναι: 2, 4, 7.5, 12.5. Τότε ο αλγόριθμος θα εμφανίσει το μήνυμα «Ο πίνακας Β είναι ο τρέχων μέσος του Α», διότι 2 = (1+3)/2, 4=(3+5)/2, 7.5= (5+10)/2, 12.5=(10+15)/2. 48. Εσπ1 2005 Για την εύρεση πόρων προκειμένου οι μαθητές της ∆΄ τάξης Εσπερινού Λυκείου να συμμετάσχουν σε εκδρομή οργανώνεται λαχειοφόρος αγορά. Οι μαθητές του Λυκείου διαθέτουν λαχνούς στα σχολεία της περιοχής τους. Διακόσιοι μαθητές από δεκαπέντε διαφορετικά σχολεία αγόρασαν ο καθένας από έναν μόνο λαχνό. Μετά από κλήρωση ένας μαθητής κερδίζει τον πρώτο λαχνό. Να γίνει τμήμα αλγορίθμου που α) για κάθε μαθητή που αγόρασε λαχνό να εισάγει σε μονοδιάστατο πίνακα Α 200 θέσεων το επώνυμό του και στην

αντίστοιχη θέση πίνακα Β 200 θέσεων το όνομα του σχολείου του (Μ2) β) να εισάγει σε μονοδιάστατο πίνακα Σ 15 θέσεων τα ονόματα όλων των σχολείων της περιοχής και στις αντίστοιχες

θέσεις μονοδιάστατου πίνακα M 15 θέσεων τις ηλεκτρονικές διευθύνσεις των σχολείων, (Μ2) γ) να διαβάζει το επώνυμο του μαθητή, που κέρδισε τον πρώτο λαχνό, (Μ1) δ) χρησιμοποιώντας τον αλγόριθμο της σειριακής αναζήτησης να προσδιορίζει τη θέση του επωνύμου του τυχερού

μαθητή στον πίνακα Α. Στη συνέχεια στον πίνακα Β να βρίσκει το όνομα του σχολείου που φοιτά (Μ6) ε) λαμβάνοντας υπόψη το όνομα του σχολείου που φοιτά ο τυχερός μαθητής και χρησιμοποιώντας τον αλγόριθμο της

σειριακής αναζήτησης να προσδιορίζει την θέση του σχολείου στον πίνακα Σ. Στη συνέχεια στον πίνακα M να βρίσκει τη διεύθυνση του ηλεκτρονικού ταχυδρομείου του σχολείου αυτού, (Μ6)

Page 80: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

79 / 90

στ) να εμφανίζει το επώνυμο του τυχερού μαθητή, το όνομα του σχολείου του και τη διεύθυνση του ηλεκτρονικού ταχυδρομείου του σχολείου του. (Μ3)

Να θεωρήσετε ότι δεν υπάρχουν μαθητές με το ίδιο επώνυμο και ότι κάθε μαθητής αγόρασε έναν μόνο λαχνό. 49. Εσπ2 2005 Να αναπτύξετε έναν αλγόριθμο, ώστε α) να διαβάζει το πλήθος των ασθενών ενός νοσοκομείου, το οποίο δεν μπορεί να δεχτεί περισσότερους από 500

ασθενείς. (Μ 2) β) για κάθε ασθενή να διαβάζει τις ημέρες νοσηλείας του, τον κωδικό του ασφαλιστικού του ταμείου και τη θέση

νοσηλείας. Να ελέγχει την ορθότητα εισαγωγής των δεδομένων σύμφωνα με τα παρακάτω: (Μ 6) • οι ημέρες νοσηλείας είναι ακέραιος αριθμός μεγαλύτερος ή ίσος του 1, • τα ασφαλιστικά ταμεία είναι 10 με κωδικούς από 1 μέχρι και 10, • οι θέσεις νοσηλείας είναι Α ή Β ή Γ,

γ) να υπολογίζει και να εμφανίζει το μέσο όρο ημερών νοσηλείας των ασθενών στο νοσοκομείο(Μ 2) δ) να υπολογίζει και να εμφανίζει για κάθε ασθενή το κόστος παραμονής που πρέπει να καταβάλει στο νοσοκομείο το

ασφαλιστικό του ταμείο σύμφωνα με τις ημέρες και τη θέση νοσηλείας. Το κόστος παραμονής στο νοσοκομείο ανά ημέρα και θέση νοσηλείας για κάθε ασθενή φαίνεται στον ακόλουθο πίνακα: (Μ 4)

Θέση Νοσηλείας Κόστος παραμονής ανά ημέρα νοσηλείας για κάθε ασθενή Α 125 € Β 90 € Γ 60 €

ε) να υπολογίζει και να εμφανίζει με τη χρήση πίνακα το συνολικό κόστος που θα καταβάλει το κάθε ασφαλιστικό ταμείο στο νοσοκομείο. (Μ 4)

στ)να υπολογίζει και να εμφανίζει το συνολικό ποσό που οφείλουν όλα τα ασφαλιστικά ταμεία στο νοσοκομείο. (Μ2) 50. Εσπ2006-2 Εσπ2006-2 Σε ένα Εσπερινό Γυμνάσιο φοιτούν 80 μαθητές. Να γραφεί αλγόριθμος ο οποίος: α) ∆ιαβάζει για κάθε μαθητή το ονοματεπώνυμό του, την τάξη του και τον τελικό βαθμό του και τα καταχωρεί σε

μονοδιάστατους πίνακες, ελέγχοντας την ορθότητα εισαγωγής των δεδομένων σύμφωνα με τα παρακάτω: - Οι τάξεις είναι Α ή Β ή Γ. - Ο τελικός βαθμός είναι από 1 μέχρι και 20. Μ 5 β) Εμφανίζει τα ονόματα των μαθητών της Β τάξης που έχουν τελικό βαθμό μεγαλύτερο ή ίσο του 18,5.Μ 2 γ) Υπολογίζει και εμφανίζει το πλήθος των μαθητών κάθε τάξης. Μ 3 δ) Υπολογίζει και εμφανίζει το μέσο όρο των τελικών βαθμών των μαθητών της Γ τάξης. Μ 3 ε) Εμφανίζει ταξινομημένα κατά αλφαβητική σειρά τα ονοματεπώνυμα και τους αντίστοιχους τελικούς βαθμούς των

μαθητών της Α τάξης. Μ 7 51. (Εσπ2007-1). Σε ένα πανεπιστημιακό τμήμα εισήχθησαν κατόπιν γενικών εξετάσεων 235 φοιτητές προερχόμενοι από την ΤΕΧΝΟΛΟΓΙΚΗ ή τη ΘΕΤΙΚΗ κατεύθυνση. Να αναπτύξετε αλγόριθμο, ο οποίος: α. Για καθένα από τους 235 φοιτητές διαβάζει: • το ονοματεπώνυμό του, • τα μόρια εισαγωγής του, • την κατεύθυνσή του, η οποία μπορεί να είναι «ΤΕΧΝΟΛΟΓΙΚΗ» ή «ΘΕΤΙΚΗ», ελέγχοντας την εγκυρότητα εισαγωγής της και καταχωρίζει τα δεδομένα αυτά σε τρεις πίνακες. Μονάδες 4 β. Υπολογίζει και εμφανίζει: 1. το μέσο όρο των μορίων εισαγωγής των φοιτητώνπου προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗκατεύθυνση. Μονάδες5 2. το ποσοστό των φοιτητών, που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση. Μονάδες 2 3. την κατεύθυνση, από την οποία προέρχεται ο φοιτητής με τα περισσότερα μόρια εισαγωγής (να θεωρήσετε ότι δεν υπάρχει περίπτωση ισοβαθμίας). Μονάδες 5 4. τα ονοματεπώνυμα των φοιτητών που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση, για τους οποίους τα μόρια εισαγωγής τους είναι περισσότερα από το μέσο όρο των μορίων εισαγωγής των φοιτητών που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση. Μονάδες 4 18. Εσπ2008-1 Για την ανάδειξη του επταμελούς (7) Διοικητικού Συμβουλίου ενός Πολιτιστικού Συλλόγου υπάρχουν 20 υποψήφιοι. Να γράψετε αλγόριθμο ο οποίος α. διαβάζει τα ονόματα των υποψηφίων και τα αποθηκεύει σε πίνακα. Μονάδες 4 β. διαβάζει για κάθε υποψήφιο τον αριθμό των ψήφων που έλαβε και τον αποθηκεύει σε πίνακα. Μονάδες 4 γ. εμφανίζει τα ονόματα των εκλεγέντων μελών του Διοικητικού Συμβουλίου κατά φθίνουσα σειρά ψήφων (να θεωρηθεί ότι δεν υπάρχουν περιπτώσεις ισοψηφίας). Μονάδες 6

Page 81: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

80 / 90

δ. διαβάζει το όνομα ενός υποψηφίου και ελέγχει αν ο συγκεκριμένος εκλέγεται ή όχι, εμφανίζοντας κατάλληλο μήνυμα. Μονάδες 6 52. Ημ2008-2 Στο άθλημα των 110 μέτρων μετ’ εμποδίων, στους δύο ημιτελικούς αγώνες συμμετέχουν δέκα έξι (16) αθλητές (8 σε κάθε ημιτελικό). Σύμφωνα με τον κανονισμό στον τελικό προκρίνεται ο πρώτος αθλητής κάθε ημιτελικού. Η οκτάδα του τελικού συμπληρώνεται με τους αθλητές που έχουν τους έξι (6) καλύτερους χρόνους απ’ όλους τους υπόλοιπους συμμετέχοντες. Να θεωρήσετε ότι δεν υπάρχουν αθλητές με ίδιους χρόνους. 1. Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο α. περιλαμβάνει το τμήμα δηλώσεων. Μονάδες 2 β. καλεί τη διαδικασία ΕΙΣΟΔΟΣ για κάθε ημιτελικό ξεχωριστά. Η διαδικασία διαβάζει το όνομα του αθλητή και τoν χρόνο του (με ακρίβεια δεκάτου του δευτερολέπτου). Μονάδες 2 γ. καλεί τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ για κάθε ημιτελικό ξεχωριστά. Η διαδικασία ταξινομεί τους αθλητές ως προς τον χρόνο τους με αύξουσα σειρά. Μονάδες 2 δ. δημιουργεί τον πίνακα ΟΝ με τα ονόματα και τον πίνακα ΧΡ με τους αντίστοιχους χρόνους των αθλητών που προκρίθηκαν στον τελικό. Μονάδες 6 ε. εμφανίζει τα ονόματα και τους χρόνους των αθλητών που θα λάβουν μέρος στον τελικό. Μονάδες 2 2. Να γράψετε α. τη διαδικασία ΕΙΣΟΔΟΣ. Μονάδες 2 β. τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ. Μονάδες 4

Page 82: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

81 / 90

Δισδιάστατοι πίνακες 1. Δίνεται δισδιάστατος πίνακας ακεραίων Α[100,200] και Ν, Μ ο αριθμός των (ενεργών) γραμμών και στηλών

αντίστοιχα. Να δοθούν τα κατάλληλα υποπρογράμματα για τις παρακάτω ενέργειες: .1 Να γίνεται εισαγωγή των στοιχείων του πίνακα κατά γραμμή/ κατά στήλη .2 Να εμφανίζονται τα στοιχεία του πίνακα κατά στήλη .3 Να δέχεται τον αριθμό ι μιας γραμμής και να εμφανίζει τον μέσο όρο της. .4 Να υπολογίζει το άθροισμα των στοιχείων της 3ης γραμμής και το μέγιστο στοιχείο της 4ης στήλης .5 Να υπολογίζει το άθροισμα των στοιχείων κάθε γραμμής και να τα καταχωρεί σε πίνακα. .6 Να υπολογίζει με μία προσπέλαση του πίνακα, το άθροισμα της κάθε γραμμής, το άθροισμα της κάθε στήλης

και το συνολικό άθροισμα (τα 2 πρώτα σε πίνακες) .7 Να υπολογίζει με μία προσπέλαση του πίνακα τον Μ.Ο. και το μικρότερο των στοιχείων κάθε γραμμής και να

τα εμφανίζει με τη μορφή: Γραμμή 1, άθροισμα 240, Min: 12, κλπ.. .8 Να εμφανίζει την/τις γραμμές με τους λιγότερους άρτιους αριθμούς. .9 Να υπολογίζει την/τις θέσεις που υπάρχει το μέγιστο της κάθε γραμμής του πίνακα Α και να καταχωρούνται

στον πίνακα maxΓ. .10 Να υπολογίζει το μέγιστο στοιχείο της 5ης γραμμής, την θέση του ελάχιστο στοιχείο της 10ης στήλης και το

πλήθος των αρνητικών στοιχείων που ανήκουν στο πάνω μισό του πίνακα. .11 Να υπολογίζει το εύρος τιμών του πίνακα. .12 Να υπολογίζει και να εμφανίζει το ελάχιστο στοιχείο από τα αθροίσματα κάθε γραμμής .13 Να υπολογίζονται τα μέγιστα στοιχεία κάθε γραμμής και στη συνέχεια το ελάχιστο αυτών .14 Να υπολογίζει πόσα στοιχεία κάθε γραμμής είναι μικρότερα από το μέσο όρο του πίνακα. .15 Να ελέγχει για κάθε στήλη αν έχει κάποια αρνητική τιμή. .16 Να διαβάζει ένα ακέραιο και να ελέγχει αν υπάρχει μέσα στον πίνακα Α. Αν υπάρχει να εμφανίζει τη θέση του

(γραμμή, στήλη) .17 Να υπολογίζει για κάθε στήλη, πόσα στοιχεία της είναι ίσα με την Μέση τιμή της. .18 Να ελέγχει αν κάθε του στήλη είναι ταξινομημένη σε φθίνουσα σειρά. .19 Να ταξινομεί τα στοιχεία κάθε γραμμής κατά αύξουσα σειρά. .20 Να εμφανίζει τα στοιχεία κάθε γραμμής καθώς και την στήλη που αντιστοιχεί το καθένα από αυτά,

ταξινομημένα κατά φθίνουσα σειρά. .21 Να ταξινομεί τα στοιχεία του πίνακα σύμφωνα με τα στοιχεία της κ γραμμής (το κ δίνεται και είναι θετικός

ακέραιος από 1 μέχρι Ν), κατά αύξουσα σειρά. 2. Να γραφεί αλγόριθμος ο οποίος να εξετάζει έναν δεδομένο πίνακα Α Ν×Μ και να βρίσκει αν είναι αραιός ή όχι,

εμφανίζοντας σχετικό μήνυμα. Ένας πίνακας είναι αραιός αν περιέχει μηδενικά σε ποσοστό μεγαλύτερο του 80%. 3. Μια ομάδα μπάσκετ που αποτελείται από 10 παίκτες έχει δώσει 15 αγώνες. Να γραφεί αλγόριθμος ο οποίος:

.1 Διαβάζει τους πόντους που σημείωσε κάθε παίκτης σε κάθε αγώνα

.2 Εμφανίζει τους πόντους που πέτυχε συνολικά ο κάθε παίκτης

.3 Εμφανίζει το μέσο όρο του κάθε παίκτη.

.4 Εμφανίζει τους πόντους που πέτυχε ο 3ος παίκτης την 6η αγωνιστική.

.5 Εμφανίζει το σύνολο των πόντων του 5ου παίκτη για τις 5 πρώτες αγωνιστικές.

.6 Εμφανίζει τους πόντους της ομάδας σε κάθε αγωνιστική.

.7 Εμφανίζει τους συνολικούς πόντους που πέτυχε η ομάδα. 4. Μια ομάδα μπάσκετ που αποτελείται από 10 παίκτες έχει δώσει 30 αγώνες. Να γραφεί αλγόριθμος ο οποίος:

.1 Διαβάζει τους πόντους που σημείωσε κάθε παίκτης σε κάθε αγώνα.

.2 Εμφανίζει τον παίκτη που πέτυχε τους περισσότερους πόντους (θεωρήσετε ότι είναι ένας μόνο)

.3 Εμφανίζει σε ποιόν αγώνα/αγώνες η ομάδα πέτυχε τους λιγότερους πόντους 5. Ο κινηματογράφος VillageCenter στο Μαρούσι έχει 9 αίθουσες. Να γραφτεί πρόγραμμα που να:

.1 διαβάζει το πλήθος των θεατών σε κάθε αίθουσα για μία εβδομάδα (Δευτ– Κυρ)

.2 τυπώνει την αίθουσα που είχε τους περισσότερους θεατές την Τρίτη.

.3 βρίσκει για κάθε αίθουσα το μέγιστο πλήθος θεατών της για την εβδομάδα αυτή.

.4 βρίσκει σε ποια αίθουσα και πια μέρα υπήρξε η μέγιστη προσέλευση θεατών. 6. Να γραφτεί πρόγραμμα που ν διαβάζει τα ονόματα 10 Σούπερ Μάρκετ καθώς και τις καθημερινές εισπράξεις τους

κατά τη διάρκεια των τελευταίων 10 ημερών. Στη συνέχεια να υπολογίζει και να εμφανίζει: .1 Το όνομα και το άθροισμα των εισπράξεων για κάθε Σούπερ Μάρκετ. .2 Πόσες μέρες κάθε Σούπερ Μάρκετ είχε μεγαλύτερες εισπράξεις από το μέσο όρο του. .3 Το Σούπερ Μάρκετ με την μεγαλύτερη είσπραξη την τέταρτη μέρα .4 Το Σούπερ Μάρκετ με την μεγαλύτερη είσπραξη συνολικά .5 Το άθροισμα των εισπράξεων από όλα τα Σούπερ Μάρκετ για κάθε μια από τις τελευταίες 4 μέρες.

7. Σ’ ένα σχολείο η Τεχνολογική κατεύθυνση έχει 50 μαθητές και κάθε μαθητής εξετάζεται πανελληνίως σε έξι ή επτά

Page 83: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

82 / 90

(αν έχει δηλώσει ΑΟΘ) μαθήματα. Να γραφεί πρόγραμμα που: .1 Να διαβάζει το όνομα του μαθητή, αν δίνει πανελλήνια την ΑΟΘ και τους βαθμούς στα πανελλήνια

εξεταζόμενα μαθήματα. Η απάντηση για την ΑΟΘ πρέπει να ελέγχεται ώστε να είναι Ναι/Όχι ενώ οι βαθμοί πρέπει να ανήκουν στο διάστημα 0..20.

.2 Να υπολογίζει τον μέσο όρο των πανελληνίως εξεταζομένων μαθημάτων του κάθε μαθητή

.3 Να εμφανίζει τον μαθητή με τον μεγαλύτερο μέσο όρο

.4 Να εμφανίζει ποιοι μαθητές έχουν μέσο όρο μικρότερο από τον μέσο όρο της τάξης 8. Σ’ ένα σχολείο η Τεχνολογική κατεύθυνση έχει 100 μαθητές και κάθε μαθητής βαθμολογείται σε 14 μαθήματα. Να

γραφεί πρόγραμμα που: .1 Να διαβάζει τα ονόματα των 14 μαθημάτων, στη συνέχεια το όνομα του μαθητή και για κάθε μαθητή τον

γραπτό (στην κλίμακα 0..100), τον προφορικό του Α τετραμήνου και τον προφορικό του Β τετραμήνου (κλίμακα 0..20) σε κάθε ένα μάθημα αντίστοιχα.

.2 Να υπολογίζει τον μέσο όρο κάθε μαθήματος ((Γ+Π)/2) και να τον εμφανίζει μαζί με το όνομα του αντίστοιχου μαθητή (προσοχή στο τρόπο υπολογισμού και τις μετατροπές σε κοινή κλίμακα)

.3 Να εμφανίζει το μάθημα με τον χαμηλότερο μέσο όρο

.4 Να εμφανίζει πόσοι μαθητές έχουν ΜΟ στο μάθημα αυτό, μεγαλύτερο του μέσου όρου του.

.5 Να εμφανίζει τους μαθητές που είχαν καλύτερο γραπτό από προφορικό βαθμό στο 1ο μάθημα. 9. Ο Ελληνικός Οργανισμός Τουρισμού αποφάσισε να διεξαγάγει μια έρευνα για τα ελληνικά ξενοδοχεία. Στην έρευνα

συμμετέχουν τα 10000 ξενοδοχεία της επικράτειας και για αυτά καταγράφονται οι μηνιαίες εισπράξεις για το 2004. Να γραφεί πρόγραμμα όπου: .1 Θα διαβάζει τα απαραίτητα στοιχεία .2 Θα υπολογίζει τις ετήσιες εισπράξεις κάθε ξενοδοχείου και τις εκχωρεί σε νέο πίνακα .3 Θα εκτυπώνει το όνομα του ξενοδοχείου με τις περισσότερες εισπράξεις .4 Θα υπολογίζει και να εκτυπώνει το όνομα κάθε ξενοδοχείου συνοδευόμενο από το πλήθος των μηνών που αυτό

λειτούργησε (δηλαδή είχε έσοδα) την περασμένη χρονιά 19. Η Ε.Μ.Υ. μελετάει τις θερμοκρασίες σε διάφορες πόλεις της Ελλάδας. Καταχωρούνται λοιπόν τα ονόματα των 100

πόλεων που συμμετέχουν στην έρευνα (1ο το Ρέθυμνο) καθώς και οι θερμοκρασίες των πόλεων αυτών για τον μήνα που πέρασε του έτους αυτού και τον αντίστοιχό για τα 4 προηγούμενα έτη. Να γίνει Πρόγραμμα όπου: .1 Θα διαβάζει τα απαραίτητα στοιχεία. .2 Θα εμφανίζει για τον μήνα που πέρασε του φετινού έτους: ...1 το όνομα/τα ονόματα της κατά μέσο όρο θερμότερης πόλης του μήνα ...2 για κάθε πόλη το εύρος θερμοκρασιών για το μήνα που πέρασε. ...3 την/τις μέρες με την μεγαλύτερη μεταβολή θερμοκρασίας (από την προηγούμενη) ...4 για κάθε πόλη τις μέρες του μήνα όπου υπάρχει θερμοκρασία μεγαλύτερη από την προηγούμενη και την

επόμενη μέρα .3 Συγκριτικά για τα έτη που πέρασαν και το φετινό ...1 Την υψηλότερη θερμοκρασία που παρουσιάστηκε στο Ρέθυμνο την 3η μέρα του μήνα. ...2 Πόσες μέρες παρουσιάστηκαν υψηλότερες θερμοκρασίες στο Ρέθυμνο φέτος σε σχέση με πέρυσι. ...3 Ποιο χρόνο είχαμε τον πιο ζεστό μήνα (κατά μέση τιμή) Παρατήρηση: Σε περίπτωση που δε χρησιμοποιήσετε τρισδιάστατο πίνακα, διευκολύνεστε αν χρησιμοποιήσετε υποπρογράμματα για τις ενέργειες του 3 ερωτήματος.

20. Να αναπτυχθεί πρόγραμμα που επεξεργάζεται τα στοιχεία των αγώνων ποδοσφαίρου. Θα καταχωρεί σε δισδιάστατο πίνακα τα γκολ που πέτυχε κάθε μια από τις 16 ομάδες του πρωταθλήματος σε κάθε μία από τις 30 αγωνιστικές του πρωταθλήματος και θα εκτυπώνει: .1 Ποια ομάδα και σε ποια αγωνιστική πέτυχε τα περισσότερα γκολ; .2 Ποια ομάδα έχει την καλύτερη επίθεση του πρωταθλήματος .3 Ποια ομάδα έχει την χειρότερη επίθεση του πρωταθλήματος .4 Σε πόσους αγώνες κάθε ομάδα πέτυχε περισσότερα γκολ από το μέσο όρο της;

21. Κεντρικό δισκοπωλείο με 30 υποκαταστήματα καταγράφει τα CD που διαθέτει. Να αναπτυχθεί πρόγραμμα όπου: .1 Θα διαβάζει τα ονόματα των 30 δισκοπωλείων σε μονοδιάστατο πίνακα με όνομα ΥΠΟΚΑΤΑΣΤΗΜΑ, τους

διαφορετικούς τίτλους (10000 στο πλήθος) στον μονοδιάστατο πίνακα ΤΙΤΛΟΣ_CD και το πλήθος των τίτλων που κάθε κατάστημα κατέχει σε δισδιάστατο πίνακα με όνομα ΑΡΙΘΜΟΣ_CD

.2 Να διαβάζει τον τίτλο ενός CD και να εκτυπώνει σε ποια καταστήματα είναι διαθέσιμος

.3 Να διαβάζει το όνομα ενός καταστήματος και να εκτυπώνει το πλήθος των τίτλων που διαθέτει 22. Η Κοινοπραξία που διαχειρίζεται τα διόδια της Γέφυρας Ρίου–Αντίρριου επιθυμεί να επεξεργαστεί στατιστικά τα

στοιχεία των συναλλαγών των ταμείων της. Καταχωρεί λοιπόν τα στοιχεία των 12 ταμείων της σε μονοδιάστατο πίνακα με όνομα ΤΑΜΕΙΑ και τις ημερήσιες εισπράξεις σε δισδιάστατο πίνακα ΕΙΣΠΡΑΞΕΙΣ[12,360] (θεωρούμε

Page 84: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

83 / 90

ότι κάθε μήνας έχει 30 μέρες και το έτος 360). Να αναπτυχθεί πρόγραμμα που θα διαβάζει τα παραπάνω στοιχεία, θα υπολογίζει και θα εκτυπώνει: .1 Το ταμείο με τις περισσότερες εισπράξεις τη χρονιά που πέρασε .2 Το ταμείο με τις λιγότερες εισπράξεις το 2 τρίμηνο της χρονιάς που πέρασε .3 Τα ταμεία που ξεπέρασαν το συνολικό μέσο όρο εισπράξεων

23. Κατά τη διάρκεια μιας μελέτης για τις ελληνικές τουριστικές επιχειρήσεις κατέγραφαν, για 3 συγκεκριμένες κατηγορίες, δειγματοληπτικά οι εισπράξεις (σε ευρώ) που πραγματοποιήθηκαν από 1000 ξενοδοχεία, σε διαφορετικές περιοχές της χώρας, για κάθε ένα μήνα του έτους 2009. Να αναπτύξετε πρόγραμμα σε «ΓΛΩΣΣΑ» το οποίο: α) καταχωρεί στον δισδιάστατο πίνακα ΕΠ_ΚΑΤ την επωνυμία και την κατηγορία κάθε ξενοδοχείου ως εξής: ι) Στην πρώτη στήλη του πίνακα καταχωρείται η επωνυμία. Ο πρώτος χαρακτήρας κάθε επωνυμίας δεν πρέπει να ξεκινά από γράμμα μικρότερο από ‘Ε’ αλλά ούτε και από γράμμα μεγαλύτερο από ‘Ζ’. ιι) Στη δεύτερη στήλη του πίνακα καταχωρείται η κατηγορία (μπορεί να είναι ‘Β’, ‘Γ’, ή ‘Δ’). β) καταχωρεί στον πίνακα δύο διαστάσεων ΕΙΣ την μηνιαία είσπραξη που πραγματοποίησε κάθε ξενοδοχείο. Κάθε είσπραξη δεν πρέπει να υπολείπεται των 15.000 ευρώ. γ) υπολογίζει και καταχωρεί στο μονοδιάστατο πίνακα ΜΕ το μέσο όρο ετήσιας είσπραξης κάθε ξενοδοχείου. δ) βρίσκει και τυπώνει το πλήθος των ξενοδοχείων της κατηγορίας ‘Β’ τα οποία είχαν μέση ετήσια είσπραξη άνω των 80.000ευρώ. ε) σε περίπτωση που τα ξενοδοχεία που βρέθηκαν στο προηγούμενο ερώτημα είναι τουλάχιστον δέκα (10), αναζητά και τυπώνει την επωνυμία και την αντίστοιχη μέση ετήσια είσπραξη των ξενοδοχείων αυτών. Η αναζήτηση πρέπει να σταματά μόλις ολοκληρωθεί η τύπωση των ανωτέρω στοιχείων και του τελευταίου ξενοδοχείου του προηγούμενου ερωτήματος. (ΓΣ)

24. Μια εταιρεία διανομής κινηματογραφικών ταινιών έχει καταγράψει στους παρακάτω πίνακες τα στοιχεία για τη διακίνηση των ταινιών της παγκόσμια, για τη χρονιά που πέρασε: πίνακας ΤΑΙΝΙΑ[200] που περιέχει τους τίτλους των ταινιών, πίνακας ΧΩΡΑ[120] που περιέχει τα ονόματα των 120 χωρών στις οποίες η εταιρεία δραστηριοποιείται και πίνακας ΕΙΣΠΡΑΞΕΙΣ[200, 120] που περιέχει τις εισπράξεις από τη προβολή κάθε ταινίας σε κάθε χώρα (αν κάποια ταινία δε προβλήθηκε σε κάποια χώρα υπάρχει η τιμή 0). Ν’ αναπτύξετε αλγόριθμο που: α) να διαβάζει τους παραπάνω πίνακες β) να διαβάζει και να εκτυπώνει τους τίτλους των ταινιών που έχουν τουλάχιστον σε 3 χώρες εισπράξεις μεγαλύτερες από 100.000€. Ο τίτλος κάθε ταινίας εκτυπώνεται μία φορά γ) να εκτυπώνει το όνομα κάθε χώρας, τους τίτλους των ταινιών που προβλήθηκαν σε αυτήν, με διάταξη από την ταινία με τις περισσότερες εισπράξεις προς αυτήν με τις λιγότερες και οι αντίστοιχες εισπράξεις. Οι τίτλοι των ταινιών που δεν προβλήθηκαν σε μια χώρα να μην εκτυπώνονται. Οι ταινίες που είχαν τις ίδιες εισπράξεις σε μια χώρα εμφανίζονται ταξινομημένες αλφαβητικά. Παρατήρηση: Θεωρείστε τις τιμές των εισπράξεων ακέραιους μη αρνητικοί αριθμούς, οι τίτλοι των ταινιών και τα ονόματα των χωρών με κεφαλαία γράμματα.(ΓΣ)

25. Μια εταιρεία παράγει 100 προϊόντα ηλεκτρονικών ειδών για οικιακή χρήση τα οποία πωλούνται σε 10 χώρες. Γράψτε ένα πρόγραμμα που να: α) καταχωρεί την περιγραφή του κάθε είδους σε ένα πίνακα 100 θέσεων με όνομα ΕΙΔΗ. β) καταχωρεί το όνομα της χώρας σε ένα πίνακα 10 θέσεων με όνομα ΧΩΡΕΣ γ) καταχωρεί τις πωλήσεις κάθε είδους σε μονάδες για κάθε μία από τις χώρες αυτές, σε έναν ακέραιο πίνακα 10 x 100 με όνομα ΠΩΛΗΣΕΙΣ ελέγχοντας για την ορθή καταχώρηση των δεδομένων δηλαδή να μην δέχεται αρνητικό αριθμό δ) εμφανίζει σε ποιες και πόσες χώρες πωλείται ένα είδος που θα δίνεται ως είσοδος (να γίνεται έλεγχος εάν το είδος υπάρχει στον πίνακα ΕΙΔΗ). ε) θα εμφανίζει τις χώρες που είναι ‘καλοί πελάτες’ καλώντας ένα υποπρόγραμμα ΠΕΛΑΤΕΣ. Αυτό θα δέχεται έναν ακέραιο αριθμό που αντιστοιχεί στη χώρα αυτή όπως αυτή είναι αποθηκευμένη στον πίνακα ΧΩΡΕΣ και θα επιστρέφει τη τιμή ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ ανάλογα αν η χώρα αυτή είναι καλός ή κακός πελάτης. Για την εταιρεία θεωρείται καλός πελάτης μία χώρα αν έχει αγοράσει τουλάχιστον 100.000 κομμάτια από το κάθε είδος.

26. Η Eurostat διεξάγει έρευνα για τις τιμές 10 συγκεκριμένων προϊόντων, παίρνοντας τιμοληψίες σε κάθε μια από τις 25 Ευρωπαϊκές πρωτεύουσες. Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο : α) αποθηκεύει σε μονοδιάστατο πίνακα τα ονόματα 25 ευρωπαϊκών πρωτευουσών και σε δισδιάστατο πίνακα

ΤΙΜΕΣ[25,10] τις τιμές των 10 συγκεκριμένων προϊόντων σε κάθε πρωτεύουσα β) υπολογίζει την τιμή του φθηνότερου προϊόντος που καταγράφηκε σε κάθε πόλη και να την αποθηκεύει στον

πίνακα ΦΘΗΝΑ[25]. Επίσης υπολογίζει την τιμή του ακριβότερου προϊόντος που καταγράφηκε σε κάθε πόλη και να την αποθηκεύει στον πίνακα. ΑΚΡΙΒΑ[25]. Για τους υπολογισμούς του ελάχιστου και μέγιστου στοιχείου σε κάθε γραμμή του δισδιάστατου πίνακα να χρησιμοποιηθεί υποπρόγραμμα το οποίο δέχεται έναν μονοδιάστατο

Page 85: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

84 / 90

πίνακα και το πλήθος των στοιχείων του και υπολογίζει και επιστρέφει το ελάχιστο και το μέγιστο στοιχείο του καθώς και τις θέσεις του πίνακα στις οποίες βρέθηκαν . (Υποθέτουμε ότι όλες οι τιμές των 10 προϊόντων σε μια πόλη είναι διαφορετικές μεταξύ τους)

γ)στη συνέχεια να εκτυπώνει το όνομα κάθε πόλης και τον αύξοντα αριθμό του φθηνότερου και ακριβότερου προϊόντος.

δ) υπολογίζει το εύρος των τιμών που σημειώθηκε σε κάθε πόλη, δηλαδή τη διαφορά του ακριβότερου από το φθηνότερο προϊόν και να το αποθηκεύει σε πίνακα ΕΥΡΟΣ[25].

ε) να υπολογίζει και να εμφανίζει τη χαμηλότερη και υψηλότερη τιμή από τα ΦΘΗΝΑ προϊόντα και τη χαμηλότερη και υψηλότερη τιμή από τα ΑΚΡΙΒΑ προϊόντα καθώς και τις πόλεις στις οποίες εμφανίζονται οι παραπάνω τιμές..

στ) τέλος υπολογίζει και εκτυπώνει το μέγιστο και το ελάχιστο εύρος τιμών που σημειώθηκε (στον πίνακα ΕΥΡΟΣ[25] ) καθώς και τις πόλεις όπου εμφανίζονται αυτά . Για το υπολογισμό μεγίστου και ελαχίστου των ερωτημάτων β, ε και στ να κάνετε χρήση του υποπρογράμματος

27. (ΓΣ) Το Υπουργείο Μεταφορών και Επικοινωνιών θέλει να συγκεντρώσει κάποια στοιχεία σχετικά με τις τιμές του διοξειδίου του άνθρακα στη ατμόσφαιρα έτσι, ώστε να αποφασίσει για κυκλοφοριακά μέτρα που θα πάρει στο μέλλον. Τα στοιχεία αυτά θα αφορούν τιε ημερήσιες τιμές του άνθρακα 10 περιοχών του λεκανοπεδίου Αττικής για τις 30 ημέρες του μήνα. Ν’ αναπτύξετε αλγόριθμο ο οποίος: α) θα διαβάζει το όνομα κάποιας περιοχής και στη συνέχεια τις 30 τιμές του διοξειδίου του άνθρακα που

καταμετρήθηκαν τον μήνα στη συγκεκριμένη περιοχή. Με ανάλογο τρόπο θα εισαχθούν στο πρόγραμμα τα στοιχεία και για τις 10 περιοχές.

β) θα υπολογίζει τη μέση ημερήσια τιμή διοξειδίου του άνθρακα στο λεκανοπέδιο Αττικής γ) θα υπολογίζει αν τις ημέρες που κυκλοφορούν τα αυτοκίνητα με μονό αριθμό κυκλοφορίας (δηλαδή τις ημέρες με

αριθμό 1, 3, 5, …) εκλύθηκε συνολικά στην ατμόσφαιρα περισσότερο διοξείδιο του άνθρακα από τις ημέρες με ζυγό αριθμό κυκλοφορίας.

δ) θα εμφανίζει το όνομα της πιο μολυσμένης περιοχής ε) αν η πρώτη του μηνός έπεφτε Τετάρτη, ποια μέρα της εβδομάδας είχε το λεκανοπέδιο το μεγαλύτερο πρόβλημα

μόλυνσης. 28. (ΓΣ) Μια εταιρεία πωλήσεων καταγράφει σε κατάλληλους πίνακες τα ονόματα και τις μηνιαίες επιδόσεις των 200

πωλητών. Να αναπτύξετε αλγόριθμο ο οποίος: α) θα διαβάζει τα ονόματα των πωλητών και να τα καταχωρεί σε μονοδιάστατο πίνακα 200 θέσεων β) θα διαβάζει τις μηνιαίες πωλήσεις των πωλητών για το οικονομικό έτος 2008 και να τις καταχωρεί σε πίνακα

200x12, ελέγχοντας οι πωλήσεις να είναι μη αρνητικοί αριθμοί γ) θα διαβάζει το όνομα ενός πωλητή και αν αυτός ανήκει στην εταιρεία να βρίσκει και να τυπώνει ποιους μήνες ο πωλητής πέτυχε πωλήσεις μεγαλύτερες από 2.000€ και να εμφανίζει κατάλληλο μήνυμα σε κάθε περίπτωση

δ) για τον προηγούμενο πωλητή, να εκτυπώνει ποιον μήνα ξεκινώντας από τον Ιανουάριο πέτυχε συγκεντρωτικές πωλήσεις περισσότερες από 10.000€. Αν δεν ξεπέρασε το όριο αυτό, να εμφανίζει κατάλληλο μήνυμα

ε) θα εκτυπώνει ποιοι πωλητές έχουν επιτύχει συνολικό ποσό πωλήσεων μεγαλύτερο από 1.000€ κατά τους μήνες Ιούνιο-Ιούλιο-Αύγουστο

29. (ΓΣ) Η δανειστική βιβλιοθήκη του σχολείου σας έχει 100 τίτλους βιβλίων. Καθένα από τα οποία πιθανόν να υπάρχει σε περισσότερα από ένα αντίτυπα. Να γραφεί πρόγραμμα σε γλώσσα προγραμματισμού «ΓΛΩΣΣΑ» το οποίο: α) Αποθηκεύει στο μονοδιάστατο πίνακα ΤΙΤΛΟΙ[100] καθέναν από τους 100 τίτλους των βιβλίων β) Αποθηκεύει στο μονοδιάστατο πίνακα ΑΝΤΙΤΥΠΑ[100] τον αριθμό των διαθέσιμων προς δανεισμό αντιτύπων

του κάθε βιβλίου, εξασφαλίζοντας ότι κάθε στοιχείο του πίνακα είναι μη αρνητικός αριθμός. γ) Διαβάζει έναν τίτλο κι αν αυτός δεν είναι καταχωρημένος, εμφανίζει μήνυμα «ΔΕΝ ΥΠΑΡΧΕΙ Η

ΚΑΤΑΧΩΡΗΣΗ ΑΥΤΗ». Αν ο τίτλος είναι καταχωρημένος, καλεί μια διαδικασία η οποία υλοποιεί τα εξής: Αν υπάρχουν διαθέσιμα αντίτυπα, εμφανίζει το μήνυμα «ΔΙΑΘΕΣΙΜΟ» και μειώνει κατά ένα τον αριθμό των διαθέσιμων αντιτύπων, ενώ αν έχουν δανειστεί όλα τα αντίτυπα, εμφανίζει το μήνυμα «ΜΗ ΔΙΑΘΕΣΙΜΟ».

30. Ένα ερωτηματολόγιο αποτελείται από 20 ερωτήσεις και σ’ αυτό σημειώνεται αριθμητικά η απάντηση (1=διαφωνώ απόλυτα , 2=διαφωνώ μερικώς, 3=δε με αφορά, 4=συμφωνώ μερικώς, 5=συμφωνώ απόλυτα). Η δημοσκόπηση έγινε σε 10 μεγάλες πόλεις της Ελλάδας σε συνολικό δείγμα 2000 πολιτών. 1) Να γραφεί Συνάρτηση η οποία θα δέχεται έναν πίνακα χαρακτήρων και μια μεταβλητή τύπου χαρακτήρα την

οποία θα αναζητά μέσα στον πίνακα και θα επιστρέφει τη θέση του πίνακα στην οποία βρέθηκε ή 0 (μηδέν) στην περίπτωση που δεν υπάρχει η συγκεκριμένη τιμή.

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο : α) αποθηκεύει σε μονοδιάστατο πίνακα Πόλεις[10] τα ονόματα των πόλεων που συμπληρώθηκαν τα ερωτηματολόγια β) διαβάζει επαναληπτικά για κάθε ερωτηματολόγιο το όνομα της πόλης που συμπληρώθηκε, αναζητά το όνομα της πόλης στον πίνακα Πόλεις και αφού εντοπίσει τη θέση που βρίσκεται, αποθηκεύει σε δισδιάστατο πίνακα

Page 86: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

85 / 90

Προσωρινά[10,20] την απάντηση σε κάθε ερώτηση από τις 20 ελέγχοντας την εγκυρότητα των τιμών (1 έως 5). Για παράδειγμα αν η πόλη είναι στη θέση 3 του πίνακα Πόλεις, τότε καταχωρεί τις 20 τιμές απάντησης στο γραμμή 3 του πίνακα Προσωρινά[10,20] γ) υπολογίζει και αποθηκεύει σε δισδιάστατο πίνακα Συχνότητα[10,5] το πλήθος των 5 απαντήσεων που δόθηκαν σε κάθε πόλη π.χ. στη θέση [4,1] αποθηκεύεται το πλήθος των απαντήσεων με τιμή 1 στην 4η πόλη στη θέση [4,2] αποθηκεύεται το πλήθος των απαντήσεων με τιμή 2 στην 4η πόλη κ.ο.κ. δ) να διαβάζει το όνομα μιας πόλης και να αναζητά το όνομα στον πίνακα τα ων ονομάτων :

i)Σε περίπτωση που υπάρχει η συγκεκριμένη πόλη να υπολογίζει και να εκτυπώνει το πλήθος κάθε απάντησης (1 έως 5) που δόθηκε στη συγκεκριμένη πόλη ii) να υπολογίζει και να εκτυπώνει το ποσοστό επί τοις εκατό των απαντήσεων «δε με αφορά» στη συγκεκριμένη πόλη .

Σε περίπτωση που δεν υπάρχει το όνομα της πόλης να εμφανίζεται αντίστοιχο μήνυμα Στα ερωτήματα (β) και (δ) η αναζήτηση να γίνεται με χρήση της συνάρτησης

31. Να γραφτεί αλγόριθμος που να διαβάζει δύο πίνακες Α[Ν, Μ] και Β[Μ, Κ] και να γεμίζει ένα πίνακα Γ[Ν, Κ], του

οποίου κάθε στοιχείο θα προκύπτει από την παρακάτω σχέση (πολλαπλασιασμός πινάκων): kj

M

kikij a βγ ∑

=⋅=

1

32. Να γραφεί αλγόριθμος που να δέχεται πίνακες Α[Ν, Μ] και Β[Ν, Κ] και να τους συγχωνεύει στον πίνακα Γ 33. Να γραφεί αλγόριθμος που θα διαβάζει τον αριθμό μιας γραμμής γ, και μιας στήλης σ, ενός πίνακα Α 16 γραμμών

και 51 στηλών και να τα τοποθετεί σε ένα πίνακα Β 15 γραμμών και 50 στηλών. 34. Να αναπτύξετε αλγόριθμο ο οποίος θα επεξεργάζεται και θα εκδίδει τα αποτελέσματα των μαθητικών εκλογών για

το 15μελές συμβούλιο του σχολείου σας. Στο 1ο Γενικό Λύκειο Ρεθύμνου το τρέχον σχολικό έτος φοιτούν 332 μαθητές σε όλες τις τάξεις και οι υποψήφιοι για το μαθητικό συμβούλιο είναι 50. Κάθε μαθητής έχει δικαίωμα να δώσει μέχρι 5 ψήφους. Σκεφτείτε μόνοι σας τί δομές δεδομένων θα χρειαστείτε για να υλοποιήσετε το πρόβλημα (Τα δεδομένα σας είναι τα ονόματα των υποψηφίων και τα πέντε ονόματα που ψηφίζει ο κάθε μαθητής). Φροντίσετε να ελέγχετε ώστε τα 5 ονόματα που δίνει κάθε μαθητής να είναι ονόματα υποψηφίων. Ο αλγόριθμός σας θα πρέπει στο τέλος να εμφανίζει τα ονόματα των μαθητών που εξελέγησαν στο 15μελές με φθίνουσα σειρά ψήφων. Σε περίπτωση ισοβαθμίας στη 15η θέση να εμφανίζει μήνυμα με τους ισοψηφήσαντες στην τελευταία θέση.

Τετραγωνικοί πίνακες 35. Να γραφεί αλγόριθμος που για δεδομένο τετραγωνικό πίνακα ΑΝ, Ν] να υπολογίζει και να εμφανίζει:

Α) το άθροισμα των διαγωνίων του Β) τον μέσο όρο των στοιχείων της δευτερεύουσας διαγωνίου που είναι μεγαλύτερα του 100 Γ) τα αθροίσματα των στοιχείων της 1ης γραμμής και Νοστης στήλης και να τα συγκρίνει. Δ) το άθροισμα των στοιχείων των οποίων το άθροισμα των δεικτών τους είναι άρτιο. Ε) τα στοιχεία που βρίσκονται κάτω από την κύρια και την δευτερεύουσα διαγώνιο.

36. Παράδειγμα Τ.Μαθητή σελ 32 37. Το Υπουργείο Τουρισμού θέλει να ενημερώσει τους τουρίστες σχετικά με τις χιλιομετρικές αποστάσεις μεταξύ 10

πόλεων της Ελλάδας. Γράψτε πρόγραμμα που να κάνει τα εξής: 1. καταχωρεί σ’ένα ΠΟΛΕΙΣ[10] τις 10 πόλεις της Ελλάδας 2. καταχωρεί σ’έναν πίνακα ΑΠΟΣΤ[10,10] τις αποστάσεις μεταξύ των πόλεων βάζοντας στα στοιχεία της κύριας

διαγωνίου 0 (αφού είναι ουσιαστικά η απόσταση π.χ.ΑΘΗΝΑ-ΑΘΗΝΑ) και σε κάθε στοιχείο την αντίστοιχη χιλιομετρική απόσταση. Πρέπει να προσέξετε ότι η απόσταση που είναι στη θέση ΑΠΟΣΤ[1,3] είναι η ίδια με την απόσταση που βρίσκεται στη θέση ΑΠΟΣΤ[3,1] αφού η πρώτη αναφέρεται στην απόσταση π.χ. ΑΘΗΝΑ-ΘΕΣΣΑΛΟΝΙΚΗ ενώ η δεύτερη ΘΕΣΣΑΛΟΝΙΚΗ-ΑΘΗΝΑ. Έτσι κατά την παραπάνω καταχώριση πρέπει όταν δίνεται η μία απόσταση να καταχωρείται και η αντίστοιχή της.

3. διαβάζει 2 πόλεις, να εξετάζει αν αυτές υπάρχουν στον πίνακα ΠΟΛΕΙΣ οπότε και να εμφανίζει την χιλιομετρική τους απόσταση. Αν δεν υπάρχει κάποια πόλη να δίνεται η δυνατότητα να καταχωρούνται ξανά.

4. με χρήση υποπρογράμματος να εμφανίζονται η κοντινότερη και η μακρύτερη πόλη για κάθε πόλη που υπάρχει στον πίνακα ΠΟΛΕΙΣ

38. Στο διαγωνισμό της Eurovision συμμετέχουν 40 κράτη. Κάθε κράτος ψηφίζει οποιοδήποτε εκτός από τον εαυτό του και δίνει 10 βαθμολογίες (1-10). Να γραφεί πρόγραμμα που αρχικά να διαβάζει τα ονόματα των χωρών που συμμετέχουν. Στη συνέχεια για κάθε χώρα να διαβάζει, το όνομα της χώρας στην οποία δίνει βαθμούς και πόσους βαθμούς δίνει (να ελέγχεται το όνομα της χώρας να ανήκει στον πίνακα και να μην είναι το ίδιο με της χώρας που βαθμολογεί, αλλά ούτε ίδιο με άλλης χώρας που έχει ξαναβαθμολογήσει). Τέλος να εμφανίζει τις χώρες με την μέγιστη βαθμολογία. Σε περίπτωση ισοβαθμίας στην 1η θέση, θα ληφθεί υπόψη ως 2ο κριτήριο κατάταξης πόσες χώρες την ψήφισαν.

ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΜΕ ΔΙΣΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ 39. Παν 2003 –1

Page 87: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

86 / 90

Μια αλυσίδα κινηματογράφων έχει δέκα αίθουσες. Τα ονόματα των αιθουσών καταχωρούνται σε ένα μονοδιάστατο πίνακα και οι μηνιαίες εισπράξεις κάθε αίθουσας για ένα έτος καταχωρούνται σε πίνακα δύο διαστάσεων. Να γράψετε αλγόριθμο ο οποίος: α. να διαβάζει τα ονόματα των αιθουσών Μ 2 β. να διαβάζει τις μηνιαίες εισπράξεις των αιθουσών αυτού του έτους Μ 3 γ. να υπολογίζει τη μέση μηνιαία τιμή των εισπράξεων για κάθε αίθουσα Μ 7 δ. να βρίσκει και να εμφανίζει τη μικρότερη μέση μηνιαία τιμή Μ 5 ε. να βρίσκει και να εμφανίζει το όνομα ή τα ονόματα των αιθουσών που έχουν την ανωτέρω μικρότερη μέση μηνιαία

τιμή. Μ 3 Παρατήρηση: Θεωρήστε ότι οι μηνιαίες εισπράξεις είναι θετικοί αριθμοί. 40. παν 2003 –2 Κατά τη διάρκεια πρωταθλήματος μπάσκετ μια ομάδα που αποτελείται από δώδεκα (12) παίκτες έδωσε είκοσι (20) αγώνες, στους οποίους συμμετείχαν όλοι οι παίκτες. Να αναπτύξετε στο τετράδιό σας αλγόριθμο ο οποίος: α. Να διαβάζει τα ονόματα των παικτών και να τα αποθηκεύει σε μονοδιάστατο πίνακα. Μ 2 β. Να διαβάζει τους πόντους που σημείωσε κάθε παίκτης σε κάθε αγώνα και να τους αποθηκεύει σε πίνακα δύο

διαστάσεων. Μ 3 γ. Να υπολογίζει για κάθε παίκτη το συνολικό αριθμό πόντων του σε όλους τους αγώνες και το μέσο όρο πόντων ανά

αγώνα. Μ 6 δ. Να εκτυπώνει τα ονόματα των παικτών της ομάδας και το μέσο όρο πόντων του κάθε παίκτη ταξινομημένα με

βάση το μέσο όρο τους κατά φθίνουσα σειρά. Παρατήρηση: Σε περίπτωση ισοβαθμίας δεν μας ενδιαφέρει η σχετική σειρά των παικτών. Μ 9

41. παν 2002 –2 Μια αλυσίδα ξενοδοχείων έχει 5 ξενοδοχεία. Σε ένα μονοδιάστατο πίνακα ΞΕΝΟΔΟΧΕΙΑ[5] καταχωρούνται τα ονόματα των ξενοδοχείων. Σε ένα άλλο δισδιάστατο πίνακα ΕΙΣΠΡΑΞΕΙΣ[5,12] καταχωρούνται οι εισπράξεις κάθε ξενοδοχείου για κάθε μήνα του έτους 2001, έτσι ώστε στην i γραμμή καταχωρούνται οι εισπράξεις του i ξενοδοχείου. Να αναπτύξετε αλγόριθμο, ο οποίος: α. διαβάζει τα στοιχεία των δύο πινάκων Μ 6 β. εκτυπώνει το όνομα κάθε ξενοδοχείου και τις ετήσιες εισπράξεις του για το έτος 2001 Μ 7 γ. εκτυπώνει το όνομα του ξενοδοχείου με τις μεγαλύτερες εισπράξεις για το έτος 2001. Μ 7 42. Παν 2001 1 Μια εταιρεία αποθηκεύει είκοσι (20) προϊόντα σε δέκα (10) αποθήκες. Να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού "ΓΛΩΣΣΑ", το οποίο: α. περιέχει τμήμα δήλωσης των μεταβλητών του προγράμματος Μ 3 β. εισάγει σε μονοδιάστατο πίνακα τα ονόματα των είκοσι προϊόντων Μ 3 γ. εισάγει σε πίνακα δύο διαστάσεων Π[20,10] την πληροφορία που αφορά στην παρουσία ενός προϊόντος σε μια

αποθήκη (καταχωρούμε την τιμή 1 στην περίπτωση που υπάρχει το προϊόν στην αποθήκη και την τιμή 0, αν το προϊόν δεν υπάρχει στην αποθήκη). Μ 4

δ. υπολογίζει σε πόσες αποθήκες βρίσκεται το κάθε προϊόν Μ6 ε. τυπώνει το όνομα κάθε προϊόντος και το πλήθος των αποθηκών στις οποίες υπάρχει το προϊόν. Μ4 43. Παν 2004 1 Για την πρώτη φάση της Ολυμπιάδας Πληροφορικής δήλωσαν συμμετοχή 500 μαθητές. Οι μαθητές διαγωνίζονται σε τρεις γραπτές εξετάσεις και βαθμολογούνται με ακέραιους βαθμούς στη βαθμολογική κλίμακα από 0 έως και 100. Να γράψετε αλγόριθμο ο οποίος: α. Να διαβάζει τα ονόματα των μαθητών και να τα αποθηκεύει σε μονοδιάστατο πίνακα. (Μ 2) β. Να διαβάζει τους 3 βαθμούς που έλαβε κάθε μαθητής και να τους αποθηκεύει σε δισδιάστατο πίνακα. (Μ2) γ. Να υπολογίζει το μέσο όρο των βαθμών του κάθε μαθητή. (Μ 4) δ. Να εκτυπώνει τα ονόματα των μαθητών και δίπλα τους το μέσο όρο των βαθμών τους ταξινομημένα με βάση τον

μέσο όρο κατά φθίνουσα σειρά. Σε ισοβαθμίας η σειρά ταξινόμησης των ονομάτων είναι αλφαβητική(Μ7) ε. Να υπολογίζει και να εκτυπώνει το πλήθος των μαθητών με το μεγαλύτερο μέσο όρο. (Μ 5) Παρατήρηση: Θεωρείστε ότι οι βαθμοί των μαθητών είναι μεταξύ του 0 και του 100 και ότι τα ονόματα των μαθητών είναι γραμμένα με μικρά γράμματα. 44. Ημ1 2005 Σ’ ένα διαγωνισμό συμμετέχουν 100 υποψήφιοι. Κάθε υποψήφιος διαγωνίζεται σε 50 ερωτήσεις πολλαπλής επιλογής. Να αναπτύξετε αλγόριθμο που να κάνει τα παρακάτω: α. Να καταχωρεί σε πίνακα AΠ[100,50] τα αποτελέσματα των απαντήσεων του κάθε υποψηφίου σε κάθε ερώτηση.

Κάθε καταχώρηση μπορεί να είναι μόνο μία από τις παρακάτω: i. Σ αν είναι σωστή η απάντηση ii. Λ αν είναι λανθασμένη η απάντηση και

Page 88: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

87 / 90

iii. Ξ αν ο υποψήφιος δεν απάντησε. Να γίνεται έλεγχος των δεδομένων εισόδου. (Μ 4)

β. Να βρίσκει και να τυπώνει τους αριθμούς των ερωτήσεων που παρουσιάζουν το μεγαλύτερο βαθμό δυσκολίας, δηλαδή έχουν το μικρότερο πλήθος σωστών απαντήσεων. (Μ 10)

γ. Αν κάθε Σ βαθμολογείται με 2 μονάδες, κάθε Λ με -1 μονάδα και κάθε Ξ με 0 μονάδες τότε i. Να δημιουργεί ένα μονοδιάστατο πίνακα ΒΑΘ[100], κάθε στοιχείο του οποίου θα περιέχει αντίστοιχα τη συνολική βαθμολογία ενός υποψηφίου. (Μ 4) ii. Να τυπώνει το πλήθος των υποψηφίων που συγκέντρωσαν βαθμολογία μεγαλύτερη από 50(Μ 2)

45. Ημ2 2005 Εκατό (100) υποψήφιοι του ΑΣΕΠ διαγωνίζονται σε τρία μαθήματα για την κάλυψη θέσεων του Δημοσίου. Να γραφεί κύριο πρόγραμμα σε ΓΛΩΣΣΑ που να κάνει τα παρακάτω: α) Διαβάζει τα ονόματα των 100 υποψηφίων του ΑΣΕΠ και τη βαθμολογία καθενός υποψηφίου σε 3 διαφορετικά

μαθήματα. (Θεωρήστε ότι η βαθμολογία κάθε μαθήματος είναι από 1 έως 20).(Μ 4) β) Βρίσκει και τυπώνει τον ελάχιστο και τον μέγιστο βαθμό καθενός υποψηφίου στα τρία μαθήματα που εξετάστηκε.

(Μ 6) γ) Να γραφεί υποπρόγραμμα, το οποίο να καλείται από το κύριο πρόγραμμα, για τον υπολογισμό και την εκτύπωση

του μέσου όρου κάθε υποψηφίου στα τρία μαθήματα που διαγωνίστηκε. (Μ 10) 46. Ημ2 2005 Μια αεροπορική εταιρία ταξιδεύει σε 15 προορισμούς του εσωτερικού. Στα πλαίσια της οικονομικής πολιτικής που πρόκειται να εφαρμόσει, κατέγραψε το ποσοστό πληρότητας των πτήσεων για κάθε μήνα του προηγούμενου ημερολογιακού έτους. Η πολιτική έχει ως εξής: ∆εν θα γίνει καμία περικοπή σε προορισμούς, στους οποίους το μέσο ετήσιο ποσοστό πληρότητας των πτήσεων

είναι μεγαλύτερο του 65. -Θα γίνουν περικοπές πτήσεων σε προορισμούς, στους οποίους το μέσο ετήσιο ποσοστό πληρότητας των πτήσεων

κυμαίνεται από 40 έως και 65. Οι περικοπές θα γίνουν μόνο σε εκείνους τους μήνες που το ποσοστό πληρότητάς τους είναι μικρότερο του 40.

-Θα καταργηθούν οι προορισμοί, στους οποίους το μέσο ετήσιο ποσοστό πληρότητας των πτήσεων είναι μικρότερο του 40.

Να γραφεί αλγόριθμος ο οποίος: 1. Να διαβάζει τα ονόματα των 15 προορισμών και να τα αποθηκεύει σε ένα μονοδιάστατο πίνακα 2. Να διαβάζει τα ποσοστά πληρότητας των πτήσεων των 15 προορισμών για κάθε μήνα και να τα αποθηκεύει σε

δισδιάστατο πίνακα κάνοντας έλεγχο στην καταχώριση των δεδομένων, ώστε να καταχωρούνται μόνο οι τιμές που είναι από 0 έως και 100.

3. Να βρίσκει και να τυπώνει τα ονόματα των προορισμών που δεν θα γίνει καμία περικοπή πτήσεων. 4. Να βρίσκει και να τυπώνει τα ονόματα των προορισμών που θα καταργηθούν. 5. Να βρίσκει και να τυπώνει τα ονόματα των προορισμών, στους οποίους θα γίνουν περικοπές πτήσεων, καθώς και

τους μήνες (αύξοντα αριθμό μήνα) που θα γίνουν οι περικοπές. 47. Εσπ1 2005 Σε ένα πανελλήνιο σχολικό διαγωνισμό μετέχουν 20 σχολεία. Κάθε σχολείο αξιολογεί 5 άλλα σχολεία και δεν αυτοαξιολογείται. Η βαθμολογία κυμαίνεται από 1 έως και 10. Να γραφεί τμήμα αλγορίθμου που α) να διαβάζει τα ονόματα των σχολείων και να τα αποθηκεύει σε πίνακα Α 20 θέσεων. (Μ 2) β) να εισάγει αρχικά την τιμή 0 σε όλες τις θέσεις ενός δισδιάστατου πίνακα Β 20 γραμμών και 20 στηλών. (Μ 2) γ) Να καταχωρίζει στον πίνακα Β τη βαθμολογία που δίνει κάθε σχολείο για 5 άλλα σχολεία. (Μ 6) Σημείωση: Στη θέση i,j του πίνακα Β αποθηκεύεται ο βαθμός που το σχολείο i δίνει στο σχολείο j, δ) να υπολογίζει τη συνολική βαθμολογία του κάθε σχολείου και να την καταχωρίζει σε μονοδιάστατο πίνακα 20

θέσεων με όνομα SUM, (Μ 4) ε) να εμφανίζει τα ονόματα και τη συνολική βαθμολογία όλων των σχολείων κατά φθίνουσα σειρά της συνολικής

βαθμολογίας. (Μ 6) 48. (Εσπ2006-1) Για τη διεκδίκηση μιας θέσης υποτροφίας, εξετάστηκαν και βαθμολογήθηκαν πενήντα (50) υποψήφιοι σε τρία μαθήματα. Ο υπολογισμός του τελικού βαθμού κάθε υποψηφίου γίνεται ως εξής: Αν ο βαθμός του σε κάποιο από τα τρία μαθήματα είναι μικρότερος του 6, τότε ο τελικός βαθμός του είναι μηδέν (0). Διαφορετικά ο βαθμός του 1ου μαθήματος συμμετέχει στον υπολογισμό του τελικού βαθμού με συντελεστή 20%, ο βαθμός του 2ου μαθήματος με συντελεστή 35% και του 3ου μαθήματος με συντελεστή 45%. Να αναπτύξετε αλγόριθμο ο οποίος: α. Διαβάζει τα ονόματα των 50 υποψηφίων και τα καταχωρίζει σε πίνακα. Μ 2 β. Διαβάζει για κάθε υποψήφιο τους βαθμούς του σε καθένα από τα τρία μαθήματα και τους καταχωρίζει σε πίνακα δύο

διαστάσεων, ελέγχοντας ότι ο βαθμός κάθε μαθήματος είναι από 0 έως και 10. Μ 3 γ. Υπολογίζει τον τελικό βαθμό κάθε υποψηφίου και τον καταχωρίζει σε πίνακα. Μ 5

Page 89: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

88 / 90

δ Ταξινομεί τα ονόματα και τους τελικούς βαθμούς των υποψηφίων σε φθίνουσα σειρά ως προς τον τελικό βαθμό. Μ 4 ε. Εμφανίζει για όσους υποψηφίους έχουν τελικό βαθμό μεγαλύτερο του μηδενός (0) το όνομα και τον τελικό βαθμό

τους. Μ 3 στ. Εμφανίζει το ποσοστό των υποψηφίων που έχουν τελικό βαθμό μηδέν (0). Μ 3 49. Εν2006-1 Για την παρακολούθηση των θερμοκρασιών της επικράτειας κατά το μήνα Μάιο καταγράφεται κάθε μέρα η θερμοκρασία στις 12:00 το μεσημέρι για 20 πόλεις. Να σχεδιάσετε αλγόριθμο που: α. θα διαβάζει τα ονόματα των 20 πόλεων και τις αντίστοιχες θερμοκρασίες για κάθε μία από τις ημέρες του μήνα και

θα καταχωρεί τα στοιχεία σε πίνακες. Μ 2 β. θα διαβάζει το όνομα μίας πόλης και θα εμφανίζει τη μέγιστη θερμοκρασία της στη διάρκεια του μήνα. Αν δεν

υπάρχει η πόλη στον πίνακα, θα εμφανίζει κατάλληλα διαμορφωμένο μήνυμα. Μ 9 γ. θα εμφανίζει το πλήθος των ημερών που η μέση θερμοκρασία των 20 πόλεων ξεπέρασε τους 20 οC, αλλά όχι τους 30

οC. Μ 9 50. Εν2006-2 Στους προκριματικούς αγώνες ιππικού τριάθλου συμμετέχουν 16 αθλητές. Τα αγωνίσματα είναι: ιππική δεξιοτεχνία, υπερπήδηση εμποδίων και ελεύθερη ιππασία. Ο κάθε αθλητής βαθμολογείται ξεχωριστά σε κάθε ένα από τα τρία αγωνίσματα. Να σχεδιάσετε αλγόριθμο ο οποίος: α)καταχωρίζει σε πίνακα τις ονομασίες των τριών αγωνισμάτων, όπως αυτές δίνονται παραπάνω. Μ2 β)διαβάζει για κάθε αθλητή όνομα, επίθετο, όνομα αλόγου με το οποίο αγωνίζεται και τους βαθμούς του σε κάθε

αγώνισμα και θα καταχωρίζει τα στοιχεία σε πίνακες. Μ2 γ)διαβάζει το όνομα και το επίθετο ενός αθλητή και θα εμφανίζει το όνομα του αλόγου με το οποίο αγωνίστηκε και τη

συνολική του βαθμολογία στα τρία αγωνίσματα. Αν δεν υπάρχει ο αθλητής, θα εμφανίζει κατάλληλα διαμορφωμένο μήνυμα. Μ8

δ)εμφανίζει την ονομασία του αγωνίσματος (ή των αγωνισμάτων) με το μεγαλύτερο «άνοιγμα βαθμολογίας». Ως «άνοιγμα βαθμολογίας» να θεωρήσετε τη διαφορά ανάμεσα στην καλύτερη και στη χειρότερη βαθμολογία του αγωνίσματος. Μ8

51. Ημ2007-1 Μια δισκογραφική εταιρεία καταγράφει στοιχεία για ένα έτος για κάθε ένα από τα 20 CDs που κυκλοφόρησε. Τα στοιχεία αυτά είναι ο τίτλος του CD, ο τύπος της μουσικής που περιέχει και οι μηνιαίες του πωλήσεις (ποσά σε ευρώ) στη διάρκεια του έτους. Οι τύποι μουσικής είναι δύο: «ορχηστρική» και «φωνητική». Να αναπτυχθεί αλγόριθμος ο οποίος: α. Για κάθε ένα από τα 20 CDs, να διαβάζει τον τίτλο, τον τύπο της μουσικής και τις πωλήσεις του για κάθε μήνα, ελέγχοντας την έγκυρη καταχώριση του τύπου της μουσικής. Μονάδες 2 β. Να εμφανίζει τον τίτλο ή τους τίτλους των CDs με τις περισσότερες πωλήσεις τον 3ο μήνα του έτους. Μον 6 γ. Να εμφανίζει τους τίτλους των ορχηστρικών CDs με ετήσιο σύνολο πωλήσεων τουλάχιστον 5000 ευρώ. Μον6 δ. Να εμφανίζει πόσα από τα CDs είχαν σύνολο πωλήσεων στο 2ο εξάμηνο μεγαλύτερο απ’ ό,τι στο 1ο. Μ6 52. Ημ2007-2 Μια σύγχρονη πτηνοτροφική μονάδα παρακολουθεί την ημερήσια παραγωγή αυγών και καταγράφει τα στοιχεία σε ηλεκτρονικό αρχείο. Να αναπτύξετε αλγόριθμο ο οποίος θα διαχειρίζεται τα στοιχεία της μονάδας στη διάρκεια ενός έτους. Για το σκοπό αυτό: Α. Να κατασκευάσετε κύριο πρόγραμμα το οποίο: 1. να ζητάει το έτος παρακολούθησης, ελέγχοντας ότι πρόκειται για έτος του 21ου αιώνα (από 2000 μέχρι και 2099). Ο αλγόριθμος να δημιουργεί πίνακα με τον αριθμό των ημερών για καθέναν από τους δώδεκα μήνες του έτους που δόθηκε. Ο αριθμός των ημερών του μήνα θα υπολογίζεται από υποπρόγραμμα το οποίο θα κατασκευάσετε για το σκοπό αυτό. Η λειτουργία του υποπρογράμματος περιγράφεται στο ερώτημα Β. Μονάδες 3 2. να ζητάει την ημερήσια παραγωγή (αριθμό αυγών) για κάθε μέρα του έτους και να καταχωρίζει τις τιμές σε πίνακα δύο διαστάσεων, με μια γραμμή για κάθε μήνα. Μονάδες 3 3. να εμφανίζει τον τρίτο κατά σειρά από τους μήνες του έτους που έχουν ο καθένας μέσο όρο ημερήσιας παραγωγής μέχρι και δέκα ποσοστιαίες μονάδες πάνω ή κάτω από τον ετήσιο μέσο όρο. Αν δεν βρει τέτοιο μήνα, να εμφανίζει κατάλληλο μήνυμα. Μονάδες 8 Β. Να κατασκευάσετε υποπρόγραμμα το οποίο να δέχεται ως παραμέτρους κάποιο έτος και τον αριθμό κάποιου μήνα (1 έως 12), και να επιστρέφει τον αριθμό των ημερών του συγκεκριμένου μήνα. Όταν το έτος είναι δίσεκτο, ο Φεβρουάριος έχει 29 ημέρες, διαφορετικά έχει 28. ∆ίσεκτα είναι τα έτη που διαιρούνται με το 4 αλλά όχι με το 100, καθώς και εκείνα που διαιρούνται με το 400. Για τους υπόλοιπους μήνες, πλην του Φεβρουαρίου, ισχύει το εξής: μέχρι και τον Ιούλιο (7ος μήνας) οι μονοί μήνες έχουν 31 ημέρες και οι ζυγοί 30. Για τους μήνες μετά τον Ιούλιο, ισχύει το αντίστροφο. Μονάδες 6 53. Εσπ2008-2

Page 90: Ύλη - lyk-aei.reth.sch.grlyk-aei.reth.sch.gr/yliko/lessons/aepp/Aepp_Notes_201112.pdf · Λυμένες Ασκήσεις με Δομή Ακολουθίας 1. Γράψτε αλγόριθμο(Πρόγραμμα)

Πειραματικό Γενικό Λύκειο Σχ. Έτος 2011-12

89 / 90

Σε ένα Δήμο υπάρχουν 4 σταθμοί μέτρησης ενός συγκεκριμένου ατμοσφαιρικού ρύπου. Η καταγραφή της τιμής του ρύπου γίνεται ανά ώρα και σε 24ωρη βάση. Οι αποδεκτές τιμές του ρύπου κυμαίνονται από 0 έως και 100. Να γραφεί αλγόριθμος, ο οποίος: α. για κάθε σταθμό και για κάθε ώρα του 24ώρου διαβάζει την τιμή του ρύπου και την καταχωρίζει σε πίνακα διαστάσεων 4x24, ελέγχοντας την εγκυρότητα κάθε τιμής. Μονάδες 4 β. για κάθε ώρα του 24ώρου υπολογίζει και εμφανίζει τη μέση τιμή του ρύπου από τους 4 σταθμούς. Μονάδες 5 γ. για κάθε σταθμό βρίσκει και εμφανίζει τη μέγιστη και την ελάχιστη τιμή του ρύπου στο 24ωρο. Μονάδες 5 δ. βρίσκει και εμφανίζει τη μέγιστη τιμή του ρύπου στη διάρκεια του 24ώρου, καθώς και την ώρα και τον αριθμό του σταθμού που σημειώθηκε η τιμή αυτή. (Να θεωρήσετε ότι η τιμή αυτή είναι μοναδική στον πίνακα). Μον 6 54. Εσπ2008-1: Ένας επενδυτής διέθεσε 10.000 € για την αγορά ορισμένων τεμαχίων 10 διαφορετικών μετοχών. Να γράψετε αλγόριθμο ο οποίος: α. Για καθεμία από τις 10 μετοχές διαβάζει το όνομα της μετοχής, και το πλήθος των τεμαχίων της μετοχής, που κατέχει ο επενδυτής, ελέγχοντας το πλήθος να είναι θετικός αριθμός, και καταχωρίζει τα δεδομένα αυτά σε σχετικούς πίνακες. Μονάδες 3 β. Για καθεμία από τις 10 μετοχές και για καθεμία από τις πέντε (5) εργάσιμες ημέρες της εβδομάδας διαβάζει την τιμή ενός τεμαχίου της μετοχής και την αποθηκεύει σε κατάλληλο πίνακα δύο διαστάσεων, ελέγχοντας η τιμή του τεμαχίου να είναι θετικός αριθμός. Μονάδες 4 γ. Για καθεμία από τις 10 μετοχές υπολογίζει τη μέση εβδομαδιαία τιμή του τεμαχίου της και την αποθηκεύει σε μονοδιάστατο πίνακα. Μονάδες 5 δ. Υπολογίζει και εμφανίζει τη συνολική αξία όλων των τεμαχίων όλων των μετοχών του επενδυτή, την τελευταία ημέρα της εβδομάδας. Μονάδες 5 ε. Υπολογίζει εάν ο επενδυτής στο τέλος της εβδομάδας έχει κέρδος ή ζημία ή καμία μεταβολή σε σχέση με το αρχικό ποσό που διέθεσε, εμφανίζοντας κατάλληλα μηνύματα. Μονάδες 3 55. Εσπ2007-2 Σε ένα Μετεωρολογικό Σταθμό καταγράφονται ανά ημέρα και ώρα η θερμοκρασία του περιβάλλοντος για μία εβδομάδα. Να γράψετε αλγόριθμο που: α. ∆ιαβάζει (1) τα ονόματα των επτά ημερών της εβδομάδας και τα καταχωρεί σε μονοδιάστατο πίνακα (Μ 2) και (2) τη θερμοκρασία για κάθε ημέρα της εβδομάδας και κάθε ώρα της ημέρας και την καταχωρεί σε δισδιάστατο πίνακα, ελέγχοντας οι τιμές της θερμοκρασίας να είναι από –20 μέχρι και 50. (Μ 3) β. Υπολογίζει για κάθε ημέρα τη μέση θερμοκρασία και την καταχωρεί σε μονοδιάστατο πίνακα. Μ 5 γ. Βρίσκει και εμφανίζει τη μέγιστη μέση θερμοκρασία της εβδομάδας από τον πίνακα των μέσων θερμοκρασιώ4 δ. Βρίσκει και εμφανίζει την ημέρα της εβδομάδας με τη μέγιστη μέση θερμοκρασία (να θεωρήσετε ότι υπάρχει μόνο μία τέτοια ημέρα). Μ 2 ε. Υπολογίζει και εμφανίζει το πλήθος των ημερών της εβδομάδας που είχαν μέση θερμοκρασία μεγαλύτερη των 20ο C. Μ 4 56. Ημ2008-1 Στο ευρωπαϊκό πρωτάθλημα ποδοσφαίρου συμμετέχουν 16 ομάδες. Κάθε ομάδα συμμετέχει σε 30 αγώνες. Να γράψετε αλγόριθμο ο οποίος: α. Διαβάζει σε μονοδιάστατο πίνακα ΟΝ[16] τα ονόματα των ομάδων. Μονάδες 2 β. Διαβάζει σε δισδιάστατο πίνακα ΑΠ[16,30] τα αποτελέσματα σε κάθε αγώνα ως εξής: Τον χαρακτήρα «Ν» για ΝΙΚΗ Τον χαρακτήρα «Ι» για ΙΣΟΠΑΛΙΑ Τον χαρακτήρα «Η» για ΗΤΤΑ και κάνει τον απαραίτητο έλεγχο εγκυρότητας των δεδομένων. Μονάδες 4 γ. Για κάθε ομάδα υπολογίζει και καταχωρεί σε δισδιάστατο πίνακα ΠΛ[16,3] το πλήθος των νικών στην πρώτη στήλη, το πλήθος των ισοπαλιών στη δεύτερη στήλη, και το πλήθος των ηττών στην τρίτη στήλη του πίνακα. Ο πίνακας αυτός πρέπει προηγουμένως να έχει μηδενισθεί. Μονάδες 6 δ. Με βάση τα στοιχεία του πίνακα ΠΛ[16,3] υπολογίζει και καταχωρεί σε νέο πίνακα ΒΑΘ[16] τη συνολική βαθμολογία κάθε ομάδας, δεδομένου ότι για κάθε νίκη η ομάδα παίρνει τρεις βαθμούς, για κάθε ισοπαλία έναν βαθμό και για κάθε ήττα κανέναν βαθμό. Μονάδες 3 ε. Εμφανίζει τα ονόματα και τη βαθμολογία των ομάδων ταξινομημένα σε φθίνουσα σειρά με βάση τη βαθμολογία. Μονάδες 5 57. (Εσπ2009-1) Μια επιχείρηση που εμπορεύεται τηλεοράσεις διαθέτει 20 μοντέλα. Να γραφεί αλγόριθμος που: α. να διαβάζει τα ονόματα των μοντέλων και να τα αποθηκεύει σε μονοδιάστατο πίνακα. Μονάδες 3 β. να διαβάζει για κάθε μοντέλο τον αριθμό των συσκευών που πουλήθηκαν κάθε μήνα, για ένα έτος, και να τον αποθηκεύει σε πίνακα δύο διαστάσεων, ελέγχοντας ώστε ο αριθμός αυτός να μην είναι αρνητικός. Μονάδες 5 γ. να υπολογίζει και να εμφανίζει το σύνολο των ετήσιων πωλήσεων του κάθε μοντέλου. Μονάδες 5 δ. να εμφανίζει κατά αλφαβητική σειρά τα ονόματα των μοντέλων καθώς και τον ετήσιο συνολικό αριθμό των συσκευών που πουλήθηκαν για κάθε μοντέλο. Μονάδες 7