You are on page 1of 6

Έλεγχος αλγοριθμικών κριτηρίων

1. Ποιο ή ποια κριτήρια παραβιάζει ο ακόλουθος υποτιθέμενος αλγόριθμος;

Αλγόριθμος Ασκ
Διάβασε Χ
Όσο (Χ > 0) Ή (Χ <=0) επανάλαβε
Εμφάνισε 3/(Χ-4)
Διάβασε Χ
Τέλος_επανάληψης
Τέλος Ασκ

Απαντήσεις

Παραβιάζεται η :
α) περατότητα γιατί η συνθήκη της Όσο..επανάλαβε είναι πάντοτε αληθής και η
επανάληψη δεν τερματίζεται ποτέ, και
β) καθοριστικήτητα, γιατί αν Χ = 4 η εντολή
Εμφάνισε δεν μπορεί να εκτελεστεί.

2. Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζει το παρακάτω  σύνολο εντολών και γιατί;

Αλγόριθμος ΕΛ
Διάβασε Χ
Όσο Χ <= 100 επανάλαβε
Εμφάνισε (Χ+3)/(Χ-31)
Διάβασε Χ
Τέλος_επανάληψης
Εμφάνισε Υ+Χ
Τέλος ΕΛ

Απάντηση
Καθοριστικότητα, γιατί αν Χ = 31 η παράσταση (Χ+3)/(Χ-31)
δεν μπορεί να υπολογιστεί.
Είσοδος, γιατί η μεταβλητή Υ δεν έχει πάρει τιμή από πουθενά.

3. Αναφέρετε τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων.

Απάντηση

Είσοδος: χρήση μιας μεταβλητής που δεν έχει πάρει προηγουμένως τιμή.
Έξοδος: ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.
Περατότητα: κάποια επαναληπτική δομή δεν τερματίζεται ποτέ (ατέρμων βρόχος).
Καθοριστικότητα: σε κάποια εντολή πραγματοποιείται διαίρεση χωρίς να έχει
διασφαλιστεί ότι ο παρονομαστής είναι διάφορος του μηδέν ή επιχειρείται ο υπολογισμός
τετραγωνικής ρίζας χωρίς να έχει διασφαλιστεί ότι η υπόρριζος ποσότητα είναι μεγαλύτερη
ή ίση του μηδενός.
Αποτελεσματικότητα: κάποια εντολή δίδεται με περιγραφικό τρόπο και μπορεί να
αναλυθεί σε δύο ή περισσότερα απλούστερα βήματα.

4. Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζει η παρακάτω αλληλουχία εντολών;

Διάβασε Χ
Όσο Χ < 100 επανάλαβε
Διάβασε Υ
Υπολόγισε το μέσο όρο ΜΟ των Χ, Υ
Εμφάνισε ΜΟ
Διάβασε Χ
Τέλος_επανάληψης
Εμφάνισε 1/(Χ-200)

Απάντηση
α) Αποτελεσματικότητα, γιατί η εντολή
Υπολόγισε το μέσο όρο ΜΟ των Χ, Υ δεν είναι απλή και άμεσα εκτελέσιμη
β) Καθοριστικότητα, γιατί αν ολοκληρωθεί η Όσο με Χ = 200, η Εμφάνισε 1/(Χ-200) δεν
μπορεί να εκτελεστεί.

5. Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζονται στον παρακάτω υποτιθέμενο


αλγόριθμο;

Αλγόριθμος Ασκ
Διάβασε Χ
Όσο (Χ+1) <= Α_Τ(Χ+1) επανάλαβε
Αν Χ >= 0τότε
Ζ <-- 1/(Χ-100)
αλλιώς
Ζ <-- Χ^2
Τέλος_αν
Ζ <-- Ζ+Υ
Τέλος_επανάληψης
Τέλος Ασκ

Απαντήσεις

α) Είσοδος, γιατί το Υ δεν έχει πάρει καμία τιμή.


β) Έξοδος, γιατί ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.
γ) Καθοριστικότητα, γιατί αν Χ = 100 η εντολή
Ζ <-- 1/(Χ-100) δεν μπορεί να εκτελεστεί
δ) Περατότητα, αφού η συνθήκη της Όσο είναι πάντοτε αληθής και η επανάληψη δεν
τερματίζεται ποτέ.

6. Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζει το παρακάτω σύνολο εντολών;

Κ <-- 1
Α <-- 0
Όσο Κ <= 12 επανάλαβε
Α <-- Α+1/(Κ-4)
Αν Κmod12 = 0 τότε
Κ <-- Κ-10
Τέλος_αν
Κ <-- Κ+1
Τέλος_επανάληψης
Εμφάνισε Α

Λύση

Παραβιάζονται:
α) η καθοριστικότητα, γιατί όταν το Κ γίνει 4 η εντολή Α <-- Α+1/(Κ-4) δεν μπορεί να
εκτελεστεί
β) η περατότητα, γιατί το Κ δεν πρόκειται ποτέ να ξεπεράσει το 12 και η Όσο..επανάλαβε
αποτελεί ατέρμων βρόχο (οι τιμές που παίρνει το Κ είναι 1, 2, ...., 12, 3, 4, ..., 12, 3, 4, ....,
12, κτλ)

7. Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζονται στο παρακάτω σύνολο εντολών και
γιατί;

Αλγόριθμος ΑΣΚ
Α <-- Χ
Όσο Α <= 2012 επανάλαβε
Αρχή_επανάληψης
Διάβασε Υ
Μέχρις_ότου Υ > 0
Α <-- Α+Υ
Τέλος_επανάληψης
Τέλος ΑΣΚ
Απάντηση

α) Είσοδος, γιατί η μεταβλητή Χ έχει απροσδιόριστο περιεχόμενο.


β) Έξοδος, γιατί ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.

8. Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζει ο παρακάτω αλγόριθμος και γιατί;

Αλγόριθμος Ασκ
σ <-- 0
Αρχή_επανάληψης
ΔιάβασεΧ
Αν Χ > 0τότε
σ <-- σ-1/Χ
αλλιώς
σ <-- σ+Χ
Τέλος_αν
Μέχρις_ότου σ > 1000
Τέλος Ασκ

Λύση

Παραβιάζεται το κριτήριο της:


α) εξόδου, γιατί ο αλγόριθμος δεν εμφανίζει κανένααποτέλεσμα
β) περατότητας, γιατί το σ δεν αυξάνεται και δεν πρόκειται ποτέ να ξεπεράσει το 1000
(άρα η
Μέχρις_ότου αποτελεί ατέρμων βρόχο)

9. Ποιό ή ποιά αλγοριθμικά κριτήρια παραβιάζονται στο παρακάτω σύνολο εντολών.


Αιτιολογήστε την απάντησή σας.
Αλγόριθμος ΑΣΚ
Διάβασε Χ
Υ <-- Τ_Ρ(Α_Τ(Χ))+1
Όσο Υ > 0 επανάλαβε
Διάβασε κ
Αν A_T(κ) divA_T(κ+1) > 0τότε
Υ <-- Υ-10
αλλιώς
Υ <-- Υ+10
Τέλος_αν
μ <-- 1/(κ+7)
Τέλος_επανάληψης
Τέλος ΑΣΚ

Λύση

α) Καθοριστικότητα, γιατί αν κ = -7 η εντολή μ <-- 1/(κ+7) δεν μπορεί να εκτελεστεί.


β) Έξοδος, γιατί ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.
γ) Περατότητα, γιατί A_T(κ) div A_T(κ+1) > 0 = 0 > 0 = Ψευδής και η εντολή Υ <-- Υ-10
δεν πρόκειται ποτέ να εκτελεστεί και το Υ θα αυξάνεται συνεχώς κατά 10. Έτσι το Υ θα
είναι πάντα θετικό και η Όσο..επανάλαβε δε θα τερματιστεί ποτέ.

You might also like