Δίνεται o παρακάτω αλγόριθμος, στον οποίο έχουν αριθμηθεί οι εντολές εκχώρησης:
Αλγόριθμος Πολλαπλασιασμός
Δεδομένα //α,β//
Αν α > β τότε αντιμετάθεσε α, β
1 γ <-- 0
Όσο α > 0 επανάλαβε
2 δ <-- α mod 10
Όσο δ > 0 επανάλαβε
3 δ <-- δ − 1
4 γ <-- γ + β
Τέλος_επανάληψης
5 α <-- α div 10
6 β <-- β * 10
Τέλος_επανάληψης
Αποτελέσματα //γ//
Τέλος πολλαπλασιασμός
Επίσης δίνεται υπόδειγμα πίνακα (πίνακας τιμών), με συμπληρωμένες τις αρχικές τιμές των μεταβλητών α,β (τιμές εισόδου), καθώς και της εντολής εκχώρησης με αριθμό 1.
Αριθμός εντολών |
α |
β |
γ |
δ |
|
20 |
50 |
|
|
1 |
|
|
0 |
|
...
|
...
|
... |
... |
... |
Α. Να μεταφέρετε στο τετράδιό σας τον πίνακα και να τον συμπληρώσετε, εκτελώντας τον αλγόριθμο με αρχικές τιμές α = 20, β = 50 (που ήδη φαίνονται στον πίνακα). Για κάθε εντολή εκχώρησης που εκτελείται να γράψετε σε νέα γραμμή του πίνακα:
α. Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη).
β. Τη νέα τιμή της μεταβλητής που επηρεάζεται από την εντολή (στην αντίστοιχη στήλη).
Β. Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με την εντολή:
Αν α > β τότε αντιμετάθεσε α, β
χωρίς να χρησιμοποιήσετε την εντολή
αντιμετάθεσε.
Γ. Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με το παρακάτω τμήμα:
δ <-- α mod 10
Όσο δ > 0 επανάλαβε
δ <-- δ − 1
γ <-- γ + β
Τέλος_επανάληψης
χρησιμοποιώντας αντί της εντολής Όσο την εντολή Για. Στο νέο τμήμα αλγορίθμου να χρησιμοποιήσετε μόνο τις μεταβλητές α, β, γ, δ, που χρησιμοποιεί το αρχικό τμήμα.
(ΠΑΝΕΛΛΑΔΙΚΕΣ 2009)
Α.
Β.
Γ.