Ασκήσεις συμπλήρωσης κενών σε ΓΛΩΣΣΑ & Ψευδογλώσσα
Συμπληρώστε τα κενά και πατήστε «Έλεγχος» για να δείτε αν οι απαντήσεις σας είναι σωστές. Μπορείτε επίσης να εμφανίσετε τη λύση.
Άσκηση 1: Άθροισμα 1+2+…+100+99+…+2+1
SUM ← (1)
ΓΙΑ Χ ΑΠΟ (2) ΜΕΧΡΙ (3)
SUM ← (4)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ SUM
Σωστές συμπληρώσεις
1100
21
399
4SUM + 2 * X
Η παράσταση ισούται με 2·(1+2+…+99) + 100. Αρχικά SUM=100, μετά προσθέτουμε 2·Χ για Χ=1 έως 99.
Άσκηση 2: Έλεγχος ύπαρξης στοιχείου τουλάχιστον 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) τότε Εμφάνισε "Το στοιχείο", key, "υπάρχει τουλάχιστον 3 φορές." Εμφάνισε "Για τρίτη φορά εμφανίζεται στη θέση ", position, "." αλλιώς Εμφάνισε "Το στοιχείο", key, "δεν υπάρχει τουλάχιστον 3 φορές." Τέλος_αν Τέλος Β1
Σωστές συμπληρώσεις
10
2n
3ψευδής
4i
5count + 1
63
7αληθής
8position
9i + 1
10done
Μετράει τις εμφανίσεις. Όταν φτάσει στην τρίτη, αποθηκεύει τη θέση και σταματά.
Άσκηση 3: Σειριακή αναζήτηση σε πίνακα ονομάτων
done ← [1] position ← 0 i ← [2] ΟΣΟ done = ΨΕΥΔΗΣ ΚΑΙ i <= [3] ΕΠΑΝΑΛΑΒΕ ΑΝ ΟΝ[i] [4] Χ ΤΟΤΕ done ← [5] position ← i ΑΛΛΙΩΣ i ← i + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Σωστές συμπληρώσεις
[1]ΨΕΥΔΗΣ
[2]1
[3]100
[4]=
[5]ΑΛΗΘΗΣ
Άσκηση 4: Αναζήτηση 2021 σε X[100]
i ← 1 ΟΣΟ i (1) 100 ΚΑΙ (2) <> (3) ΕΠΑΝΑΛΑΒΕ i ← i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ (4) = (5) ΤΟΤΕ ΓΡΑΨΕ i ΑΛΛΙΩΣ ΓΡΑΨΕ ‘ΔΕ ΒΡΕΘΗΚΕ’ ΤΕΛΟΣ_ΑΝ
Σωστές συμπληρώσεις
(1)<=
(2)X[i]
(3)2021
(4)X[i]
(5)2021
Η επανάληψη σταματά μόλις βρεθεί το 2021 ή τελειώσει ο πίνακας.
ΕΒ2008-Θ1Γ: Ταξινόμηση φυσαλίδας (αύξουσα)
ΓΙΑ i ΑΠΟ (1) ΜΕΧΡΙ n ΓΙΑ j ΑΠΟ (2) ΜΕΧΡΙ (3) ΜΕ_ΒΗΜΑ (4) ΑΝ Α[j] (5) Α[j-1] ΤΟΤΕ temp ← A[j] Α[(6)] ← Α[(7)] Α[(8)] ← temp ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Σωστές συμπληρώσεις
(1)2
(2)n
(3)i
(4)-1
(5)<
(6)j
(7)j-1
(8)j-1
2010-A5: Ταξινόμηση μόνο θετικών (μονές θέσεις)
Για x από 3 μέχρι 19 με_βήμα (1) Για y από (2) μέχρι (3) με_βήμα (4) Αν Π[(5)] < Π[(6)] Τότε Αντιμετάθεσε Π[(7)], Π[(8)] Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης
Σωστές συμπληρώσεις
(1)2
(2)1
(3)x-2
(4)2
(5)y+2
(6)y
(7)y+2
(8)y
Συγκρίνονται διαδοχικές μονές θέσεις (y, y+2) για αύξουσα ταξινόμηση των θετικών.
Β2016-A2: Αλγόριθμος φυσαλίδας (κλασικός)
Αλγόριθμος Φυσαλίδα Δεδομένα //table,n// Για i από (1) μέχρι (2) Για j από (3) μέχρι (4) με βήμα (5) Αν table[j-1] > table[(6)] τότε αντιμετάθεσε table[j-1], table[j] Τέλος_αν Τέλος_Επανάληψης Τέλος_Επανάληψης Αποτελέσματα //table// Τέλος Φυσαλίδα
Σωστές συμπληρώσεις
(1)2
(2)n
(3)n
(4)i
(5)-1
(6)j
2014-Β1: Ταξινόμηση επιλογής (φθίνουσα)
Για k από 1 μέχρι 29 θ ← (1) Για i από k μέχρι 30 Αν Π[i] (2) Π[θ] τότε θ ← (3) Τέλος_αν Τέλος_επανάληψης αντιμετάθεσε (4), (5) Τέλος_επανάληψης
Σωστές συμπληρώσεις
(1)k
(2)>
(3)i
(4)Π[k]
(5)Π[θ]
2018-Β1: Βελτιωμένη φυσαλίδα (με stop)
i ← (1) Αρχή_επανάληψης stop ← ΑΛΗΘΗΣ Για j από Ν μέχρι i με_βήμα -1 Αν table[j-1] > table[j] τότε Αντιμετάθεσε table[j-1], table[j] stop ← (2) Τέλος_αν Τέλος_επανάληψης (3) Μέχρις_ότου i (4) N ή stop = (5)
Οι περιττοί από 101 έως 199. Το άθροισμα υπολογίζεται προστιθέμενος κάθε περιττός στο Β.
Π2016-A4: Εμφάνιση 2,4,8,10,14
Για I από (1) μέχρι (2) με_βήμα (3) Αν (4) και (5) τότε Εμφάνισε Ι Τέλος_αν Τέλος_επανάληψης
Σωστές συμπληρώσεις
(1)2
(2)14
(3)1
(4)I MOD 2 = 0
(5)I MOD 3 <> 0
Οι αριθμοί είναι άρτιοι από 2 έως 14 που δεν είναι πολλαπλάσια του 3.
2017-ΘΒ1: Εμφάνιση 4,8,16,20,28,32,40
i ← (1) Όσο i ≤ (2) επανάλαβε Αν i (3) <> (4) τότε Γράψε i Τέλος_αν i ← i + (5) Τέλος_επανάληψης
Σωστές συμπληρώσεις
(1)4
(2)40
(3)i MOD 2
(4)0
(5)4
Οι τιμές είναι όλοι οι αριθμοί από 4 έως 40 με βήμα 4, εκτός από τα πολλαπλάσια του 3.
2018-A4: Υπολογισμός αριθμητικών παραστάσεων
Δίνεται το τμήμα αλγορίθμου: κ ← 0 Για i από 1 μέχρι 7 λ ← ...(1)... κ ← κ + λ Τέλος_επανάληψης
Για καθεμία από τις παρακάτω παραστάσεις, συμπληρώστε την κατάλληλη έκφραση στο κενό (1):
Παράσταση
Έκφραση λ = …
Έλεγχος
α) 4+5+6+7+8+9+10
β) 1+2²+3²+4²+5²+6²+7²
γ) 2¹+2²+2³+2⁴+2⁵+2⁶+2⁷
δ) 3+5+7+9+11+13+15
ε) 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8
Σωστές εκφράσεις
αi + 3
βi * i
γ2 ^ i
δ2 * i + 1
ε1 / (i + 1)
2021-A5: Εμφάνιση 1,2,3,4,5,1,2,3,4,1,2,3
ΓΙΑ Χ ΑΠΟ 5 ΜΕΧΡΙ (1) ΜΕ_ΒΗΜΑ (2) ΓΙΑ (3) ΑΠΟ (4) ΜΕΧΡΙ (5) ΜΕ_ΒΗΜΑ (6) ΓΡΑΨΕ Ψ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Σωστές συμπληρώσεις
(1)1
(2)-1
(3)Ψ
(4)1
(5)Χ
(6)1
Ο εξωτερικός βρόχος μειώνει το Χ από 5 έως 1. Ο εσωτερικός τυπώνει αριθμούς 1..Χ.
2020-ΘΒ2: Έλεγχος πρώτου αριθμού
ΔΙΑΒΑΣΕ n ΠΡΩΤΟΣ ← (1) i ← (2) ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ (3) = 0 ΤΟΤΕ ΠΡΩΤΟΣ ← (4) ΤΕΛΟΣ_ΑΝ i ← i + 1 ΜΕΧΡΙΣ_ΟΤΟΥ i > n-1 Ή (5) ΑΝ ΠΡΩΤΟΣ = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ 'Είναι πρώτος αριθμός' ΑΛΛΙΩΣ ΓΡΑΨΕ 'Δεν είναι πρώτος αριθμός' ΤΕΛΟΣ_ΑΝ
Σωστές συμπληρώσεις
(1)ΑΛΗΘΗΣ
(2)2
(3)n MOD i
(4)ΨΕΥΔΗΣ
(5)ΠΡΩΤΟΣ = ΨΕΥΔΗΣ
Αρχικά υποθέτουμε ότι είναι πρώτος. Αν βρεθεί διαιρέτης, γίνεται ψευδής και σταματάμε.
Ε2012-Α5: Μεταφορά άρτιων και περιττών σε πίνακα Β
Κ ← 0 Για i από (1) μέχρι (2) Αν Α[i] mod 2 = 0 τότε Κ ← (3) Β[(4)] ← A[i] Τέλος_αν Τέλος_επανάληψης Για i από (5) μέχρι (6) Αν Α[i] mod 2 = (7) τότε Κ ← (8) Β[(9)] ← A[i] Τέλος_αν Τέλος_επανάληψης
Σωστές συμπληρώσεις
(1)1
(2)20
(3)Κ+1
(4)Κ
(5)1
(6)20
(7)1
(8)Κ+1
(9)Κ
Πρώτα τοποθετούνται οι άρτιοι, μετά οι περιττοί. Ο δείκτης Κ αυξάνεται με κάθε προσθήκη.
Ε2014-A5β: Συνένωση πινάκων Α[Ν] και Β[Μ] σε Γ
Αλγόριθμος Συνένωση Δεδομένα //Α, Ν, Β, Μ// Για i από (1) μέχρι (2) Γ[(3)] ← Α[(4)] Τέλος_επανάληψης Για i από (5) μέχρι (6) Γ[(7)] ← Β[(8)] Τέλος_επανάληψης Αποτελέσματα //Γ// Τέλος Συνένωση
Σωστές συμπληρώσεις
(1)1
(2)N
(3)i
(4)i
(5)1
(6)M
(7)N + i
(8)i
Αντιγραφή των Α[1..N] στις θέσεις 1..N, μετά των Β[1..M] στις θέσεις N+1..N+M.
Π2016-B2: Δημιουργία πίνακα Ζ με τις 10 μεγαλύτερες τιμές από Χ (φθίνουσα) και Υ (αύξουσα)
i ← (1) j ← (2) Για k από 1 μέχρι 10 Αν Χ[ i ] (3) Υ[ j ] τότε Ζ[ k ] ← Χ[ i ] i ← i (4) 1 Αλλιώς Ζ[ k ] ← Υ[ j ] j ← j (5) 1 Τέλος_αν Τέλος_επανάληψης
Σωστές συμπληρώσεις
(1)1
(2)100
(3)>=
(4)+
(5)-
Ο πίνακας Χ είναι φθίνων, άρα το μεγαλύτερο στην αρχή (θέση 1). Ο Υ είναι αύξων, άρα το μεγαλύτερο στο τέλος (θέση 100). Συγκρίνουμε και παίρνουμε το μεγαλύτερο, μετακινούμε τους δείκτες αντίστοιχα.
Ε2017-Β1: Συγχώνευση Α (αύξων) και Β (φθίνων) σε Γ (αύξων)
i ← 1 j ← 200 k ← 1 Όσο i (1) 100 και j (2) 1 επανάλαβε Αν Α[i] (3) Β[j] τότε Γ[(4)] ← Α[i] i ← i (5) 1 Αλλιώς Γ[(6)] ← Β[(7)] j ← j (8) 1 Τέλος_αν k ← k + 1 Τέλος_επανάληψης
Σωστές συμπληρώσεις
(1)<=
(2)>=
(3)<=
(4)k
(5)+
(6)k
(7)j
(8)-
Ο πίνακας Α είναι αύξων (i από 1..100), ο Β φθίνων (j από 200..1). Συγχώνευση σε αύξουσα σειρά. Για κάθε βήμα, συγκρίνουμε το μικρότερο από τα δύο τρέχοντα στοιχεία και τοποθετούμε στο Γ.
Ελάχιστο ← (1) Για i από 1 μέχρι Ν Για j από 1 μέχρι Μ Αν Π[i,j] (2) Ελάχιστο τότε Ελάχιστο ← (3) Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης ΓΡΑΨΕ Ελάχιστο
Σωστές συμπληρώσεις
(1)Π[1,1]
(2)<
(3)Π[i,j]
Αρχικά θεωρούμε πρώτο στοιχείο ως ελάχιστο, στη συνέχεια ελέγχουμε όλα τα στοιχεία και ενημερώνουμε το ελάχιστο.
2013-A2: Μεταφορά μη μηδενικών στοιχείων ΠΙΝ[4,5] σε Α[60] (γραμμή, στήλη, τιμή)
k ← 1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 4 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 ΑΝ (1) ΤΟΤΕ Α[k] ← i Α[(2)] ← j Α[(3)] ← ΠΙΝ[i,j] k ← (4) ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Σωστές συμπληρώσεις
(1)ΠΙΝ[i,j] <> 0
(2)k+1
(3)k+2
(4)k+3
Κάθε μη μηδενικό στοιχείο αποθηκεύεται ως τριάδα (γραμμή, στήλη, τιμή) σε συνεχόμενες θέσεις του Α.
ΠΕ2016-Β2: Αντιγραφή Α[40] σε Β[8,5] κατά γραμμή
I ← 1 K ← 1 Για M από 1 μέχρι (1) B[I, K] ← A[(2)] (3) ← (4) + 1 Αν (5) > (6) τότε I ← I + (7) K ← (8) Τέλος_αν Τέλος_επανάληψης
Σωστές συμπληρώσεις
(1)40
(2)M
(3)K
(4)K
(5)K
(6)5
(7)1
(8)1
Διατρέχουμε τα 40 στοιχεία του Α, αυξάνουμε τη στήλη Κ και όταν γεμίσει γραμμή (Κ>5) πάμε στην επόμενη γραμμή Ι και επαναφέρουμε Κ=1.
Ε2018-A4: Αντιγραφή Α[Υ] σε Β[Μ,Ν] κατά στήλη (πρώτη στήλη από πάνω προς τα κάτω)
Αλγόριθμος Αντιγραφή Δεδομένα // Α,Μ,Ν // χ ← (1) Για κ από 1 μέχρι (2) Για λ από 1 μέχρι (3) χ ← (4) Β[λ,κ] ← Α[(5)] Τέλος_επανάληψης Τέλος_επανάληψης Αποτελέσματα // Β // Τέλος Αντιγραφή
Σωστές συμπληρώσεις
(1)1
(2)N
(3)M
(4)χ + 1
(5)χ
Η μεταβλητή χ δείχνει την επόμενη θέση του Α. Για κάθε στήλη κ (1..N), για κάθε γραμμή λ (1..M), τοποθετούμε Α[χ] στο Β[λ,κ] και αυξάνουμε το χ.
Ε2020-ΘΒ2: Εισαγωγή σε κυκλική ουρά (πίνακας Α[10])
Κυκλική ουρά με πίνακα 10 θέσεων. Ελέγχουμε γέμισμα (αν η επόμενη θέση του rear είναι front). Αν η ουρά είναι άδεια (front=0, rear=0), τοποθετούμε το πρώτο στοιχείο στη θέση 1.
2021-Β2: Εξαγωγή στοιχείου από ουρά
ΑΝ (1) ΚΑΙ (2) ΤΟΤΕ ΓΡΑΨΕ 'Άδεια ουρά' ΑΛΛΙΩΣ_ΑΝ (3) ΤΟΤΕ ΓΡΑΨΕ 'Εξάγεται το στοιχείο:', Α[front] front ← 0 rear ← 0 ΑΛΛΙΩΣ ΓΡΑΨΕ 'Εξάγεται το στοιχείο:', Α[front] (4) ΤΕΛΟΣ_ΑΝ
Σωστές συμπληρώσεις
(1)front = 0
(2)rear = 0
(3)front = rear
(4)front ← (front MOD 10) + 1
Εάν ουρά άδεια (front=0, rear=0) → μήνυμα. Εάν ένα στοιχείο (front=rear) → εξαγωγή και μηδενισμός. Αλλιώς απλά μετακίνηση front.
Ε2011-ΘΑ5: Αναζήτηση όλων των θέσεων key σε ταξινομημένο table (αύξων)
Αλγόριθμος Αναζήτηση Δεδομένα // table, N, key // Βρέθηκε ← Ψευδής ΔενΒρέθηκε ← (1) i ← 1 Όσο ΔενΒρέθηκε = Αληθής και i <= N επανάλαβε Αν (2) τότε Εμφάνισε "Βρέθηκε στη θέση", i Βρέθηκε ← (3) Αλλιώς_αν (4) τότε ΔενΒρέθηκε ← (5) Τέλος_αν i ← i + 1 Τέλος_επανάληψης Αποτελέσματα // Βρέθηκε // Τέλος Αναζήτηση
Σωστές συμπληρώσεις
(1)Αληθής
(2)table[i] = key
(3)Αληθής
(4)table[i] > key
(5)Ψευδής
Λόγω ταξινόμησης, μόλις βρούμε στοιχείο μεγαλύτερο από key, δεν υπάρχει άλλο. Εμφανίζουμε όλες τις θέσεις που βρίσκεται το key.
Ε2013-A3: Αναζήτηση προτύπου W[10] μέσα σε S[1000] (συνεχόμενες θέσεις)
F ← ΨΕΥΔΗΣ i ← 1 ΟΣΟ (1) ΚΑΙ (2) ΕΠΑΝΑΛΑΒΕ j ← 0 ΟΣΟ (3) ΚΑΙ (4) ΕΠΑΝΑΛΑΒΕ j ← j + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ (5) ΤΟΤΕ F ← ΑΛΗΘΗΣ ΑΛΛΙΩΣ i ← i + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ F = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ i ΑΛΛΙΩΣ ΓΡΑΨΕ 'ΔΕ ΒΡΕΘΗΚΕ' ΤΕΛΟΣ_ΑΝ
Σωστές συμπληρώσεις
(1)F = ΨΕΥΔΗΣ
(2)i <= 991
(3)j < 10
(4)S[i+j] = W[j+1]
(5)j = 10
Ψάχνουμε για συνεχόμενη εμφάνιση του W[1..10] στο S. Η εξωτερική επανάληψη ελέγχει κάθε πιθανή αρχή i. Η εσωτερική συγκρίνει τα επόμενα 10 στοιχεία.
Δυαδική Αναζήτηση
ΑΛΓΟΡΙΘΜΟΣ Δυαδική_Αναζήτηση
ΔΕΔΟΜΕΝΑ // Α, Ν, Ζητούμενο //
Βρέθηκε ← (1)
Αρχή ← 1
Τέλος ← (2)
ΟΣΟ (3) ΚΑΙ ((4)) ΕΠΑΝΑΛΑΒΕ
Μέσο ← (5)
ΑΝ Α[Μέσο] < Ζητούμενο ΤΟΤΕ
Αρχή ← (6)
ΑΛΛΙΩΣ_ΑΝ (7) ΤΟΤΕ
Τέλος ← (8)
ΑΛΛΙΩΣ (9) ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΠΟΤΕΛΕΣΜΑΤΑ // Μέσο, Βρέθηκε //
ΤΕΛΟΣ Δυαδική_Αναζήτηση
Σωστές συμπληρώσεις
(1)ΨΕΥΔΗΣ
(2)N
(3)Βρέθηκε = ΨΕΥΔΗΣ
(4)Αρχή <= Τέλος
(5)(Αρχή + Τέλος) DIV 2
(6)Μέσο + 1
(7)Α[Μέσο] > Ζητούμενο
(8)Μέσο - 1
(9)Βρέθηκε
Δυαδική αναζήτηση σε ταξινομημένο πίνακα. Επαναλαμβάνεται όσο δεν έχει βρεθεί το ζητούμενο και το διάστημα [Αρχή, Τέλος] είναι έγκυρο. Υπολογίζεται το μέσο στοιχείο και ανάλογα με τη σύγκριση μετακινούνται τα άκρα.