Ποιό ή ποιά αλγοριθμικά κριτήρια παραβιάζονται στο
παρακάτω σύνολο εντολών. Αιτιολογήστε την απάντησή σας.
Αλγόριθμος ΑΣΚ
Διάβασε Χ
Υ <-- Τ_Ρ(Α_Τ(Χ))+1
Όσο Υ > 0 επανάλαβε
Διάβασε κ
Αν A_T(κ) div A_T(κ+1) > 0 τότε
Υ <-- Υ-10
αλλιώς
Υ <-- Υ+10
Τέλος_αν
μ <-- 1/(κ+7)
Τέλος_επανάληψης
Τέλος ΑΣΚ
Λύση
α) Καθοριστικότητα, γιατί αν κ = -7 η εντολή μ <-- 1/(κ+7) δεν
μπορεί να εκτελεστεί.
β) Έξοδος, γιατί ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.
γ) Περατότητα, γιατί A_T(κ) div A_T(κ+1) > 0 = 0 > 0
= Ψευδής και η εντολή Υ <-- Υ-10 δεν πρόκειται ποτέ να
εκτελεστεί και το Υ θα αυξάνεται συνεχώς κατά 10. Έτσι το
Υ θα είναι πάντα θετικό και η Όσο..επανάλαβε δε θα
τερματιστεί ποτέ.
παρακάτω σύνολο εντολών. Αιτιολογήστε την απάντησή σας.
Αλγόριθμος ΑΣΚ
Διάβασε Χ
Υ <-- Τ_Ρ(Α_Τ(Χ))+1
Όσο Υ > 0 επανάλαβε
Διάβασε κ
Αν A_T(κ) div A_T(κ+1) > 0 τότε
Υ <-- Υ-10
αλλιώς
Υ <-- Υ+10
Τέλος_αν
μ <-- 1/(κ+7)
Τέλος_επανάληψης
Τέλος ΑΣΚ
Λύση
α) Καθοριστικότητα, γιατί αν κ = -7 η εντολή μ <-- 1/(κ+7) δεν
μπορεί να εκτελεστεί.
β) Έξοδος, γιατί ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.
γ) Περατότητα, γιατί A_T(κ) div A_T(κ+1) > 0 = 0 > 0
= Ψευδής και η εντολή Υ <-- Υ-10 δεν πρόκειται ποτέ να
εκτελεστεί και το Υ θα αυξάνεται συνεχώς κατά 10. Έτσι το
Υ θα είναι πάντα θετικό και η Όσο..επανάλαβε δε θα
τερματιστεί ποτέ.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου