Professional Documents
Culture Documents
Αλγοριθμικά Κριτήρια
Αλγοριθμικά Κριτήρια
Αλγόριθμος Ασκ
Διάβασε Χ
Όσο (Χ > 0) Ή (Χ <=0) επανάλαβε
Εμφάνισε 3/(Χ-4)
Διάβασε Χ
Τέλος_επανάληψης
Τέλος Ασκ
Απαντήσεις
Παραβιάζεται η :
α) περατότητα γιατί η συνθήκη της Όσο..επανάλαβε είναι πάντοτε αληθής και η
επανάληψη δεν τερματίζεται ποτέ, και
β) καθοριστικήτητα, γιατί αν Χ = 4 η εντολή
Εμφάνισε δεν μπορεί να εκτελεστεί.
2. Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζει το παρακάτω σύνολο εντολών και γιατί;
Αλγόριθμος ΕΛ
Διάβασε Χ
Όσο Χ <= 100 επανάλαβε
Εμφάνισε (Χ+3)/(Χ-31)
Διάβασε Χ
Τέλος_επανάληψης
Εμφάνισε Υ+Χ
Τέλος ΕΛ
Απάντηση
Καθοριστικότητα, γιατί αν Χ = 31 η παράσταση (Χ+3)/(Χ-31)
δεν μπορεί να υπολογιστεί.
Είσοδος, γιατί η μεταβλητή Υ δεν έχει πάρει τιμή από πουθενά.
Απάντηση
Είσοδος: χρήση μιας μεταβλητής που δεν έχει πάρει προηγουμένως τιμή.
Έξοδος: ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.
Περατότητα: κάποια επαναληπτική δομή δεν τερματίζεται ποτέ (ατέρμων βρόχος).
Καθοριστικότητα: σε κάποια εντολή πραγματοποιείται διαίρεση χωρίς να έχει
διασφαλιστεί ότι ο παρονομαστής είναι διάφορος του μηδέν ή επιχειρείται ο υπολογισμός
τετραγωνικής ρίζας χωρίς να έχει διασφαλιστεί ότι η υπόρριζος ποσότητα είναι μεγαλύτερη
ή ίση του μηδενός.
Αποτελεσματικότητα: κάποια εντολή δίδεται με περιγραφικό τρόπο και μπορεί να
αναλυθεί σε δύο ή περισσότερα απλούστερα βήματα.
Διάβασε Χ
Όσο Χ < 100 επανάλαβε
Διάβασε Υ
Υπολόγισε το μέσο όρο ΜΟ των Χ, Υ
Εμφάνισε ΜΟ
Διάβασε Χ
Τέλος_επανάληψης
Εμφάνισε 1/(Χ-200)
Απάντηση
α) Αποτελεσματικότητα, γιατί η εντολή
Υπολόγισε το μέσο όρο ΜΟ των Χ, Υ δεν είναι απλή και άμεσα εκτελέσιμη
β) Καθοριστικότητα, γιατί αν ολοκληρωθεί η Όσο με Χ = 200, η Εμφάνισε 1/(Χ-200) δεν
μπορεί να εκτελεστεί.
Αλγόριθμος Ασκ
Διάβασε Χ
Όσο (Χ+1) <= Α_Τ(Χ+1) επανάλαβε
Αν Χ >= 0τότε
Ζ <-- 1/(Χ-100)
αλλιώς
Ζ <-- Χ^2
Τέλος_αν
Ζ <-- Ζ+Υ
Τέλος_επανάληψης
Τέλος Ασκ
Απαντήσεις
Κ <-- 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
Α <-- Α+Υ
Τέλος_επανάληψης
Τέλος ΑΣΚ
Απάντηση
Αλγόριθμος Ασκ
σ <-- 0
Αρχή_επανάληψης
ΔιάβασεΧ
Αν Χ > 0τότε
σ <-- σ-1/Χ
αλλιώς
σ <-- σ+Χ
Τέλος_αν
Μέχρις_ότου σ > 1000
Τέλος Ασκ
Λύση
Λύση