1.
Τι θα εμφανίσει ο παρακάτω
αλγόριθμος; Να γίνει το διάγραμμα ροής.
Αλγόριθμος Καλή_επιτυχία
Α ← 0
Β ← 1
Γ ← 2
Για i από 2 μέχρι 9 με_βήμα 3
Α ← Α + i
Αν Α ≤ 8 τότε
Για j από 1 μέχρι Α
Β ← Β + 1
Τέλος_επανάληψης
αλλιώς
Γ ← Γ * j
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε
Α, Β, Γ
Τέλος Καλή_επιτυχία
Α
|
Β
|
Γ
|
i
|
j
|
|
αρχικοποιήσεις
|
0
|
1
|
2
|
||
1η εξωτερική επανάληψη
|
2
|
||||
Α ← Α + i
|
2
|
||||
Α ≤ 8, αληθής
|
|||||
1η εσωτερική επανάληψη
|
1
|
||||
Β ← Β + 1
|
2
|
||||
2η εσωτερική επανάληψη
|
2
|
||||
Β ← Β + 1
|
3
|
||||
j ← j + 1, έξοδος
|
3
|
||||
2η εξωτερική επανάληψη
|
5
|
||||
Α ← Α + i
|
7
|
||||
Α ≤ 8, αληθής
|
|||||
1η εσωτερική επανάληψη
|
1
|
||||
Β ← Β + 1
|
4
|
||||
2η εσωτερική επανάληψη
|
2
|
||||
Β ← Β + 1
|
5
|
||||
3η εσωτερική επανάληψη
|
3
|
||||
Β ← Β + 1
|
6
|
||||
4η εσωτερική επανάληψη
|
4
|
||||
Β ← Β + 1
|
7
|
||||
5η εσωτερική επανάληψη
|
5
|
||||
Β ← Β + 1
|
8
|
||||
6η εσωτερική επανάληψη
|
6
|
||||
Β ← Β + 1
|
9
|
||||
7η εσωτερική επανάληψη
|
7
|
||||
Β ← Β + 1
|
10
|
||||
j ← j + 1, έξοδος
|
8
|
||||
3η εξωτερική επανάληψη
|
8
|
||||
Α ← Α + i
|
15
|
||||
Α ≤ 8, ψευδής
|
|||||
Γ ← Γ * j
|
16
|
||||
i ← i + 3, έξοδος
|
11
|
||||
Εμφάνισε Α, Β, Γ
|
15
|
10
|
16
|
τελικά στην
οθόνη βλέπουμε: 15, 10, 16
2.
Δίνεται το παρακάτω πρόγραμμα:
ΠΡΟΓΡΑΜΜΑ Σύγκλιση
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α, Β, βήμα
ΑΡΧΗ
Α ← 8
Β ← - 4
βήμα ← 2
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΚΑΛΕΣΕ Σύγκλιση_με_βήμα (Α, Β, βήμα)
ΚΑΛΕΣΕ Σύγκλιση_με_βήμα (Α, Β, βήμα)
Α ← 2*Α – 5
Β ← Β + 1
ΓΡΑΨΕ Α, Β
ΜΕΧΡΙΣ_ΟΤΟΥ Α <= Β
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Σύγκλιση
ΔΙΑΔΙΚΑΣΙΑ Σύγκλιση_με_βήμα (X, Y, Z)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ, Υ, Ζ
ΑΡΧΗ
Χ ← Χ – Ζ
Υ ← Υ + Ζ
ΓΡΑΨΕ Χ, Υ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΠΡΟΓΡΑΜΜΑ
|
ΔΙΑΔΙΚΑΣΙΑ
|
|||||
Α
|
Β
|
βήμα
|
Χ
|
Υ
|
Ζ
|
|
αρχικοποιήσεις
|
8
|
-4
|
2
|
|||
1η
επανάληψη
|
||||||
Κλήση διαδικασίας
|
8
|
-4
|
2
|
|||
Εντολές διαδικασίας
|
6
|
-2
|
||||
Επιστροφή στο κυρίως πρόγραμμα
|
6
|
-2
|
2
|
|||
Α ← 2*Α – 5
|
7
|
|||||
Β ← Β + 1
|
-1
|
|||||
ΓΡΑΨΕ Α, Β
|
7
|
-1
|
||||
Α <= Β, ψευδής - 2η επανάληψη
|
||||||
Κλήση διαδικασίας
|
7
|
-1
|
2
|
|||
Εντολές διαδικασίας
|
5
|
1
|
||||
Επιστροφή στο κυρίως πρόγραμμα
|
5
|
1
|
2
|
|||
Α ← 2*Α – 5
|
5
|
|||||
Β ← Β + 1
|
2
|
|||||
ΓΡΑΨΕ Α, Β
|
5
|
2
|
||||
Α <= Β,
ψευδής - 3η επανάληψη
|
||||||
Κλήση διαδικασίας
|
5
|
2
|
2
|
|||
Εντολές διαδικασίας
|
3
|
4
|
||||
Επιστροφή στο κυρίως πρόγραμμα
|
3
|
4
|
2
|
|||
Α ← 2*Α – 5
|
1
|
|||||
Β ← Β + 1
|
5
|
|||||
ΓΡΑΨΕ Α, Β
|
1
|
5
|
||||
Α <= Β, αληθής
- έξοδος
|
τελικά στην
οθόνη βλέπουμε: 6, -2, 7, -1, 5, 1, 5, 2, 3, 4, 1, 5
3.
Δίνεται ο αλγόριθμος
Αλγόριθμος Θέμα_5
Διάβασε Ν
υ ← Ν
x ← 1
Αρχή_επανάληψης
x ← x + 1
Όσο υ mod x = 0 επανάλαβε
Εμφάνισε x
υ ← υ div x
Τέλος_επανάληψης
Μέχρις_ότου υ = 1
Τέλος Θέμα_5
Α. Τι θα
εκτυπώσει αν δοθεί σαν είσοδος ο αριθμός 60;
Ν
|
υ
|
χ
|
|
είσοδος
|
60
|
||
υ ← Ν
|
60
|
||
x ← 1
|
1
|
||
1η
εξωτερική επανάληψη
|
|||
x ß x + 1
|
2
|
||
υ mod x = 0, αληθής - 1η
εσωτερική επανάληψη
|
|||
Εμφάνισε
x
|
2
|
||
υ ← υ div x
|
30
|
||
υ mod x = 0, αληθής - 2η
εσωτερική επανάληψη
|
|||
Εμφάνισε
x
|
2
|
||
υ ← υ div x
|
15
|
||
υ mod x = 0, ψευδής - έξοδος
|
|||
υ = 1, ψευδής
- 2η εξωτερική επανάληψη
|
|||
x ← x + 1
|
3
|
||
υ mod x = 0, αληθής - 1η
εσωτερική επανάληψη
|
|||
Εμφάνισε
x
|
3
|
||
υ ← υ div x
|
5
|
||
υ mod x = 0, ψευδής - έξοδος
|
|||
υ = 1,
ψευδής - 3η εξωτερική επανάληψη
|
|||
x ← x + 1
|
4
|
||
υ mod x = 0, ψευδής
|
|||
υ = 1,
ψευδής - 4η εξωτερική επανάληψη
|
|||
x ← x + 1
|
5
|
||
υ mod x = 0, αληθής - 1η
εσωτερική επανάληψη
|
|||
Εμφάνισε
x
|
5
|
||
υ ← υ div x
|
1
|
||
υ mod x = 0, ψευδής - έξοδος
|
|||
υ = 1, αληθής
- έξοδος
|
τελικά στην
οθόνη βλέπουμε: 2, 2, 3, 5
4.
Α. Τι
υπολογίζει και τι εμφανίζει το παρακάτω τμήμα αλγορίθμου όταν δοθούν ως είσοδοι
διαδοχικά οι τιμές : 5, 8, 6, 9, 0; Να
θεωρήσετε ότι x ακέραιος αριθμός.
Αλγόριθμος Θ7
k ← 1
S ← 0
Γ ← 1
Διάβασε x
Όσο k<=100 και x<>0 επανάλαβε
Αν x mod 2 = 0 τότε
S ← S+x
Τέλος_αν
Αν x mod 3 = 0 τότε
Γ ← Γ*x
Τέλος_αν
k ← k+1
Διάβασε x
Τέλος_επανάληψης
Εμφάνισε S, Γ
Τέλος Θ7
Β. Να μετατρέψετε το παραπάνω τμήμα αλγορίθμου σε ισοδύναμο
με χρήση της εντολής “Αρχή_επανάληψης … Μέχρις_ότου”.
λύση
k
|
S
|
Γ
|
x
|
|
αρχικοποιήσεις
|
1
|
0
|
1
|
|
Διάβασε x
|
5
|
|||
k<=100 και x<>0, αληθής – 1η επαν.
|
||||
x mod 2 = 0,ψευδής
|
||||
x mod 3 = 0, ψευδής
|
||||
k ←k+1
|
2
|
|||
Διάβασε x
|
8
|
|||
k<=100 και x<>0, αληθής – 2η επαν.
|
||||
x mod 2 = 0, αληθής
|
||||
S ← S+x
|
8
|
|||
x mod 3 = 0, ψευδής
|
||||
k ← k+1
|
3
|
|||
Διάβασε x
|
6
|
|||
k<=100 και
x<>0, αληθής – 3 η επαν.
|
||||
x mod 2 = 0, αληθής
|
||||
S ß S+x
|
14
|
|||
x mod 3 = 0, αληθής
|
||||
Γ ß Γ*x
|
6
|
|||
k ß k+1
|
4
|
|||
Διάβασε x
|
9
|
|||
k<=100 και
x<>0, αληθής – 4 η επαν.
|
||||
x mod 2 = 0,ψευδής
|
||||
x mod 3 = 0, αληθής
|
||||
Γ ← Γ*x
|
54
|
|||
k ← k+1
|
5
|
|||
Διάβασε x
|
0
|
|||
k<=100 και
x<>0, ψευδής
|
||||
Εμφάνισε S, Γ
|
14
|
54
|
τελικά, στην οθόνη θα δω 14, 54
Αλγόριθμος Θ7
k ← 1
S ← 0
Γ
← 1
Διάβασε x
Αν k<=100 και x<>0 τότε
Αρχή_επανάληψης
Αν x mod 2 = 0 τότε
S ← S+x
Τέλος_αν
Αν x mod 3 = 0 τότε
Γ ← Γ*x
Τέλος_αν
k ← k+1
Διάβασε x
Μέχρις_ότου k>100 ή x=0
Τέλος_αν
Εμφάνισε S, Γ
Τέλος Θ7
5. Ποιο είναι το περιεχόμενο του πίνακα Α[6] μετά την
εκτέλεση των παρακάτω εντολών;
Αλγόριθμος Θ8
Χ ← 20
Για Κ από 1 μέχρι 3
Αν Χ ≥ 10 τότε
Α[Κ] ← Χ + 1
Α[Κ + 3] ← Χ - 1
αλλιώς
Α[Κ + 3] ← Χ + 7
Α[Κ] ← Χ - 7
Τέλος_αν
Χ ← Χ div 2
Τέλος_επανάληψης
Αποτελέσματα // Α //
Τέλος Θ8
Έξοδος αποτελεσμάτων:
Α[1] = 21
Α[2] = 11
Α[3] = -2
Α[4] = 19
Α[5] = 9
Α[6] = 12
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου