Γενικό Λύκειο > Δομή επανάληψης

ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:

(1/2) > >>

katkal:
Καλημέρα. Έχουμε το κάτω κομμάτι αλγορίθμου (το οποίο το πήρα από βιβλίο) σε ΌΣΟ και θέλουμε να το μετατρέψουμε σε ΓΙΑ ...ΑΠΟ...ΜΕΧΡΙ:
--------------------------------------------------------------------------------
Α<--2
Οσο  Α<10 επανάλαβε
     Α<--Α+2
     Διάβασε Β
    Εμφάνισε Β
Τέλος_επανάληψης

Και μετατρέπεται σε

Για Α από 4 μέχρι 10 με_βήμα 2
    διάβασε Β
    εμφάνισε Β
Τέλος_επανάληψης
--------------------------------------------------------------------------------------
Εαν το κάνω στο χαρτί  για την περίπτωση του ΟΣΟ η αρχική τιμή του Α είναι:
   2 και μετά 4,
   4 και  μετά 6
   6 και μετά 8
    8 και μετά 10 και σταματά εκει. άρα γίνονται 4 επαναλήψεις.

Γιατί ο μετρητής στην ΓΙΑ ..ΑΠΟ..ΜΕΧΡΙ πρέπει να ξεκινάει από 4 και όχι απο 2;
 

evry:
Έχεις δίκιο, διότι τα δυο τμήματα αλγορίθμου που παραθέτεις δεν κάνουν ακριβώς το ίδιο πράγμα γιατί η τελική τιμή του Α είναι διαφορετική σε κάθε περίπτωση. Η σωστή λύση είναι από 2 και όχι από 4.
Στην πρώτη βγαίνει με 10 ενώ στη δεύτερη με 12
Θα το δεις αν αλλάξεις τη σειρά των εντολών και πας την αύξηση του Α στο τέλος αφού τα Α και Β είναι ανεξάρτητα μεταξύ τους.

katkal:
Το πήρα από βιβλίο γνωστού συγγραφέα (δεν ξέρω αν θα πρέπει να πω το όνομά του) και αναγράφει το εξής:
Εδώ υπάρχει διπλή εξαίρεση, διότι το βήμα είναι στην αρχή και λείπει η ισότητα. Επειδή η αυξηση του μετρητή Α είναι στην αρχή η επανάληψη θα έπρεπε να ήταν από 4 μέχρι 12. όμως , λείπει η ισότητα άρα το "μέχρι" παραμένει 10.

Για τη τιμή 10 και όχι 12 το καταλαβαίνω. Αρα το βιβλιο για την τιμή 2 και όχι 4 έχει λάθος;

evry:
Εξαρτάται τι λέει η εκφώνηση. Αν λέει να το ξαναγράψεις με Για ώστε να εμφανίζει τα ίδια δεν είναι λάθος.
Αν όμως μιλάει γενικά ότι ξαναγράφουμε τον ίδιο αλγόριθμο με άλλο τρόπο δεν είναι σωστό αφού στο τέλος δεν έχουν όλες οι μεταβλητές την ίδια τιμή.

katkal:
Λέει η άσκηση : να μετατραπούν οι ακολουθίες εντολών σε Για...από ....μέχρι.

επανέρχομαι πάλι στην ερώτησή μου: Γιατι ξεκινάει την Για από 4 και όχι από 2 εφόσον εαν καταγράψω στο χαρτί τις τιμές της μεταβλητής Α λαμβάνουν τις τιμές που έγραψα στην αρχή.

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση