ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ – ΑΕΠΠ
ΣΥΓΚΕΝΤΡΩΤΙΚΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ
ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ
- 1- Απλές πράξεις-Έλεγχοι
- 2- Δομή Επιλογής
- 3Α- Επανάληψη & Επιλογή
- 3Β- Επανάληψη & Επιλογή
- 4- Υποπρογράμματα
- 5- Μονοδιάστατοι Πίνακες
- 6- Δισδιάστατοι Πίνακες
ΕΝΟΤΗΤΑ – ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ
ΥΠΟΕΝΟΤΗΤΑ: ΤΕΛΕΣΤΕΣ ΔΙΑΙΡΕΣΗΣ
Θέμα A Α5. Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και, δίπλα, το γράμμα της στήλης Β που αντιστοιχεί σωστά. (Να θεωρήσετε ότι ο X είναι θετικός ακέραιος).
ΥΠΟΕΝΟΤΗΤΑ: ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Θέμα Α ∆. Να αντιστοιχίσετε κάθε ∆εδομένο της Στήλης Α με το σωστό Τύπο ∆εδομένου της Στήλης Β. Τα στοιχεία της Στήλης Β μπορείτε να τα χρησιμοποιήσετε καμία, μία ή περισσότερες από μία φορές.
Θέμα 1ο Β. Να γράψετε στο τετράδιό σας τους αριθμούς της Στήλης Α, που αντιστοιχούν σωστά με το γράμμα της Στήλης Β. Στήλη Α Στήλη Β Τα στοιχεία της στήλης Β μπορεί να χρησιμοποιηθούν παραπάνω από μία φορές.
Θέμα A Α2. Να μεταφέρετε στο τετράδιό σας τον παρακάτω πίνακα συμπληρώνοντάς τον με τον κατάλληλο τύπο και το περιεχόμενο της μεταβλητής.
ΥΠΟΕΝΟΤΗΤΑ: ΕΝΤΟΛΕΣ ΕΚΧΩΡΗΣΗΣ
Στήλη Α
Στήλη Β
1. X DIV 1000 = 0
α. Βρίσκει την τιμή του ψηφίου των χιλιάδων.
2. X DIV 1000 MOD 10
β. Ελέγχει αν ο αριθμός έχει τουλάχιστον τρία ψηφία.
3. X DIV 100 < > 0
γ. Βρίσκει την τιμή του ψηφίου των εκατοντάδων.
4. X MOD 1000 DIV 100
δ. Ελέγχει αν ο αριθμός έχει το πολύ τρία ψηφία.
Στήλη Α
∆εδομέναΣτήλη Β
Τύπος ∆εδομένων
1. 0,42
α. Ακέραιος
2. “ΨΕΥ∆ΗΣ”
β. Πραγματικός
3. “Χ”
γ. Χαρακτήρας
4. -32,0
δ. Λογικός
5. ΑΛΗΘΗΣ
∆εδομένα
Τύπος μεταβλητής
1. όνομα πελάτη
α. Λογικές
2. αριθμός παιδιών
β. Χαρακτήρες
3. ΨΕΥ∆ΗΣ
γ. Πραγματικές
4. “Χ”
δ. Ακέραιες
5. 0.34
Εντολή εκχώρησης
Τύπος μεταβλητής Χ
Περιεχόμενο μεταβλητής Χ
Χ ← ‘ΑΛΗΘΗΣ’
Χ ← 11.0 – 13.0
Χ ← 7 > 4
Χ ← ΨΕΥ∆ΗΣ
Χ ← 4
ΕΝΟΤΗΤΑ – ΔΟΜΗ ΕΠΙΛΟΓΗΣ
ΥΠΟΕΝΟΤΗΤΑ: ΤΕΛΕΣΤΕΣ (Αριθμητικοί – Συγκριτικοί – Λογικοί) Θέμα 1ο Ημερήσια Επαναληπτικές Β. Να γράψετε στο τετράδιό σας τους αριθμούς της Στήλης Α και δίπλα τα γράμματα της Στήλης Β που αντιστοιχούν σωστά. (Να σημειωθεί ότι σε κάποιους τελεστές της Στήλης Α αντιστοιχούν περισσότερα από ένα σύμβολα της Στήλης Β). Τελεστές Σύμβολα
ΥΠΟΕΝΟΤΗΤΑ: ΑΠΛΗ ΕΠΙΛΟΓΗ Θέμα Α Α4 β. Να μεταφέρετε στο τετράδιό σας το παρακάτω τμήμα αλγορίθμου, έχοντας συμπληρώσει τις γραμμές εντολών 2 και 3 ώστε να εμφανίζει πάντα το μεγαλύτερο από τους δυο αριθμούς που διαβάστηκαν: 1. Διάβασε Α, Β 2. Αν Α … Β τότε 3. …………….. 4. Τέλος_αν 5. Εμφάνισε Α
ΥΠΟΕΝΟΤΗΤΑ: ΣΥΝΘΕΤΗ ΕΠΙΛΟΓΗ Θέμα Α Α4. ∆ίνεται το παρακάτω τμήμα αλγορίθμου: Αν Χ > 1 τότε Κ ← Αληθής Αλλιώς Κ ← Ψευδής Τέλος_αν Να γράψετε στο τετράδιό σας συμπληρωμένη την παρακάτω εντολή εκχώρησης, ώστε να έχει το ίδιο αποτέλεσμα με το παραπάνω τμήμα αλγορίθμου. Κ ← …..
ΥΠΟΕΝΟΤΗΤΑ: ΠΟΛΛΑΠΛΗ ΕΠΙΛΟΓΗ Θέμα Α Ημερήσια Α5. β. Δίνεται το παρακάτω τμήμα αλγορίθμου: Διάβασε Χ Αν Χ > 15 τότε Γράψε “1” αλλιώς_αν Χ > 23 τότε Γράψε “2” αλλιώς Γράψε “3” Τέλος_αν Μια εντολή εξόδου στο παραπάνω τμήμα δεν πρόκειται να εκτελεστεί, όποια και αν είναι η τιμή του Χ. 1. Ποια είναι η εντολή αυτή; (μονάδες 2) 2. Να γράψετε τις εντολές εξόδου που είναι δυνατόν να εκτελεστούν και, δίπλα σε καθεμία από αυτές, το διάστημα τιμών του Χ για το οποίο θα εκτελεστεί η εντολή. (μονάδες 4)
ΠΑΡΑΣΚΕΥΗ 11 ΣΕΠΤΕΜΒΡΙΟΥ 2020 Β2. Το παρακάτω τμήμα προγράμματος σε ΓΛΩΣΣΑ υλοποιεί το διάβασμα και την εισαγωγή στοιχείου σε ουρά με χρήση μονοδιάστατου πίνακα Α, 10 θέσεων. Ο κώδικας περιέχει κενά αριθμημένα από το 1 μέχρι το 10. Για καθένα από τα κενά, να γράψετε στο τετράδιό σας τον αριθμό του και δίπλα ό,τι χρειάζεται να συμπληρωθεί ώστε το τμήμα προγράμματος να επιτελεί την ζητούμενη λειτουργία. ΔΙΑΒΑΣΕ …(1)… ΑΝ …(2)… = …(3)… ΤΟΤΕ ΓΡΑΨΕ ‘ΓΕΜΑΤΗ ΟΥΡΑ’ ΑΛΛΙΩΣ_ΑΝ (…(4)… ΚΑΙ …(5)…) ΤΟΤΕ front ← …(6)… rear ← …(7)… A[rear] ← …(8)… AΛΛΙΩΣ rear ←…(9)… A[…(10)…] ← στοιχείο TEΛΟΣ_ΑΝ Μονάδες 10
ΥΠΟΕΝΟΤΗΤΑ: ΕΜΦΩΛΕΥΜΕΝΗ ΕΠΙΛΟΓΗ
ΥΠΟΕΝΟΤΗΤΑ: ΣΥΝΘΕΤΕΣ ΛΟΓΙΚΕΣ ΕΚΦΡΑΣΕΙΣ Θέμα Α Α3. Ο παρακάτω αλγόριθμος προτάθηκε για να ελέγχει και να εκτυπώνει, αν ένας μη αρνητικός ακέραιος αριθμός είναι μονοψήφιος, διψήφιος ή τριψήφιος. Αλγόριθμος Ψηφία Διάβασε x Αν x >= 0 και x < 10 τότε εμφάνισε “Μονοψήφιος” Αλλιώς_αν x < 100 τότε εμφάνισε “Διψήφιος “ Αλλιώς_αν x < 1000 τότε εμφάνισε “Τριψήφιος “ Αλλιώς εμφάνισε “Λάθος Δεδομένα “ Τέλος_αν Τέλος Ψηφία Ο παραπάνω αλγόριθμος έχει λάθος. ∆ώστε ένα παράδειγμα εισόδου που θα καταδείξει το λάθος που υπάρχει στον αλγόριθμο. Στη συνέχεια να γράψετε τον αλγόριθμο στο τετράδιο σας κάνοντας τις απαραίτητες διορθώσεις, έτσι ώστε να λειτουργεί σωστά.
ΥΠΟΕΝΟΤΗΤΑ: ΑΠΟΤΙΜΗΣΗ ΛΟΓΙΚΩΝ ΕΚΦΡΑΣΕΩΝ Θέμα 1ο Α. Να μεταφέρετε στο τετράδιό σας και να συμπληρώσετε τον παρακάτω πίνακα αλήθειας δύο προτάσεων Α, Β και των τριών λογικών πράξεων. Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Αληθής Αληθής
Θέμα 1ο Γ. 1. Αν Χ = 3, Ψ = -2 και Ζ = -1, να χαρακτηρίσετε στο τετράδιό σας τις παρακάτω προτάσεις χρησιμοποιώντας μία από τις λέξεις ΑΛΗΘΗΣ ή ΨΕΥ∆ΗΣ. Πρόταση Α. (Χ + Ψ) * Ζ > 0 Πρόταση Β. (Χ – Ψ) * Ζ = -5 Πρόταση Γ. Χ * Ζ>0 Πρόταση Δ. Ζ > Ψ
2. Να συμπληρώσετε στο τετράδιό σας τον παρακάτω πίνακα με τις τιμές των λογικών πράξεων μεταξύ των προτάσεων Α, Β, Γ, ∆. Ισχύει ότι Α = Ψευδής Β = Αληθής, Γ = Ψευδής, Δ = Αληθής Λογική Πράξη Αποτέλεσμα Α ή Β Α ή Γ Γ και ∆ Α και ∆ όχι Α όχι Β
Θέμα Α Α1. Αν η μεταβλητή Α έχει την τιμή 7, η μεταβλητή Β έχει την τιμή 5 και η μεταβλητή Γ την τιμή 2, να υπολογιστούν οι λογικές τιμές των παρακάτω εκφράσεων: 1. Α > Β 2. ΟΧΙ (Β > Α) 3. Α < Γ 4. Γ <= Β 5. (Α > Β) ΚΑΙ (Α < Γ) 6. ((Α < Β) ΚΑΙ (Α < Γ)) Ή (Γ <= Β) 7. (Α < Β) ΚΑΙ ((Α < Γ) Ή (Γ <= Β)) Να γράψετε στο τετράδιό σας τους αριθμούς 1 έως 7 και δίπλα σε κάθε αριθμό την αντίστοιχη τιμή.
Θέμα 1ο Εσπερινά Επαναληπτικές ∆. ∆ίνεται το παρακάτω τμήμα αλγορίθμου: Ζ ← ΨΕΥ∆ΗΣ Χ ← ΑΛΗΘΗΣ Ψ ← ΨΕΥ∆ΗΣ Α ← Χ ΚΑΙ (Ψ Ή Ζ) Β ← (ΟΧΙ Α) ΚΑΙ (ΟΧΙ Ζ) Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Α και Β μετά την εκτέλεση του παραπάνω τμήματος αλγορίθμου.
Θέμα 1ο Δ2. ∆ίνονται οι τιμές των μεταβλητών Α=3, Β=1, Γ=15 και η παρακάτω έκφραση: (ΟΧΙ (Α + Β * 3 > 10)) ΚΑΙ (Γ MOD (A – B) = 1) Nα υπολογίσετε την τιμή της έκφρασης αναλυτικά ως εξής: α. Να αντικαταστήσετε τις μεταβλητές με τις τιμές τους.
β. Να εκτελέσετε τις αριθμητικές πράξεις. γ. Να αντικαταστήσετε τις συγκρίσεις με την τιμή ΑΛΗΘΗΣ, αν η σύγκριση είναι αληθής, ή την τιμή ΨΕΥ∆ΗΣ, αν είναι ψευδής. δ. Να εκτελέσετε τις λογικές πράξεις, ώστε να υπολογίσετε την τελική τιμή της έκφρασης.
Θέμα 1ο Ε. Αν α = 5, β = 7 και γ = 10, να χαρακτηρίσετε στο τετράδιό σας τις παρακάτω προτάσεις χρησιμοποιώντας μία από τις λέξεις ΑΛΗΘΗΣ ή ΨΕΥ∆ΗΣ. Πρόταση Α. (όχι ( α + 2 ≥ β )) ή β + 3 = γ Πρόταση Β. α + 2 * β < 20 και 2 * α = γ
Θέμα 1ο Γ. ∆ίδονται οι τιμές των μεταβλητών Α = 5, Β = 7 και Γ = –3. Να χαρακτηρίσετε στο τετράδιό σας κάθε έκφραση που ακολουθεί με το γράμμα Α, αν είναι αληθής, ή με το γράμμα Ψ, αν είναι ψευδής. 1. ΟΧΙ (Α + Β < 10) 2. (Α >= Β) Η (Γ < Β) 3. ((Α > Β) ΚΑΙ (Γ < Α)) Η (Γ > 5) 4. (ΟΧΙ (Α < > Β) ) ΚΑΙ (Β + Γ < > 2 * Α)
Θέμα 1ο Δ. Να μεταφέρετε στο τετράδιό σας συμπληρωμένο τον παρακάτω πίνακα αληθείας. Α Β (ΟΧΙ Α) ΚΑΙ (ΟΧΙ Β) ((ΟΧΙ Α) ΚΑΙ Β) Ή (Α ΚΑΙ (ΟΧΙ Β)) Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Αληθής Αληθής
ΘΕΜΑ Α Α4. Να μεταφέρετε στο τετράδιό σας με συμπληρωμένα τα κενά τον παρακάτω πίνακα αληθείας: Λογικές Μεταβλητές (ΟΧΙ Α) ΚΑΙ (ΟΧΙ (Β Ή Α)) Αληθής Ψευδής Ψευδής Αληθής
ΘΕΜΑ Α Α3. Δίνονται οι τιμές των μεταβλητών Χ = 8 και Ψ = 4 και η παρακάτω έκφραση: ( ΟΧΙ ( 9 mod 5 = 20 – 4 * 2^2 ) ) ́H ( X > Ψ ΚΑΙ “X” > “Ψ” ) Να υπολογίσετε την τιμή της έκφρασης αναλυτικά, ως εξής: α. Να αντικαταστήσετε τις μεταβλητές με τις τιμές τους. (μονάδα 1) β. Να εκτελέσετε τις αριθμητικές πράξεις. (μονάδα 1) γ. Να αντικαταστήσετε τις συγκρίσεις με την τιμή ΑΛΗΘΗΣ, αν η σύγκριση είναι αληθής, ή με την τιμή ΨΕΥΔΗΣ, αν η σύγκριση είναι ψευδής. (μονάδα 1) δ. Να εκτελέσετε τις λογικές πράξεις, ώστε να υπολογίσετε την τελική τιμή της έκφρασης. (μονάδες 2)
ΘΕΜΑ Α Α3. Δίνεται η εντολή εκχώρησης: Ε ← ( ( Α mod 5 > 2 ) ΚΑΙ ( C < > “Αληθής” ) ) Ή ( ( D = ψευδής ) ΚΑΙ ( Β > Α / 3 ) ) Θεωρώντας ότι οι αριθμητικές μεταβλητές που περιέχονται σε αυτήν παίρνουν θετικές τιμές, να γράψετε στο τετράδιό σας το όνομα κάθε μεταβλητής της εντολής και, δίπλα, τον τύπο που πρέπει να έχει, ώστε η εντολή να είναι συντακτικά σωστή.
Στήλη Α
Στήλη Β
1. αριθμητικός τελεστής
α. >
2. λογικός τελεστής
β. MOD
3. συγκριτικός τελεστής
γ. *
δ. όχι
Στην περίπτωση που δοθεί αριθμός αρνητικός ή με περισσότερα από 3 ψηφία ο αλγόριθμος πρέπει να εμφανίζει το μήνυμα «Λάθος ∆εδομένα».
Πρόταση Α
Πρόταση Β
Α ή Β (∆ιάζευξη)
Α και Β (Σύζευξη)
όχι Α (Άρνηση)
Λογικές εκφράσεις
Α
Β
((ΟΧΙ Α) Ή Β) ΚΑΙ Β
Αληθής
Ψευδής
ΕΝΟΤΗΤΑ – ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Α
(ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ & ΔΟΜΗ ΕΠΙΛΟΓΗΣ – ΑΠΛΗ ΣΥΝΘΕΤΗ )
ΥΠΟΕΝΟΤΗΤΕΣ: ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ Αρχή_επανάληψης … Μέχρις_ότου ΕΝΤΟΛΕΣ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Αν … τότε …Τέλος_αν ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ Αν … τότε … αλλιώς …Τέλος_αν Θέμα 1ο Β2. ∆ίνεται η παρακάτω δομή επανάληψης: Α ← 10 Β ← 20 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Β ← Β + Α ΓΡΑΨΕ Α, Β ΜΕΧΡΙΣ_ΟΤΟΥ Β > 50 α. «Οι εντολές που περιέχονται στη δομή επανάληψης εκτελούνται τρεις (3) φορές». Να γράψετε στο τετράδιό σας αν η παραπάνω πρόταση είναι σωστή ή λανθασμένη.
Θέμα Β ∆ίνεται τo παρακάτω τμήμα αλγορίθμου, στο οποίο έχουν αριθμηθεί οι γραμμές: 2. 3. 4. 5. 6. 7. j ← 1 i ← 2 Αρχή_επανάληψης i ← i + j j ← i – j Εμφάνισε i Μέχρις_ότου i ≥ 5 Επίσης δίνεται το ακόλουθο υπόδειγμα πίνακα τιμών: αριθμός γραμμής συνθήκη έξοδος Στη στήλη με τίτλο «αριθμός γραμμής» καταγράφεται ο αριθμός γραμμής της εντολής που εκτελείται. Στη στήλη με τίτλο «συνθήκη» καταγράφεται η λογική τιμή ΑΛΗΘΗΣ ή ΨΕΥ∆ΗΣ, εφόσον η εντολή που εκτελείται περιλαμβάνει συνθήκη. Στη στήλη με τίτλο «έξοδος» καταγράφεται η τιμή εξόδου, εφόσον η εντολή που εκτελείται είναι εντολή εξόδου. Στη συνέχεια του πίνακα υπάρχει μια στήλη για κάθε μεταβλητή του αλγόριθμου. Να μεταφέρετε τον πίνακα στο τετράδιό σας και να τον συμπληρώσετε εκτελώντας τις εντολές του τμήματος αλγορίθμου ως εξής: Για κάθε εντολή που εκτελείται να γράψετε σε νέα γραμμή του πίνακα τον αριθμό της γραμμής της και το αποτέλεσμά της στην αντίστοιχη στήλη. Σημείωση: Η εντολή της γραμμής 3 δεν χρειάζεται να αποτυπωθεί στον πίνακα.
Θέμα Α Α2. ∆ίνεται το παρακάτω τμήμα αλγορίθμου με αριθμημένες τις εντολές του: (2) (3) (4) (5) (6) (7) (8) (9) (10) Σ ← 0 Κ ← 0 Αρχή_Επανάληψης ∆ιάβασε Χ Σ ← Σ + Χ Αν Χ > 0 τότε Κ ← Κ + 1 Τέλος_Αν Μέχρις_ότου Σ > 1000 Εμφάνισε Χ Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. 1. Η εντολή (4) θα εκτελεστεί τουλάχιστον μία φορά. 2. Η εντολή (1) θα εκτελεστεί ακριβώς μία φορά. 3. Στη μεταβλητή Κ καταχωρείται το πλήθος των θετικών αριθμών που δόθηκαν. 4. Η εντολή (7) εκτελείται πάντα λιγότερες φορές από την εντολή (4). 5. Η τιμή που θα εμφανίσει η εντολή (10) μπορεί να είναι αρνητικός αριθμός.
Θέμα Α Α5. Δίνεται το παρακάτω ημιτελές τμήμα αλγορίθμου: Α ← … Β ← … Αρχή_επανάληψης Β ← … Α ← … Μέχρις_ότου Α > 200 Εμφάνισε Β Να ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου με τα κενά συμπληρωμένα, έτσι ώστε να υπολογίζει και να εμφανίζει το άθροισμα των περιττών ακεραίων από το 100 έως το 200.
Β2. Ένας θετικός ακέραιος αριθμός μεγαλύτερος από το ένα (1) είναι πρώτος αν διαιρείται ακριβώς, μόνο με τον εαυτό του και τη μονάδα. Το παρακάτω τμήμα προγράμματος διαβάζει έναν θετικό ακέραιο αριθμό, ελέγχει αν είναι πρώτος ή όχι και εμφανίζει αντίστοιχο μήνυμα. Για τον σκοπό αυτό διαβάζει έναν θετικό ακέραιο n (n>1), τον διαιρεί διαδοχικά με τους αριθμούς 2, 3, 4, …, n-1 ελέγχοντας μετά από κάθε διαίρεση αν ο αριθμός n διαιρείται ακριβώς. Στην περίπτωση που διαιρείται ακριβώς, σταματάει η επαναληπτική διαδικασία και εμφανίζεται το μήνυμα ‘Δεν είναι πρώτος αριθμός’. Αν η επαναληπτική διαδικασία των διαιρέσεων τερματιστεί χωρίς ο αριθμός n να έχει διαιρεθεί ακριβώς από κανέναν αριθμό εμφανίζεται το μήνυμα ‘Είναι πρώτος αριθμός’. Να γράψετε στο τετράδιό σας τους αριθμούς των κενών και δίπλα ό,τι χρειάζεται να συμπληρωθεί, ώστε το τμήμα προγράμματος να λειτουργεί σωστά. ΔΙΑΒΑΣΕ n ΠΡΩΤΟΣ ← …(1)… i ← …(2)… AΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ …(3)… = 0 ΤΟΤΕ ΠΡΩΤΟΣ ← …(4)… TEΛΟΣ_ΑΝ i ← i + 1 MEXΡΙΣ_ΟΤΟΥ i > n – 1 Ή …(5)… AN ΠΡΩΤΟΣ = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ ‘Είναι πρώτος αριθμός’ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Δεν είναι πρώτος αριθμός’ ΤΕΛΟΣ_ΑΝ Μονάδες 10
ΥΠΟΕΝΟΤΗΤΕΣ: ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ Όσο … επανάλαβε Θέμα 1ο ∆. ∆ίνεται η παρακάτω αλληλουχία εντολών: Α ← x Όσο A <= y επανάλαβε A ← Α + z Τέλος_επανάληψης Να γράψετε στο τετράδιό σας πόσες φορές εκτελείται η εντολή A ← Α + z για κάθε έναν από τους παρακάτω συνδυασμούς των τιμών των μεταβλητών x, y και z: 1. x = 0, y = 8, z = 3 2. x = 7, y = 10, z = 5 3. x = –10, y = –5, z = –1 4. x = 10, y = 5, z = 2
Θέμα 1ο – Α.1 ∆ίνεται η παρακάτω ακολουθία εντολών: ΕΠΑΝ ← ΑΛΗΘΗΣ ΟΣΟ ΕΠΑΝ = ΑΛΗΘΗΣ ΕΠΑΝΑΛΑΒΕ ∆ΙΑΒΑΣΕ Α, Β Χ ← Β/Α ΓΡΑΨΕ Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α. Να αναφέρετε ονομαστικά ποια κριτήρια αλγορίθμου δεν ικανοποιούνται.
β. Να αιτιολογήσετε την απάντησή σας.
ΘΕΜΑ Β – ∆ίνεται τo παρακάτω τμήμα αλγορίθμου, στο οποίο έχουν αριθμηθεί οι γραμμές. Θεωρήστε ότι οι τιμές που εισάγονται είναι ακέραιες και μεγαλύτερες του μηδενός. z ← x z ← y z ← x mod y x ← y y ← z Στη στήλη με τίτλο «αριθμός γραμμής» καταγράφεται ο αριθμός γραμμής της εντολής που εκτελείται. Στη συνέχεια του πίνακα υπάρχει μια στήλη για κάθε μεταβλητή του αλγορίθμου. Να μεταφέρετε τον πίνακα στο τετράδιό σας και να τον συμπληρώσετε, εκτελώντας τις εντολές του τμήματος αλγορίθμου για x = 150 και y = 35 ως εξής: Για κάθε εντολή που εκτελείται να γράψετε σε μία νέα γραμμή του πίνακα τον αριθμό της γραμμής της και το αποτέλεσμα της εκτέλεσης της εντολής. Σημείωση: Στον πίνακα τιμών έχει συμπληρωθεί η εκτέλεση της πρώτης εντολής του αλγορίθμου.
ΘΕΜΑ Α
Α4. Δίνονται τα παρακάτω τμήματα αλγορίθμων. Ι ← 0 Όσο Ι <= 9 επανάλαβε J ← I Όσο J <= 9 επανάλαβε Γράψε ‘Α’ J ← J + 1 Τέλος_επανάληψης Ι ← Ι + 1 Τέλος_επανάληψης Ι ← 0 Γράψε ‘Α’ Τέλος_επανάληψης Ι ← 0 Όσο Ι > 0 επανάλαβε Γράψε ‘Α’ Ι ← Ι + 1 Τέλος_επανάληψης Για καθένα από τα τμήματα αλγορίθμων, να γράψετε στο τετράδιό σας τον αριθμό του (1 έως 4) και, δίπλα, πόσες φορές θα εμφανιστεί το γράμμα Α κατά την εκτέλεσή του.
ΘΕΜΑ 2ο Να εκτελέσετε το παρακάτω τμήμα αλγορίθμου, για Κ = 24 και L = 40. Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Χ, Υ καθώς αυτές τυπώνονται με την εντολή Εμφάνισε Χ, Υ (τόσο μέσα στη δομή επανάληψης όσο και στο τέλος του αλγορίθμου). Χ ← Κ Y ← L Αν Χ < Υ τότε ΤΕΜΡ ← Χ Χ ← Υ Υ ← ΤΕΜΡ Τέλος_αν Όσο Υ<>0 επανάλαβε ΤΕΜΡ ← Υ Υ ← Χ ΜOD Y Χ ← TEMP Εμφάνισε Χ, Υ Τέλος_επανάληψης Υ ← (Κ * L) DIV X Εμφάνισε Χ, Υ Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας τον κατάλληλο πίνακα τιμών των μεταβλητών.
ΘΕΜΑ 2ο Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Ν, Μ και Β, όπως αυτές τυπώνονται σε κάθε επανάληψη, και την τιμή της μεταβλητής Χ που τυπώνεται μετά το τέλος της επανάληψης, κατά την εκτέλεση του παρακάτω αλγόριθμου. Αλγόριθμος Αριθμοί Α ← 1 Β ← 1 Ν ← 0 Μ ← 2 Όσο Β < 6 επανάλαβε Χ ← Α + Β Αν Χ MOD 2 = 0 τότε Ν ← Ν + 1 αλλιώς Μ ← Μ + 1 Τέλος_αν Α ← Β Β ← Χ Εμφάνισε Ν, Μ, Β Τέλος_επανάληψης Εμφάνισε Χ Τέλος Αριθμοί Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας τον κατάλληλο πίνακα τιμών των μεταβλητών.
Θέμα Β Ημερήσια Β1. ∆ίνεται το παρακάτω τμήμα αλγορίθμου: Κ ← 1 Χ ← –1 i ← 0 Όσο Χ < 7 επανάλαβε i ← i + 1 Κ ← Κ * Χ Εμφάνισε Κ, Χ Αν i mod 2 = 0 τότε X ← X + 1 Αλλιώς X ← X + 2 Τέλος_Αν Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανίσει το τμήμα αλγορίθμου κατά την εκτέλεσή του με τη σειρά που θα εμφανιστούν.
Θέμα Β Β2. Δίνεται το παρακάτω τμήμα αλγορίθμου: Να μεταφέρετε στο τετράδιό σας τον παρακάτω πίνακα τιμών και να συμπληρώσετε, για κάθε εντολή, την τιμή της αντίστοιχης μεταβλητής ή συνθήκης (έχει συμπληρωθεί ένα στοιχείο).
ΧΡΗΣΙΜΕΣ ΓΝΩΣΕΙΣ
ΥΠΟΕΝΟΤΗΤΕΣ: Η ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ Για .. από … μέχρι ΕΝΤΟΛΕΣ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Αν … τότε …Τέλος_αν ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ Αν … τότε … αλλιώς …Τέλος_αν Θέμα 1ο – ∆. ∆ίνεται η παρακάτω εντολή: Για i από τ1 μέχρι τ2 με_βήμα β εντολή1 Τέλος_επανάληψης Να γράψετε στο τετράδιό σας πόσες φορές εκτελείται η εντολή1 για κάθε έναν από τους παρακάτω συνδυασμούς των τιμών των μεταβλητών τ1, τ2 και β. 1. τ1 = 5, τ2 = 0, β = –2 2. τ1 = 5, τ2 = 1, β = 2 3. τ1 = 5, τ2 = 5 β = 1 4. τ1 = 5, τ2 = 6.5, β = 0.5
ΘΕΜΑ Α – Α4. Δίνονται το παρακάτω τμήμα αλγορίθμου. 4. Για Ι από 0 μέχρι 4 Γράψε ‘Α’ Για J από 0 μέχρι 6 Γράψε ‘Α’ Τέλος_επανάληψης Τέλος_επανάληψης Πόσες φορές θα εμφανιστεί το γράμμα Α κατά την εκτέλεσή του;
Θέμα 1ο – Α. 2. Ποιο κριτήριο δεν ικανοποιεί ο παρακάτω αλγόριθμος και γιατί; S ← 0 Για Ι από 2 μέχρι 10 με_βήμα 0 S ← S + I Τέλος_επανάληψης Εμφάνισε S
ΘΕΜΑ Α – Α5. Δίνεται το παρακάτω τμήμα αλγορίθμου: Για K από A μέχρι B με_βήμα Γ Εμφάνισε K Τέλος_επανάληψης Να γράψετε στο τετράδιό σας για καθεμία από τις παρακάτω περιπτώσεις τις τιμές των Α, Β, Γ, έτσι ώστε το αντίστοιχο τμήμα αλγορίθμου να εμφανίζει: 1. όλους τους περιττούς ακεραίους από το 100 μέχρι το 1000. 2. όλους τους ακεραίους από το -20 μέχρι και το 10 σε φθίνουσα σειρά. 3. όλα τα πολλαπλάσια του 3 από το 1 μέχρι το 80.
ΘΕΜΑ Α – Α4. ∆ίνεται το παρακάτω τμήμα αλγορίθμου: Για Χ από Α μέχρι Μ με_βήμα Β Εμφάνισε Χ Τέλος_επανάληψης Να γράψετε στο τετράδιό σας για καθεμία από τις παρακάτω περιπτώσεις τις τιμές των Α, Μ, Β, έτσι ώστε το αντίστοιχο τμήμα αλγορίθμου να εμφανίζει όλους: 1. τους ακεραίους από 1 μέχρι και 100 2. τους ακεραίους από 10 μέχρι και 200 σε φθίνουσα σειρά 3. τους ακεραίους από -1 μέχρι και -200 σε αύξουσα σειρά 4. τους άρτιους ακεραίους από 100 μέχρι και 200 5. τους θετικούς ακεραίους που είναι μικρότεροι του 8128 και πολλαπλάσια του 13.
Θέμα Α Α3. ∆ίνεται το παρακάτω τμήμα αλγορίθμου: ∆ ← Αληθής Για α από 1 μέχρι Ν ∆ ← ΟΧΙ ∆ Τέλος_επανάληψης Εμφάνισε ∆ Να το εκτελέσετε για καθεμία από τις παρακάτω περιπτώσεις: και να γράψετε στο τετράδιό σας τον αριθμό καθεμίας από τις παραπάνω περιπτώσεις 1-5 και δίπλα τη λογική τιμή που θα εμφανιστεί μετά την εκτέλεση της αντίστοιχης περίπτωσης.
ΘΕΜΑ Α – Α4. Να γράψετε συμπληρωμένο κατάλληλα στο τετράδιό σας το παρακάτω τμήμα αλγορίθμου, ώστε να εμφανίζει διαδοχικά τις τιμές: 2, 4, 8, 10, 14. Για Ι από ……… μέχρι ……… με_βήμα ……… Αν ……… και ……… τότε Εμφάνισε Ι Τέλος_αν Τέλος_επανάληψης
Θέμα 2ο – ∆ίνεται το παρακάτω τμήμα αλγορίθμου: ∆ιάβασε Μ Για Χ από 3 μέχρι Μ – 1 με_βήμα 2 Α ← 2 * Χ + 4 Β ← 4 * Χ – 3 Αν (Β – Α < 0) ή (Α > 15) τότε Α ← Α + 5 Β ← Β * 2 Τέλος_αν Εμφάνισε Α, Β Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Α και Β που εμφανίζονται κατά την εκτέλεση του παραπάνω τμήματος αλγορίθμου, όταν για Μ δώσουμε την τιμή 9. Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας τον κατάλληλο πίνακα τιμών των μεταβλητών.
Θέμα Α – Α3. ∆ίνεται το παρακάτω τμήμα αλγορίθμου: Α ← 0 Β ← 0 Γ ← 0 ∆ ← 0 Για Ε από 1 μέχρι 496 ∆ιάβασε Ζ Αν Ε = 1 Τότε Η ← Ζ Α ← Α + Ζ Αν Ζ ≥ 18 Τότε Β ← Β + Ζ Γ ← Γ + 1 Τέλος_Αν Αν Ζ > 0 Τότε ∆ ← ∆ + 1 Αν Ζ < Η Τότε Η ← Ζ Τέλος_Επανάληψης Θ ← Α / 496 Αν Γ ≠ 0 Τότε Ι ← Β / Γ Κ ← 496 – Γ Το παραπάνω τμήμα αλγορίθμου υπολογίζει στις μεταβλητές Η, Θ, Ι, Κ και ∆ τις παρακάτω πληροφορίες: 1. Μέσος όρος όλων των τιμών εισόδου 2. Πλήθος των θετικών τιμών εισόδου 3. Μικρότερη τιμή εισόδου 4. Μέσος όρος των τιμών εισόδου από 18 και πάνω 5. Πλήθος των τιμών εισόδου κάτω από 18. Να γράψετε στο τετράδιό σας τους αριθμούς των πληροφοριών 1 έως 5 και δίπλα το όνομα της μεταβλητής που αντιστοιχεί σε κάθε πληροφορία.
Θέμα Β – Β1. Ο αριθμός π εκφράζει το πηλίκο της περιμέτρου ενός κύκλου προς τη διάμετρό του. Η τιμή του μπορεί να υπολογιστεί, κατά προσέγγιση, από την παρακάτω παράσταση: \( π = 4 \cdot \left ( \cfrac {1} {1} – \cfrac {1} {3} + \cfrac {1} {5} – \cfrac {1} {7} + … \right ) \) Ο υπολογισμός της τιμής της παράστασης, για 100 όρους του αθροίσματος, γίνεται από το παρακάτω τμήμα αλγορίθμου που περιλαμβάνει 5 κενά. παρονομαστής ← …. (1) Σ ← 0 πρόσημο ← 1 Για ι από 1 μέχρι 100 όρος ← 1/παρονομαστής όρος ← … (2) * πρόσημο … (3) ← Σ + όρος πρόσημο ← πρόσημο * … (4) παρονομαστής ← παρονομαστής + 2 Τέλος_επανάληψης π ← … (5) * Σ Να γράψετε στο τετράδιό σας τους αριθμούς 1 έως 5, που αντιστοιχούν στα κενά του αλγορίθμου, και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε ο αλγόριθμος να υπολογίζει την τιμή του π όπως περιγράφηκε.
ΥΠΟΕΝΟΤΗΤΑ: ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ & ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΑΠΛΗΣ ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ Θέμα 2ο – Ημερήσια 1. ∆ίνεται ο παρακάτω αλγόριθμος σε μορφή διαγράμματος ροής: β. Να εκτελέσετε τον αλγόριθμο για κάθε μία από τις παρακάτω τιμές της μεταβλητής Χ. Να γράψετε στο τετράδιό σας την τιμή της μεταβλητής Υ, όπως θα εμφανισθεί σε κάθε περίπτωση. i. Χ = 9 ii. Χ = 10 iii. Χ = 40
Θέμα Β – ∆ίνεται το ακόλουθο διάγραμμα ροής: 2. Να γράψετε τον πίνακα τιμών των μεταβλητών Α, Β και S, αν ως αρχικές τιμές δοθούν Α = 15 και Β = 20.
1.
i
j
…
…
…
…
…
(1)
ΕΝΤΟΛΕΣ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Αν … τότε …Τέλος_αν
ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ Αν … τότε … αλλιώς …Τέλος_αν
1.
Διάβασε x, y
2.
ΑΝ x<y τότε
3.
4.
αλλιώς
5.
6.
Τέλος_αν
7.
Όσο z <> 0 επανάλαβε
8.
9.
10.
11.
Τέλος_επανάληψης
Β2. ∆ίνεται το ακόλουθο υπόδειγμα πίνακα τιμών:
αριθμός γραμμής
x
y
z
1
150
35
…
…
…
…
…
…
…
…
…
…
…
…
1.
2.
Όσο Ι < 10 επανάλαβε
3.
1.
x ← 15
2.
κ ← 1
3.
Όσο x < 18 επανάλαβε
4.
x ← x + κ
5.
Αν x mod 3 = 0 τότε
6.
κ ← κ + 2
Αλλιώς
7.
κ ← κ + 1
Τέλος Αν
Τέλος_Επανάληψης
Αριθμός
Εντολήςx
κ
Συνθήκη
x<18Συνθήκη
x mod 3 = 0
1
15
2
3
1) Ν=0
2) Ν=1
3) Ν=4
4) Ν=2011
5) Ν=8128
ΕΝΟΤΗΤΑ – ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Β
(ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ – ΑΠΛΗ & ΕΜΦΩΛΕΥΜΕΝΗ)
(ΔΟΜΗ ΕΠΙΛΟΓΗΣ – ΠΟΛΛΑΠΛΗ & ΕΜΦΩΛΕΥΜΕΝΗ)
ΥΠΟΕΝΟΤΗΤΕΣ: ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ & ΕΝΤΟΛΕΣ ΠΟΛΛΑΠΛΗΣ & ΕΜΦΩΛΕΥΜΕΝΗΣ ΕΠΙΛΟΓΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΘΕΜΑΤΑ (ΑΠΛΑ) ΘΕΜΑ Α – Ημερήσια Επαναληπτικές ΣΤ. ∆ίνεται το παρακάτω τμήμα αλγορίθμου: ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘∆ΩΣΕ ΘΕΤΙΚΟ ΑΡΙΘΜΟ’ ∆ΙΑΒΑΣΕ …….. ΜΕΧΡΙΣ_ΟΤΟΥ Χ ……. 0 ΓΙΑ i ΑΠΟ 0 ΜΕΧΡΙ …….. ΜΕ_ΒΗΜΑ …….. Α ← i ^…….. ΓΡΑΨΕ …….. ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Να γράψετε στο τετράδιό σας τον παραπάνω αλγόριθμο κατάλληλα συμπληρωμένο, έτσι ώστε να υπολογίζει και να εμφανίζει τα τετράγωνα των πολλαπλασίων του 5 από το 0 μέχρι τον αριθμό Χ που διαβάστηκε.
ΥΠΟΕΝΟΤΗΤΕΣ: ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ & ΕΝΤΟΛΕΣ ΠΟΛΛΑΠΛΗΣ & ΕΜΦΩΛΕΥΜΕΝΗΣ ΕΠΙΛΟΓΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΘΕΜΑΤΑ (ΣΥΝΘΕΤΑ) Θέμα Β ∆ίνεται το παρακάτω τμήμα αλγορίθμου. Χ ← 1 Όσο Χ < 5 επανάλαβε Α ← Χ + 2 Β ← 3 * Α – 4 C ← Β-Α+4 Αν Α > Β τότε Αν Α > C τότε MAX ← A αλλιώς MAX ← C Τέλος αν αλλιώς Αν Β > C τότε MAX ← Β αλλιώς MAX ← C Τέλος αν Τέλος αν Εμφάνισε Χ, Α, Β, C, MAX Χ ← Χ + 2 Τέλος επανάληψης Ποιες είναι οι τιμές των μεταβλητών Χ, Α, Β, C, MAX που θα εμφανιστούν κατά την εκτέλεση του παραπάνω τμήματος αλγορίθμου; Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας τον κατάλληλο πίνακα τιμών των μεταβλητών.
Θέμα Β – ∆ίνεται ο παρακάτω αλγόριθμος:
Αλγόριθμος Αριθμοί_ ΜΕΡΣΕΝ Διάβασε Α Β ← 4 C ← 2 Aρχή_επανάληψης Β ← (Β^2) – 2 Εμφάνισε Β C ← C + 1 Μέχρις_ότου C > (A – 1) D ← (2^A) – 1 E ← B mod D Εμφάνισε D Αν E = 0 τότε F ← (2^(C – 1)) * D Εμφάνισε “Τέλειος αριθμός:”, F G ← 0 Όσο F > 0 επανάλαβε G ← G+1 F ← F div 10 Τέλος_επανάληψης Εμφάνισε G Τέλος_αν Τέλος Αριθμοί_ΜΕΡΣΕΝ Να γράψετε στο τετράδιό σας τις τιμές που τυπώνει ο παραπάνω αλγόριθμος, αν του δώσουμε τιμές εισόδου: α. 3
β. 4
Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας τον πίνακα που ακολουθεί.
ΘΕΜΑ 2ο – ∆ίνεται ο παρακάτω αλγόριθμος : Αλγόριθμος Αριθμοί ∆ιάβασε Α Εκτύπωσε Α S←1 K←2 Αρχή_επανάληψης Αν Α MOD K = 0 τότε Β ← Α DIV K Αν Κ <> Β τότε S←S + K+B Εκτύπωσε Κ, Β αλλιώς S←S + K Εκτύπωσε Κ Τέλος_αν Τέλος_αν Κ←Κ+1 Μέχρις_ότου Κ > Ρίζα (Α) Αν Α = S τότε Εκτύπωσε S Τέλος_αν Τέλος Αριθμοί Η συνάρτηση Ρίζα (Α) επιστρέφει την τετραγωνική ρίζα του Α. Να γράψετε στο τετράδιό σας τις τιμές που τυπώνει ο παραπάνω αλγόριθμος, αν του δώσουμε τιμές εισόδου : α. 36 β. 28 Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας τον πίνακα που ακολουθεί.
ΥΠΟΕΝΟΤΗΤΕΣ: ΕΜΦΩΛΕΥΜΕΝΗ ΕΠΑΝΑΛΗΨΗ & ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ
ΘΕΜΑ 2ο – β. ∆ίνεται το παρακάτω τμήμα αλγόριθμου: α ← 5 β ← 3 Για Χ από 2 μέχρι 7 με_βήμα 4 Όσο α ≤ 10 επανάλαβε β ← β + α α ← α + 4 Τέλος_επανάληψης Εμφάνισε α, β α ← 4 Τέλος_επανάληψης Εμφάνισε α Να γράψετε στο τετράδιό σας τις τιμές που εμφανίζονται κατά την εκτέλεση του παραπάνω τμήματος αλγόριθμου. Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας τον πίνακα που ακολουθεί.
Απ:
ΘΕΜΑ 2ο – ∆ίνεται το παρακάτω πρόγραμμα σε γλώσσα: ΠΡΟΓΡΑΜΜΑ Α ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x, n, m, pow, z ΑΡΧΗ ∆ΙΑΒΑΣΕ x, n m ← n pow ← 1 z ← x ΟΣΟ m > 0 ΕΠΑΝΑΛΑΒΕ ΟΣΟ (m MOD 2) = 0 ΕΠΑΝΑΛΑΒΕ m ← m DIV 2 z ← z * z ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ m ← m – 1 ΓΡΑΨΕ pow pow ← pow * z ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ pow ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Α Να γράψετε στο τετράδιό σας τις τιμές της μεταβλητής pow που θα εμφανιστούν κατά την εκτέλεση του προγράμματος Α, αν ως τιμές εισόδου δοθούν οι αριθμοί: x = 2, n = 3. Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας κατάλληλα πίνακα τιμών των μεταβλητών.
ΘΕΜΑ 2ο – Ημερήσια ∆ίνεται o παρακάτω αλγόριθμος, στον οποίο έχουν αριθμηθεί οι εντολές εκχώρησης: Επίσης δίνεται υπόδειγμα πίνακα (πίνακας τιμών), με συμπληρωμένες τις αρχικές τιμές των μεταβλητών α,β (τιμές εισόδου), καθώς και της εντολής εκχώρησης με αριθμό 1. Α. Να μεταφέρετε στο τετράδιό σας τον πίνακα και να τον συμπληρώσετε, εκτελώντας τον αλγόριθμο με αρχικές τιμές α = 20, β = 50 (που ήδη φαίνονται στον πίνακα). Για κάθε εντολή εκχώρησης που εκτελείται να γράψετε σε νέα γραμμή του πίνακα: α. Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη). β. Τη νέα τιμή της μεταβλητής που επηρεάζεται από την εντολή (στην αντίστοιχη στήλη).
ΥΠΟΕΝΟΤΗΤΑ: ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ & ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΠΟΛΛΑΠΛΗΣ ΕΜΦΩΛΕΥΜΕΝΗΣ ΕΠΙΛΟΓΗΣ
A
B
C
D
E
F
G
C>A-1
E = 0
F>0
Έξοδος
3
4
2
Μ Ε Τ Α Β Λ Η Τ Ε Σ
Λ Ο Γ Ι Κ Ε Σ Ε Κ Φ Ρ Α Σ Ε Ι Σ
ΕΞΟΔΟΣ
Α
S
K
Β
Α mod K = 0
K <> Β
Κ > Ριζα(Α)
Α = S
ΜΕΤΑΒΛΗΤΕΣ
ΣΥΝΘΗΚΗ
ΕΞΟΔΟΣ
α
β
Χ
α <= 10
5
3
2
Αλγόριθμος Πολλαπλασιασμός
∆εδομένα //α, β//
Αν α > β τότε αντιμετάθεσε α, β
1.
γ ← 0
Όσο α > 0 επανάλαβε
2.
δ ← α mod 10
Όσο δ > 0 επανάλαβε
3.
δ ← δ − 1
4.
γ ← γ + β
Τέλος_επανάληψης
5.
α ← α div 10
6.
β ← β * 10
Τέλος_επανάληψης
Αποτελέσματα //γ//
Τέλος πολλαπλασιασμός
Αριθμός
Εντολήςα
β
γ
δ
20
50
1
0
…
…
…
…
…
ΕΝΟΤΗΤΑ – ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
ΕΝΟΤΗΤΑ: ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ – ΕΠΙΠΕΔΟ 5 (ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ)
ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ
ΥΠΟΕΝΟΤΗΤΑ: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ – ΣΥΝΑΡΤΗΣΕΙΣ Θέμα 2ο – ∆ίνεται το παρακάτω τμήμα προγράμματος και μια συνάρτηση: ∆ιάβασε Κ L ← 2 A ← 1 Όσο Α < 8 επανάλαβε Αν Κ MOD L = 0 τότε Χ ← Fun(A, L) αλλιώς Χ ← Α + L Τέλος_αν Εμφάνισε L, A, X A ← A + 2 L ← L + 1 Tέλος_επανάληψης …………… Συνάρτηση Fun(Β, ∆) : Ακέραια Μεταβλητές Ακέραιες: Β, ∆ Αρχή Fun ← (B + ∆) DIV 2 Tέλος_συνάρτησης. Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών L, A, X, όπως αυτές εκτυπώνονται σε κάθε επανάληψη, όταν για είσοδο δώσουμε την τιμή 10. Υπόδειξη: Να μεταφέρετε στο τετράδιό σας τον πίνακα και να τον συμπληρώσετε.
Θέμα 2ο – ∆ίνεται παρακάτω ένα πρόγραμμα με ένα υποπρόγραμμα: ΠΡΟΓΡΑΜΜΑ Υπολογισμοί ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α, β, γ ΑΡΧΗ ∆ΙΑΒΑΣΕ α, β γ ← α + Πράξη (α, β) ΓΡΑΨΕ γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΝΑΡΤΗΣΗ Πράξη (χ, ψ): ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: χ, ψ ΑΡΧΗ ΑΝ χ >= ψ ΤΟΤΕ Πράξη ← χ – ψ ΑΛΛΙΩΣ Πράξη ← χ + ψ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του αρχικού προγράμματος που δόθηκε, αν ως τιμές εισόδου δοθούν οι αριθμοί: i. α = 10 β = 5 ii. α = 5 β = 5 iii. α = 3 β = 5 Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας κατάλληλα πίνακα τιμών των μεταβλητών.
ΥΠΟΕΝΟΤΗΤΑ: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ – ΔΙΑΔΙΚΑΣΙΕΣ Θέμα 1ο – Γ. ∆ίνεται το παρακάτω πρόγραμμα και υποπρογράμματα: ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ∆ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ∆ιαδ1(Α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ∆ΙΑ∆ΙΚΑΣΙΑ ∆ιαδ1(Β, Α, Γ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ Α ← Α + 2 Β ← Β – 3 Γ ← Α + Β ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_∆ΙΑ∆ΙΚΑΣΙΑΣ Τι θα εμφανιστεί κατά την εκτέλεση του προγράμματος, αν ως τιμές εισόδου δοθούν οι αριθμοί 5, 7, 10; Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας κατάλληλα πίνακα τιμών των μεταβλητών.
Θέμα Β – Β2. ∆ίνεται τo παρακάτω πρόγραμμα και ένα υποπρόγραμμα: Μεταβλητές Ακέραιες: z, w Αρχή z ← 1 w ← 3 Όσο z <= 35 επανάλαβε Κάλεσε ∆ιαδ(z, w) Γράψε z Τέλος_επανάληψης Tέλος_Προγράμματος ∆ιαδικασία ∆ιαδ(w, z) Μεταβλητές Ακέραιες: z, w Αρχή w ← w + z z ← z + 2 Γράψε z Τέλος_∆ιαδικασίας Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος με τη σειρά που θα εμφανιστούν.
ΥΠΟΕΝΟΤΗΤΑ: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ – ΔΙΑΔΙΚΑΣΙΕΣ & ΣΥΝΑΡΤΗΣΕΙΣ Θέμα Β – ∆ίνεται το παρακάτω πρόγραμμα και υποπρογράμματα: ΠΡΟΓΡΑΜΜΑ Κλήση_Υποπρογραμμάτων ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β, χ ΑΡΧΗ α ← 1 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ α<= 4 ΤΟΤΕ ΚΑΛΕΣΕ ∆ιαδ1(α, β, χ) ΑΛΛΙΩΣ χ ← Συν1(α, β) ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ α, β, χ ΜΕΧΡΙΣ_ΟΤΟΥ χ>11 ΓΡΑΨΕ χ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ∆ΙΑ∆ΙΚΑΣΙΑ ∆ιαδ1 (λ, κ, μ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: κ, λ, μ ΑΡΧΗ κ ← κ + 1 λ ← λ + 3 μ ← κ + λ ΤΕΛΟΣ_∆ΙΑ∆ΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ Συν1(ε, ζ): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ε, ζ ΑΡΧΗ ζ ← ζ + 2 ε ← ε * 2 Συν1 ←ε + ζ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος. Υπόδειξη: Να δοθεί το αποτέλεσμα συμπληρώνοντας κατάλληλα πίνακα τιμών των μεταβλητών.
Κύριο Πρόγραμμα
Συνάρτηση Fun
K
L
Α
Χ
Α<8
Κ mod L = 0
Έξοδος
Β
Δ
Fun
Πρόγραμμα ΘέμαΒ
β ← 2
ΕΝΟΤΗΤΑ – ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
ΕΝΟΤΗΤΑ: ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ – ΕΠΙΠΕΔΟ 5 (ΠΙΝΑΚΕΣ ΜΟΝΟΔΙΑΣΤΑΤΟΙ)
ΥΠΟΕΝΟΤΗΤΑ: ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ – ΕΛΕΓΧΟΣ ΛΑΘΩΝ Θέμα 2ο – Α. ∆ίνεται το παρακάτω πρόγραμμα σε «ΓΛΩΣΣΑ» 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ΠΡΟΓΡΑΜΜΑ ΕΙΝΑΙ-ΠΡΩΤΟΣ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χ, i ΧΑΡΑΚΤΗΡΕΣ: ΜΗΝΥΜΑ ΑΡΧΗ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ∆ΙΑΒΑΣΕ Χ ΜΕΧΡΙΣ_ΟΤΟΥ Χ > 0 C ← 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Χ ΕΠΑΝΑΛΑΒΕ AN (Χ MOD i) = 0 TOTE C ← C + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΓΙΑ ΑΝ C = 2 TOTE MHNYMA ‘EINAI ΠΡΩΤΟΣ’ ΑΛΛΙΩΣ ΜΗΝΥΜΑ ‘∆ΕΝ ΕΙΝΑΙ ΠΡΩΤΟΣ’ ΤΕΛΟΣ ΓΡΑΨΕ ΜΗΝΥΜΑ ΤΕΛΟΣ_ΑΛΓΟΡΙΘΜΟΥ Να γράψετε στο τετράδιό σας τον αριθμό κάθε γραμμής του προγράμματος, στην οποία εντοπίζετε συντακτικό λάθος και να περιγράψετε το λάθος αυτό.
ΥΠΟΕΝΟΤΗΤΑ: ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ – ΑΠΛΑ ΘΕΜΑΤΑ Θέμα 2ο – Ημερήσια ∆ίνεται το παρακάτω τμήμα αλγορίθμου με αριθμημένες εντολές για εύκολη αναφορά σε αυτές. Κάθε εντολή περιέχει ένα ή δύο κενά (σημειωμένα με …), που το καθένα αντιστοιχεί σε μία σταθερά ή μία μεταβλητή ή έναν τελεστή. Επίσης δίνεται πίνακας όπου κάθε γραμμή αντιστοιχεί στη διπλανή εντολή του τμήματος αλγορίθμου και κάθε στήλη σε μία θέση μνήμης (μεταβλητή). Η κάθε γραμμή του πίνακα παρουσιάζει το αποτέλεσμα που έχει η εκτέλεση της αντίστοιχης εντολής στη μνήμη: συγκεκριμένα, δείχνει την τιμή της μεταβλητής την οποία επηρεάζει η εντολή. Γ ← Α αλλιώς Γ ← Δ Τέλος_αν Να γράψετε στο τετράδιό σας τον αριθμό της καθεμιάς εντολής και δίπλα να σημειώσετε τη σταθερά, τη μεταβλητή, ή τον τελεστή που πρέπει να αντικαταστήσει το κάθε κενό της εντολής ώστε να έχει το αποτέλεσμα που δίνεται στον πίνακα, ως εξής: Α. Για τις εντολές 1 και 2, να σημειώσετε σταθερές τιμές.
Β. Για τις εντολές 3, 7, 10 και 11, να σημειώσετε τελεστές, και για τις υπόλοιπες, να σημειώσετε μεταβλητές.
Θέμα Α – Α4. Δίνεται το παρακάτω τμήμα αλγορίθμου, με αριθμημένες τις γραμμές του: 2. 3. 4. 5. 6. Για i από 2 μέχρι 5 Αν Π[i] > max τότε max ← Π[i] Τέλος_αν Τέλος_επανάληψης α. Τι υπολογίζει αυτό το τμήμα αλγορίθμου; (μονάδες 2) β. Πόσες φορές τουλάχιστον θα εκτελεστεί η εντολή στη γραμμή 4; (μονάδες 2) γ. Πόσες φορές το πολύ θα εκτελεστεί η εντολή στη γραμμή 4; (μονάδες 2) δ. Να αιτιολογήσετε γιατί ο πίνακας Π δεν μπορεί να είναι πίνακας λογικών τιμών (μονάδες 4).
Θέμα Β – Β2. ∆ίνεται ο πίνακας Α τεσσάρων στοιχείων με τιμές: Α[1] = 3, Α[2] = 5, Α[3] = 8, Α[4] = 13 και το παρακάτω τμήμα αλγορίθμου: i ← 1 j ← 4 Όσο i <= 3 επανάλαβε πρόχειρο ← Α[j] A[j] ← Α[i] Α[i] ← πρόχειρο Γράψε Α[1], Α[2], Α[3] i ← i + 1 j ← j – 1 Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανισθούν κατά την εκτέλεσή του.
Θέμα Α – Α4. Έστω ο μονοδιάστατος πίνακας Α: Να σχεδιάσετε τον πίνακα Β[6] μετά την εκτέλεση των παρακάτω εντολών: 1. Β[Α[1] – Α[3]] ← Α[5] 2. Β[Α[7] – Α[5]] ← Α[2] + Α[7] 3. Β[Α[6]] ← Α[4] 4. Β[Α[1] + Α[4] – Α[8]] ← Α[3] + Α[8] 5. Β[Α[8] DIV 2] ← A[3] MOD 2 6. B[A[1] MOD A[4]] ← A[6] + 4
Θέμα Α – Α4. Έστω ο μονοδιάστατος πίνακας Α: Να σχεδιάσετε τον πίνακα Β[4] μετά την εκτέλεση των παρακάτω εντολών: 1. Β[Α[1] – Α[3]] ← Α[5] 2. Β[Α[4] – Α[5]] ← Α[8] 3. Β[Α[3]] ← Α[1] 4. Β[Α[3] + Α[4] – Α[5]] ← Β[1] + Β[2]
ΥΠΟΕΝΟΤΗΤΑ: ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ – ΣΥΝΘΕΤΑ ΘΕΜΑΤΑ Θέμα B – Β2. Δίνεται το παρακάτω τμήμα προγράμματος, το οποίο μετατρέπει έναν ακέραιο αριθμό από το δεκαδικό σύστημα στο δυαδικό. Π ← 1 ΟΣΟ Π < > 0 ΕΠΑΝΑΛΑΒΕ Ι ← Ι + 1 Π ← A DIV 2 Y ← A MOD 2 Δ[I] ← Y A ← Π ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ Κ ΑΠΟ Ι ΜΕΧΡΙ 1 ΜΕ ΒΗΜΑ -1 ΓΡΑΨΕ Δ[Κ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α. Για την τιμή Α = 11 : i) Να συμπληρώσετε τον παρακάτω πίνακα τιμών.
ii) Να γράψετε τον αριθμό Α και δίπλα του, διαδοχικά, τις τιμές που εμφανίζει το τμήμα του προγράμματος (οι αριθμοί αυτοί αποτελούν τη δυαδική αναπαράσταση του αριθμού Α).
β. Να επαναλάβετε τα ανωτέρω i) και ii) βήματα για την τιμή Α = 8.
Θέμα Α – Α5. ∆ίνεται το παρακάτω τμήμα αλγορίθμου που χρησιμοποιεί ένα μονοδιάστατο πίνακα Α[20]. Ο πίνακας περιέχει άρτιους και περιττούς θετικούς ακεραίους, σε τυχαίες θέσεις. Το τμήμα αλγορίθμου δημιουργεί ένα νέο πίνακα Β[20] στον οποίο υπάρχουν πρώτα οι άρτιοι και μετά ακολουθούν οι περιττοί. Να γράψετε στο τετράδιό σας τον αλγόριθμο συμπληρώνοντας τα κενά: Κ ← 0 Για i από ………… μέχρι ………… Αν Α[i] mod 2 = 0 τότε Κ ← ………… Β[…………] ← A[i] Τέλος_αν Τέλος_επανάληψης Για i από ………… μέχρι ………… Αν Α[i] mod 2 = ………… τότε ……………………………….. Β[…………] ← A[…………] Τέλος_αν Τέλος_επανάληψης
Θέμα 2ο – ∆ίνεται ο μονοδιάστατος πίνακας C με έξι στοιχεία που έχουν αντίστοιχα τις παρακάτω τιμές: 2, 5, 15, –1, 32, 14 και το παρακάτω τμήμα αλγορίθμου: 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, όπως αυτές εκτυπώνονται σε κάθε επανάληψη.
β. Την τιμή της μεταβλητής D που εκτυπώνεται.
Θέμα B Β2. ∆ίνονται οι πίνακες DATA[7], L[7], R[7], οι οποίοι περιέχουν δεδομένα, όπως φαίνονται στα παρακάτω σχήματα: DATA L R Χρησιμοποιώντας τους ανωτέρω πίνακες, να εκτελέσετε το παρακάτω τμήμα αλγορίθμου και να συμπληρώσετε τον πίνακα τιμών, αφού τον μεταφέρετε στο τετράδιό σας. ΓΡΑΜΜΑ ←’Σ’ Κ←1 Όσο DATA[K] < > ΓΡΑΜΜΑ επανάλαβε Εκτύπωσε DATA[K] Αν DATA[K] > ΓΡΑΜΜΑ τότε Κ ← L[K] αλλιώς Κ ← R[K] Τέλος_αν Τέλος_επανάληψης Εκτύπωσε DATA[K] Πίνακας τιμών
ΥΠΟΕΝΟΤΗΤΑ: ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ – ΑΝΑΖΗΤΗΣΗ Θέμα Α – Ημερήσια Επαναληπτικές ∆. ∆ίνεται η παρακάτω ακολουθία εντολών που στοχεύει στην υλοποίηση ενός αλγορίθμου αναζήτησης κάποιου στοιχείου Χ σε πίνακα Π με Ν στοιχεία: Αλγόριθμος Αναζήτηση ∆εδομένα //Π, Ν, Χ// flag ← ψευδής Ι ← 1 Όσο Ι ≤ Ν και flag = ψευδής επανάλαβε Αν Π[Ι] = Χ τότε flag ← αληθής Τέλος_αν Τέλος_επανάληψης Αποτελέσματα //flag// Τέλος Αναζήτηση 1. Ποιο αλγοριθμικό κριτήριο δεν ικανοποιεί η παραπάνω ακολουθία εντολών; (Μονάδες 2) Να αιτιολογήσετε την απάντησή σας. (Μονάδες 3)
2. Να διορθώσετε την παραπάνω ακολουθία εντολών έτσι ώστε να υλοποιεί σωστά την αναζήτηση.
Θέμα Α – Ημερήσια Νέο Σύστημα Α5. ∆ίνεται ο παρακάτω ημιτελής αλγόριθμος αναζήτησης ενός αριθμού key σε έναν αριθμητικό πίνακα table N στοιχείων, στον οποίο ο key μπορεί να εμφανίζεται περισσότερες από μία φορές. Αλγόριθμος Αναζήτηση ∆εδομένα // table, N, key // Βρέθηκε ← Ψευδής ∆ενΒρέθηκε ← …………………… i←1 Όσο ∆ενΒρέθηκε = Αληθής και i <= N επανάλαβε Αν …………………… τότε Εμφάνισε “Βρέθηκε στη θέση”, i Βρέθηκε ← …………………… Αλλιώς_αν …………………… τότε ∆ενΒρέθηκε ← …………………… Τέλος_αν i ← i + 1 Τέλος_επανάληψης Αποτελέσματα // Βρέθηκε // Τέλος Αναζήτηση Να ξαναγράψετε στο τετράδιό σας τον παραπάνω αλγόριθμο με τα κενά συμπληρωμένα, έτσι ώστε να εμφανίζονται όλες οι θέσεις στις οποίες βρίσκεται ο αριθμός key στον πίνακα table. Ο αλγόριθμος να σταματάει αμέσως μόλις διαπιστωθεί ότι ο αριθμός key δεν υπάρχει στον πίνακα. Εκμεταλλευτείτε το γεγονός ότι τα στοιχεία του πίνακα είναι ταξινομημένα σε αύξουσα σειρά.
Θέμα Α – Ημερήσια & Εσπερινά Νέο Σύστημα Α3. Δίδεται πίνακας ΠΙΝ[7] με τις παρακάτω τιμές: και το παρακάτω τμήμα αλγορίθμου: low ← 1 high ← 7 found ← ΨΕΥΔΗΣ Όσο low ≤ high ΚΑΙ found=ΨΕΥΔΗΣ επανάλαβε mid ← (low+high) DIV 2 Εμφάνισε ΠΙΝ[mid] Αν ΠΙΝ[mid] < Χ τότε low ← mid+1 Αλλιώς_αν ΠΙΝ[mid] > Χ τότε high ← mid-1 Αλλιώς found ← ΑΛΗΘΗΣ Τέλος_αν Τέλος_Επανάληψης Να γράψετε στο τετράδιό σας τις τιμές οι οποίες θα εμφανιστούν για: α) Χ = 22 (μονάδες 3) β) Χ = 7 (μονάδες 3)
Β1. Δίνεται ο παρακάτω αλγόριθμος ο οποίος ελέγχει αν το στοιχείο key βρίσκεται στον πίνακα table[n] τουλάχιστον τρείς (3) φορές και εμφανίζει τη θέση στην οποία βρίσκεται την τρίτη φορά. Αλγόριθμος Β1 Δεδομένα // n, table, key // done ← ψευδής position ← 0 i ← 1 count ← …(1)… Όσο i <= …(2)… και done = …(3)… επανάλαβε Αν table[ …(4)… ] = key τότε count ← …(5)… Τέλος_αν Αν count = …(6)… τότε done ← …(7)… …(8)… ← i αλλιώς i ←…(9)… Τέλος_αν Τέλος_επανάληψης Αν …(10)… τότε Εμφάνισε “Tο στοιχείο”, key, “υπάρχει τουλάχιστον 3 φορές.” Εμφάνισε “Για τρίτη φορά εμφανίζεται στη θέση “, position, “.” αλλιώς Εμφάνισε “Το στοιχείο”, key, “δεν υπάρχει τουλάχιστον 3 φορές.” Τέλος_αν Τέλος Β1 Να γράψετε στο τετράδιό σας τους αριθμούς των κενών και δίπλα ό,τι χρειάζεται να συμπληρωθεί έτσι ώστε ο αλγόριθμος να λειτουργεί σωστά. Μονάδες 10
Β2. Δίνεται το παρακάτω υποπρόγραμμα σε ΓΛΩΣΣΑ με όνομα Π_Μ το οποίο ελέγχοντας τα στοιχεία 200 ατόμων υπολογίζει το πλήθος των ανήλικων ατόμων που έχουν κάποιο συγκεκριμένο όνομα. (1) ………………… ΣΤΑΘΕΡΕΣ (2) ………………… ΜΕΤΑΒΗΤΕΣ (3) ΑΚΕΡΑΙΕΣ: ………………… (4) ΧΑΡΑΚΤΗΡΕΣ: ………………… ΑΡΧΗ Π ← 0 Για i από 1 μέχρι Ν Αν ΗΛ[i] < 18 ΚΑΙ Ο [i]= Χ τότε Π ← Π + 1 Τέλος_αν Τέλος_επανάληψης Π_Μ ← Π (5) ………………… Να γράψετε στο τετράδιό σας τους αριθμούς 1 έως 5 των γραμμών και δίπλα από κάθε αριθμό ό,τι χρειάζεται να συμπληρωθεί ώστε να είναι σωστή και πλήρης η σύνταξη του υποπρογράμματος. Μονάδες 10 (1) ΣΥΝΑΡΤΗΣΗ Π_Μ ΣΤΑΘΕΡΕΣ (2) Ν = 200 ΜΕΤΑΒΗΤΕΣ (3) ΑΚΕΡΑΙΕΣ: Π, i, ΗΛ[200] (4) ΧΑΡΑΚΤΗΡΕΣ: Ο[200] ΑΡΧΗ Π ← 0 Για i από 1 μέχρι Ν Αν ΗΛ[i] < 18 ΚΑΙ Ο [i]= Χ τότε Π ← Π + 1 Τέλος_αν Τέλος_επανάληψης Π_Μ ← Π (5) ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Θέμα Β – Β1. Δίνεται το παρακάτω τμήμα αλγορίθμου, στο οποίο έχουν αριθμηθεί οι εντολές εκχώρησης και εξόδου. Μ ← (ΑΡ + ΔΕ) DIV 2 AN A[M] = X TOTE B ← ΑΛΗΘΗΣ ΑΛΛΙΩΣ_ΑΝ Α[Μ] < Χ ΤΟΤΕ ΑΡ ← Μ + 1 ΑΛΛΙΩΣ ΔΕ ← Μ – 1 ΤΕΛΟΣ_ΑΝ ΠΛ ← ΠΛ + 1 ΕΜΦΑΝΙΣΕ Μ ΕΜΦΑΝΙΣΕ “ΔΕΝ ΒΡΕΘΗΚΕ”, ΠΛ Για την παρακολούθηση της εκτέλεσης του τμήματος αλγορίθμου με τιμή εισόδου Χ = 35 και με δεδομένο τον πίνακα A A Να μεταφέρετε τον πίνακα τιμών στο τετράδιό σας και να προσθέσετε τις γραμμές που χρειάζονται, συνεχίζοντας την εκτέλεση του τμήματος αλγορίθμου ως εξής: για κάθε αριθμημένη εντολή που εκτελείται, να γράψετε τον αριθμό της γραμμής της εντολής σε νέα γραμμή του πίνακα και το αποτέλεσμα της εκτέλεσης της εντολής στην αντίστοιχη στήλη.
ΥΠΟΕΝΟΤΗΤΑ: ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ – ΤΑΞΙΝΟΜΗΣΗ Θέμα 1ο – Εσπερινά Επαναληπτικές ∆ίνεται ο παρακάτω αλγόριθμος: ΓΙΑ i ΑΠΟ … ΜΕΧΡΙ n ΓΙΑ j ΑΠΟ … ΜΕΧΡΙ … ΜΕ_ΒΗΜΑ … ΑΝ Α[j] … Α[j-1] ΤΟΤΕ temp ← A[j] Α[…] ← […] Α[…] ← temp ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Να γράψετε στο τετράδιό σας τον παραπάνω αλγόριθμο κατάλληλα συμπληρωμένο, έτσι ώστε να υλοποιεί την ταξινόμηση της φυσαλίδας με αύξουσα σειρά.
Θέμα Α – Εσπερινά Νέο Σύστημα Α2. Να συμπληρώσετε τα κενά στον παρακάτω αλγόριθμο φυσαλίδα (ταξινόμηση ευθείας ανταλλαγής) σε έναν πίνακα table μεγέθους n. Αλγόριθμος Φυσαλίδα Δεδομένα //table,n// Για i από ..(1).. μέχρι ..(2).. Για j από ..(3).. μέχρι ..(4).. με βήμα ..(5).. Αν table [j – 1] > table [..(6)..] τότε αντιμετάθεσε table [j – 1], table [j] Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης Αποτελέσματα //table// Τέλος Φυσαλίδα
Θέμα Α – Ημερήσια Α5. ∆ίνεται πίνακας Π[20] με αριθμητικές τιμές. Στις μονές θέσεις βρίσκονται καταχωρισμένοι θετικοί αριθμοί και στις ζυγές αρνητικοί αριθμοί. Επίσης, δίνεται το παρακάτω τμήμα αλγορίθμου ταξινόμησης τιμών του πίνακα. Για x από 3 μέχρι 19 με_βήμα ____ Για y από ____ μέχρι ____ με_βήμα ____ Αν Π [ ____ ] < Π[ ____ ] Τότε Αντιμετάθεσε Π [ ____ ], Π[ ____ ] Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης Να μεταφέρετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου συμπληρώνοντας τα κενά με τις κατάλληλες σταθερές, μεταβλητές ή εκφράσεις, ώστε να ταξινομούνται σε αύξουσα σειρά μόνο οι θετικές τιμές του πίνακα.
Β1. Το παρακάτω τμήμα αλγορίθμου αποτελεί μια παραλλαγή της ταξινόμησης φυσαλίδας, η οποία όμως σταματάει τις επαναλήψεις μόλις διαπιστώσει ότι ο πίνακας έχει ταξινομηθεί ως εξής: Μετά την ολοκλήρωση του εσωτερικού βρόχου, ελέγχει εάν έγιναν αντιμεταθέσεις στοιχείων και αν δεν έγιναν τότε ο αλγόριθμος τερματίζεται. Το τμήμα αλγορίθμου που δίνεται περιέχει κενά που έχουν αριθμηθεί. ← …(1)… Αρχή_επανάληψης stop ← ΑΛΗΘΗΣ Για j από Ν μέχρι i με_βήμα -1 Αν table[j-1] > table[j] τότε Αντιμετάθεσε table[j-1],table[j] stop ← …(2)… Τέλος_αν Τέλος_επανάληψης …(3)… Μέχρις_ότου i …(4)… N ή stop= …(5)… Να γράψετε στο τετράδιό σας τους αριθμούς των κενών και δίπλα από κάθε αριθμό ό,τι πρέπει να συμπληρωθεί ώστε να επιτελείται η λειτουργία που περιγράφεται.
Μονάδες 10 Θέμα Α – Ημερήσια Α3. ∆ίνεται ο πίνακας Α[10], στον οποίο επιθυμούμε να αποθηκεύσουμε όλους τους ακεραίους αριθμούς από το 10 μέχρι το 1 με φθίνουσα σειρά. Στον πίνακα έχουν εισαχθεί ορισμένοι αριθμοί, οι οποίοι εμφανίζονται στο παρακάτω σχήμα: α. Να συμπληρώσετε τις επόμενες εντολές εκχώρησης, ώστε τα κενά κελιά του πίνακα να αποκτήσουν τις επιθυμητές τιμές. Α[3] ← 3 + Α[…] Α[9] ← Α[…] – 2 Α[8] ← Α[…] – 5 Α[4] ← 5 + Α[…] Α[5] ← (Α[…] + Α[7]) div 2
β. Να συμπληρώσετε το παρακάτω τμήμα αλγορίθμου, το οποίο αντιμεταθέτει τις τιμές των κελιών του πίνακα Α, έτσι ώστε η τελική διάταξη των αριθμών να είναι από 1 μέχρι 10. Για i από …. μέχρι 5 αντιμετάθεσε Α[i], Α[……] Τέλος_επανάληψης
Θέμα Β – Β2. Το παρακάτω ημιτελές τμήμα αλγορίθμου εισάγει αριθμητικές τιμές σε πίνακα 100 θέσεων ώστε: α. οι τιμές να είναι διαφορετικές μεταξύ τους, β. οι τιμές να εισάγονται σε αύξουσα σειρά. Εάν κάποια εισαγόμενη τιμή δεν ικανοποιεί τις συνθήκες (α) και (β), επανεισάγεται. Διάβασε Π[…] (1) Για i από … (2) μέχρι … (3) Αρχή_επανάληψης Διάβασε Π[i] Μέχρις_ότου Π[…] (4) … (5) Π[…] (6) Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (6), που αντιστοιχούν στα κενά του αλγορίθμου και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε το τμήμα αλγορίθμου να επιτελεί τη λειτουργία που περιγράφεται.
Θέμα Β – Ημερήσια Παλαιό Σύστημα Β2. Δίνεται ο πίνακας αριθμών Χ[50], ταξινομημένος κατά φθίνουσα σειρά, και ο πίνακας Υ[100], ταξινομημένος κατά αύξουσα σειρά. Να θεωρήσετε ότι οι τιμές κάθε πίνακα είναι διαφορετικές μεταξύ τους και ότι οι δύο πίνακες δεν έχουν κοινές τιμές. Το παρακάτω ημιτελές τμήμα αλγορίθμου δημιουργεί ένα νέο πίνακα Ζ[10], ταξινομημένο σε φθίνουσα σειρά, με τις δέκα μεγαλύτερες τιμές από τις εκατόν πενήντα (150) τιμές των δύο πινάκων. i ← …(1)… j ← …(2)… Αν Χ[ i ] …(3)… Υ[ j ] τότε Ζ[ k ] ← Χ[ i ] i ← i …(4)… 1 Αλλιώς Ζ[ k ] ← Υ[ j ] j ← j …(5)… 1 Τέλος_αν Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (5), που αντιστοιχούν στα κενά του αλγορίθμου, και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε το τμήμα αλγορίθμου να επιτελεί τη λειτουργία που περιγράφεται.
Θέμα Β – Ημερήσια Β1. Για την ταξινόμηση, σε φθίνουσα σειρά, των στοιχείων ενός μονοδιάστατου πίνακα αριθμών Π[30] μπορεί να ακολουθηθεί η παρακάτω διαδικασία: Αρχικά, ο πίνακας σαρώνεται από την αρχή μέχρι το τέλος του, προκειμένου να βρεθεί το μεγαλύτερο στοιχείο του. Αυτό το στοιχείο τοποθετείται στην αρχή του πίνακα, ανταλλάσσοντας θέσεις με το στοιχείο της πρώτης θέσης του πίνακα. Η σάρωση του πίνακα επαναλαμβάνεται, ξεκινώντας τώρα από το δεύτερο στοιχείο του πίνακα. Το μεγαλύτερο από τα στοιχεία που απέμειναν ανταλλάσσει θέσεις με το στοιχείο της δεύτερης θέσης του πίνακα. Η σάρωση επαναλαμβάνεται, ξεκινώντας από το τρίτο στοιχείο του πίνακα, μετά από το τέταρτο στοιχείο του πίνακα κ.ο.κ. Το παρακάτω ημιτελές τμήμα αλγορίθμου κωδικοποιεί την παραπάνω διαδικασία: Για k από 1 μέχρι 29 θ ← … (1) Για i από k μέχρι 30 Αν Π[i] … (2) Π[θ] τότε θ ← … (3) Τέλος_αν Τέλος_επανάληψης αντιμετάθεσε …(4) , … (5) Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (5), που αντιστοιχούν στα κενά του αλγορίθμου και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε να γίνεται σωστά η ταξινόμηση.
Β1. Δίνεται το παρακάτω τμήμα αλγόριθμου, που υλοποιεί την πρώτη φάση της συγχώνευσης των ταξινομημένων πινάκων Α[100] και Β[200] σε πίνακα Γ[300]. Ο πίνακας Α είναι ταξινομημένος σε αύξουσα σειρά και ο πίνακας Β σε φθίνουσα. Το τμήμα αυτό επεξεργάζεται τους πίνακες Α και Β τοποθετώντας τα στοιχεία τους στον πίνακα Γ σε αύξουσα σειρά. Η διαδικασία σταματά, όταν εξαντληθούν τα στοιχεία ενός από τους πίνακες Α και Β. Το τμήμα αλγόριθμου έχει 8 κενά αριθμημένα από 1-8. Σε κάθε κενό αντιστοιχεί ένας τελεστής ή μία μεταβλητή. Για κάθε ένα από τα κενά να γράψετε στο τετράδιό σας τον αριθμό του και δίπλα τον τελεστή ή την μεταβλητή που αντιστοιχεί. i ← 1 j ← 200 k ← 1 Όσο i …(1) 100 και j … (2) επανάλαβε Αν Α[i] … (3) B[j] τότε Γ[… (4)] <– A[i] i ← i … (5) 1 Αλλιώς Γ[… (6)] ← Β[… (7)] j ← j … (8) 1 Τέλος_αν k ← k + 1 Τέλος_επανάληψης
Εντολές
ΜΝΗΜΗ
Α
Β
Γ
Δ
Ε
Ζ
Χ[1]
Χ[2]
Χ[3]
1.
Α ← …
4
2.
Δ ← Α + …
7
3.
Αν Α … Δ τότε
7
4.
Β ← … -1
3
5.
Ε ← … – …
-1
6.
… ← Δ + …
6
7.
Γ ← Γ … Ε
8
8.
Ζ ← … -1
2
9.
Χ[…] ← Γ
8
10.
Χ[Ζ … 1] ← Δ
6
11.
Χ[Ζ … 1] ← Χ[Ζ] … 1
7
1.
max ← Π[1]
5
2
3
8
7
4
10
12
5
2
3
8
7
4
10
12
Ι ← 0
ΔΙΑΒΑΣΕ Α
Π
Υ
Α
Ι
…
…
…
…
1
2
3
4
5
6
7
Ψ
Β
Ο
Κ
Η
Φ
Σ
1
2
3
4
5
6
7
5
4
2
6
7
3
1
1
2
3
4
5
6
7
6
4
7
5
6
1
2
ΓΡΑΜΜΑ
Κ
ΟΘΟΝΗ (ΕΚΤΥΠΩΣΗ)
Σ
2
5
8
12
15
17
22
01
ΔΙΑΒΑΣΕ X
02
ΠΛ ← 0
03
ΑΡ ← 1
04
ΔΕ ←12
05
Β ← ΨΕΥΔΗΣ
ΟΣΟ Β = ΨΕΥΔΗΣ ΚΑΙ ΑΡ <= ΔΕ ΕΠΑΝΑΛΑΒΕ
06
07
08
09
10
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ Β = ΑΛΗΘΗΣ ΤΟΤΕ
11
ΑΛΛΙΩΣ
12
ΤΕΛΟΣ_ΑΝ
1
2
3
4
5
6
7
8
9
10
11
12
3
10
18
20
26
32
35
48
55
60
75
90
Αρ. Γρ.
Χ
ΠΛ
ΑΡ
ΔΕ
Β
Μ
Έξοδος
01
35
02
0
03
1
04
12
05
ΨΕΥΔΗΣ
….
………
Θέμα Β – Ημερήσια
1
2
3
4
5
6
7
8
9
10
10
9
5
4
1
Για k από 1 μέχρι 10
ΕΝΟΤΗΤΑ – ΔΙΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
ΕΝΟΤΗΤΑ: ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ – ΕΠΙΠΕΔΟ 6 (ΠΙΝΑΚΕΣ ΔΙΣΔΙΑΣΤΑΤΟΙ)
ΥΠΟΕΝΟΤΗΤΑ: ΔΙΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ – ΑΠΛΑ ΘΕΜΑΤΑ Θέμα Α – Ημερήσια Α4. Έστω πίνακας table με Μ γραμμές και Ν στήλες που περιέχει αριθμητικές τιμές. ∆ίνεται ο παρακάτω αλγόριθμος που υπολογίζει το άθροισμα κατά γραμμή, κατά στήλη και συνολικά. 2. 3. 4 5. 6. 7. 8.. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Αλγόριθμος Αθρ_Πίνακα ∆εδομένα // m, n, table // sum ← 0 Για i από 1 μέχρι m row [i] ← 0 Τέλος_επανάληψης Για j από 1 μέχρι n col [j] ← 0 Τέλος_επανάληψης Για i από 1 μέχρι m Για j από 1 μέχρι n _____________________________ _____________________________ _____________________________ Τέλος_επανάληψης Τέλος_επανάληψης Αποτελέσματα // row, col, sum // Τέλος Αθρ_Πίνακα Τα αθροίσματα των γραμμών καταχωρίζονται στον πίνακα row, των στηλών στον πίνακα col και το συνολικό άθροισμα στη μεταβλητή sum.
Θέμα Α – Ημερήσια Α2. Δίνεται το παρακάτω ημιτελές τμήμα αλγορίθμου: k ← 1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 ΑΝ … ΤΟΤΕ Α[k] ← i Α[…] ← … Α[…] ← … k … ← ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Να ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου με τα κενά συμπληρωμένα, έτσι ώστε για τα μη μηδενικά στοιχεία ενός δισδιάστατου πίνακα ΠΙΝ[4,5] να τοποθετεί σε ένα μονοδιάστατο πίνακα Α[60] τις ακόλουθες πληροφορίες: τη γραμμή, τη στήλη, και κατόπιν την τιμή του.
Θέμα B – Επαναληπτικές Ημερήσια Παλαιό Σύστημα Β2. Δίνεται μονοδιάστατος πίνακας Α[40] και το παρακάτω ημιτελές τμήμα αλγορίθμου, το οποίο αντιγράφει όλα τα στοιχεία του Α σε ένα δισδιάστατο πίνακα Β[8,5] κατά γραμμή. Δηλαδή, τα 5 πρώτα στοιχεία του μονοδιάστατου πίνακα τοποθετούνται στην πρώτη γραμμή του πίνακα Β, τα επόμενα 5 στη δεύτερη γραμμή κ.ο.κ. I ← 1 B[I, K] ← A[…(2)…] …(3)… ← …(4)…+ 1 Αν …(5)… > …(6)… τότε I ← I + …(7)… K ← …(8)… Τέλος_αν Τέλος_επανάληψης Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (8), που αντιστοιχούν στα κενά του αλγορίθμου, και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε το τμήμα αλγορίθμου να επιτελεί τη λειτουργία που περιγράφεται.
Α4. Ο παρακάτω αλγόριθμος αντιγράφει τα στοιχεία ενός μονοδιάστατου πίνακα Α[Y], όπου Υ = Μ * N, σε δισδιάστατο πίνακα Β[Μ, Ν] ξεκινώντας από την πρώτη στήλη και συνεχίζοντας με κάθε επόμενη στήλη γεμίζοντας καθεμιά από πάνω προς τα κάτω: Αλγόριθμος Αντιγραφή Δεδομένα // Α, Μ, Ν // χ <– …(1)… Για κ από 1 μέχρι …(2)… Για λ από 1 μέχρι …(3)… χ <– …(4)… Β[λ, κ] <– Α[…(5)…] Τέλος_Επανάληψης Τέλος_Επανάληψης Αποτελέσματα // Β // Τέλος Αντιγραφή Ο αλγόριθμος περιέχει αριθμημένα κενά (1 έως 5). Να γράψετε στο τετράδιό σας τους αριθμούς των κενών και δίπλα από κάθε αριθμό την έκφραση που πρέπει να συμπληρωθεί ώστε ο αλγόριθμος να επιτελεί τη λειτουργία που περιγράφεται.
Β2. Δίνεται το παρακάτω ημιτελές τμήμα προγράμματος: k←1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4 ΑΝ ………… ΤΟΤΕ Α[k] ← … Α[…] ← … Α[…] ← … k ← … ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Να ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα προγράμματος με τα κενά συμπληρωμένα, έτσι ώστε, για τα μη μηδενικά στοιχεία ενός δισδιάστατου πίνακα ακεραίων Π[5,4], να τοποθετεί σε ένα μονοδιάστατο πίνακα ακεραίων Α[60] τις ακόλουθες πληροφορίες με την εξής σειρά: τη γραμμή, τη στήλη και κατόπιν την τιμή του. Μονάδες 10
Β1. Ένας πίνακας λέγεται αραιός (sparse) αν ένα μεγάλο ποσοστό των στοιχείων του έχουν μηδενική τιμή. Ένας δισδιάστατος αραιός πίνακας μπορεί να αναπαρασταθεί από έναν μονοδιάστατο όπου κάθε μη μηδενικό στοιχείο του δισδιάστατου αντιπροσωπεύεται στον μονοδιάστατο από μία τριάδα στοιχείων, δηλαδή <γραμμή, στήλη, τιμή>. Για παράδειγμα, ο παρακάτω πίνακας Α [4,5] που θέλουμε να τον διαχειριστούμε ως αραιό αντιπροσωπεύεται από τον μονοδιάστατο Β[15]. Η αντίστροφη διαδικασία είναι από τον μονοδιάστατο πίνακα να παραχθεί ένας ισοδύναμος αραιός δισδιάστατος. Έστω ένας πίνακας Μ[18] που αναπαριστά 6 μη μηδενικά στοιχεία. Δίνεται ο παρακάτω αλγόριθμος, ο οποίος από τον μονοδιάστατο Μ[18] δημιουργεί τον αραιό δισδιάστατο Δ[10,20]. Αλγόριθμος αντίστροφος Δεδομένα // Μ // Για i από 1 μέχρι 20 Για j από 1 μέχρι 10 Δ[… (1), …(2)] <– 0 Τέλος_επανάληψης Τέλος_επανάληψης Για i από 1 μέχρι 18 με_βήμα … (3) α <– Μ[i] β <– Μ[i + …(4)] γ <– Μ[i + …(5)] Δ [α, β] <– γ Τέλος_επανάληψης Αποτελέσματα // Δ // Τέλος αντίστροφος Ο παραπάνω αλγόριθμος έχει 5 κενά αριθμημένα από (1) μέχρι (5). Για καθένα από τα κενά, να γράψετε στο τετράδιό σας τον αριθμό του και ό,τι χρειάζεται να συμπληρωθεί για να λειτουργήσει σωστά ο αλγόριθμος. Μονάδες 10
1.
Να γράψετε στο τετράδιό σας τις εντολές που πρέπει να συμπληρωθούν στις γραμμές 12, 13 και 14, ώστε ο αλγόριθμος να επιτελεί τη λειτουργία που περιγράφτηκε.
K ← 1
Για M από 1 μέχρι …(1)…
0
7
0
0
0
1
2
0
0
-3
0
0
4
0
0
0
0
0
0
0
1
2
7
2
1
1
2
2
2
2
5
-3
3
4