Τι θα εμφανίσει το παρακάτω τμήμα αλγορίθμου;
Για Κ από 1 μέχρι 4 με_βήμα -1
Εμφάνισε K
Tέλος_Επανάληψης
Ενα εξωσχολικό βιβλίο ο συγγραφέας υποστηρίζει ότι θα εμφανιστούν άπειρες τιμές (1, 0, -1 ,...).
Εγώ πιστεύω ότι δεν θα εμφανιστεί καμία τιμή (δεν θα εκτελεστεί καμία φορά η επανάληψη και κατά συνέπεια η εντολή Εμφάνισε).
Ποια είναι η άποψή σας;
Το εξωσχολικό βιβλίο έχει λάθος.
Αυτό που λες εσύ είναι το σωστό.
Όταν το βήμα είναι αρνητικό οι τιμές "κατεβαίνουν". Η "συνθήκη συνέχειας" ελέγχει ότι η μεταβλητή ελέγχου έχει τιμή μεγαλύτερη ή ίση από την τιμή τερματισμού, επομένως ο ισοδύναμος αλγόριθμος χρησιμοποιώντας τη δομή ΟΣΟ είναι ο:
κ<- 1
όσο κ >= 4 επανάλαβε
Εμφάνισε κ
κ <- κ -1
τελος_επανάληψης
που εύκλολα φαίνεται ότι δε θα εκτελεστεί καμμία φορά αφού εξ αρχής το κ (1) δεν είναι μεγαλύτερο (ή ίσο) του 4
Ευχαριστώ για την άμεση απάντηση
Καλησπέρα,
έστω ότι δίνουν στα παιδιά τον παρακάτω αλγόριθμο για να βρεθεί ο αριθμός των επαναλήψεων του βρόγχου ή τι θα εμφανίσει:
α <-- 8
Όσο α <= 12 επανάλαβε
Εμφάνισε α
α <-- α - 4
Τέλος_Επανάληψης
Ποια θα ήταν η απάντηση; Τι λέτε;
Από την άλλη ο παραπάνω αλγόριθμος (αν μπορούμε να τον ονομάσουμε έτσι) είναι ισοδύναμος με τον παρακάτω;
Για α από 8 μέχρι 12 με_βήμα -4
Εμφάνισε α
Τέλος_επανάληψης
Νίκος Ξ.
ΣΤΗ ΠΡΩΤΗ ΠΕΡΙΠΤΩΣΗ ΘΑ ΕΚΤΕΛΕΣΤΟΥΝ ΑΠΕΙΡΕΣ ΕΠΑΝΑΛΗΨΕΙΣ (ΔΕΝ ΙΚΑΝΟΠΟΙΕΙΤΑΙ ΤΟ ΚΡΙΤΗΡΙΟ ΤΗΣ ΠΕΡΑΤΟΤΗΤΑΣ).
Ο ΔΕΥΤΕΡΟΣ ΑΛΓΟΡΙΘΜΟΣ ΔΕΝ ΕΙΝΑΙ ΙΣΟΔΥΝΑΜΟΣ ΜΕ ΤΟΝ ΠΡΩΤΟ ΑΦΟΥ ΣΥΜΦΩΝΑ ΜΕ ΤΟ ΒΙΒΛΙΟ ΟΤΑΝ ΤΟ ΒΗΜΑ ΕΙΝΑΙ ΑΡΝΗΤΙΚΟ Η ΣΥΝΘΗΚΗ ΠΟΥ ΕΛΕΓΧΕΤΑΙ ΕΙΝΑΙ Η ΕΞΗΣ:
ΟΣΟ ΤΙΜΗ ΜΕΤΡΗΤΗ >= ΤΕΛΙΚΗ ΤΙΜΗ ΕΠΑΝΑΛΑΒΕ.
ΕΠΟΜΕΝΩΣ Η ΕΝΤΟΛΗ «ΓΙΑ Α ΑΠΟ 8 ΜΕΧΡΙ 12 ΜΕ_ΒΗΜΑ -4» ΔΕΝ ΘΑ ΕΚΤΕΛΕΣΤΕΙ ΟΥΔΕΜΙΑ ΦΟΡΑ.
marg o suggrafeas exei dikio. tha efmanistoun apeires times
Η δομή:
Για Κ από 1 μέχρι 4 με_βήμα -1
Εμφάνισε K
Tέλος_Επανάληψης
είναι ισοδύναμη με τη δομή Όσο
κ<- 1
Όσο κ >= 4 επανάλαβε
Εμφάνισε κ
κ <- κ -1
Τέλος_επανάληψης
Επομένως και στις δυο δεν θα εκτελεστεί καμία επανάληψη