Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επανάληψης => Μήνυμα ξεκίνησε από: katkal στις 30 Οκτ 2016, 08:41:30 πμ

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

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

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

Γιατί ο μετρητής στην ΓΙΑ ..ΑΠΟ..ΜΕΧΡΙ πρέπει να ξεκινάει από 4 και όχι απο 2;
 
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: evry στις 30 Οκτ 2016, 08:54:49 πμ
Έχεις δίκιο, διότι τα δυο τμήματα αλγορίθμου που παραθέτεις δεν κάνουν ακριβώς το ίδιο πράγμα γιατί η τελική τιμή του Α είναι διαφορετική σε κάθε περίπτωση. Η σωστή λύση είναι από 2 και όχι από 4.
Στην πρώτη βγαίνει με 10 ενώ στη δεύτερη με 12
Θα το δεις αν αλλάξεις τη σειρά των εντολών και πας την αύξηση του Α στο τέλος αφού τα Α και Β είναι ανεξάρτητα μεταξύ τους.
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: katkal στις 30 Οκτ 2016, 09:12:41 πμ
Το πήρα από βιβλίο γνωστού συγγραφέα (δεν ξέρω αν θα πρέπει να πω το όνομά του) και αναγράφει το εξής:
Εδώ υπάρχει διπλή εξαίρεση, διότι το βήμα είναι στην αρχή και λείπει η ισότητα. Επειδή η αυξηση του μετρητή Α είναι στην αρχή η επανάληψη θα έπρεπε να ήταν από 4 μέχρι 12. όμως , λείπει η ισότητα άρα το "μέχρι" παραμένει 10.

Για τη τιμή 10 και όχι 12 το καταλαβαίνω. Αρα το βιβλιο για την τιμή 2 και όχι 4 έχει λάθος;
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: evry στις 30 Οκτ 2016, 09:20:14 πμ
Εξαρτάται τι λέει η εκφώνηση. Αν λέει να το ξαναγράψεις με Για ώστε να εμφανίζει τα ίδια δεν είναι λάθος.
Αν όμως μιλάει γενικά ότι ξαναγράφουμε τον ίδιο αλγόριθμο με άλλο τρόπο δεν είναι σωστό αφού στο τέλος δεν έχουν όλες οι μεταβλητές την ίδια τιμή.
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: katkal στις 30 Οκτ 2016, 09:26:34 πμ
Λέει η άσκηση : να μετατραπούν οι ακολουθίες εντολών σε Για...από ....μέχρι.

επανέρχομαι πάλι στην ερώτησή μου: Γιατι ξεκινάει την Για από 4 και όχι από 2 εφόσον εαν καταγράψω στο χαρτί τις τιμές της μεταβλητής Α λαμβάνουν τις τιμές που έγραψα στην αρχή.
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: evry στις 30 Οκτ 2016, 09:46:50 πμ
Νομίζω ότι ο καλύτερος τρόπος είναι αυτός που έχεις επιλέξει, δηλαδή να καταγράψεις στο χαρτί τις τιμές των μεταβλητών και στη συνέχεια να προσπαθήσεις να σχεδιάσεις μια Για που να δίνει τις ίδιες τιμές ή στην χειρότερη περίπτωση να καταλήγει στις ίδιες τιμές.

Το σκεπτικό που περιγράφεται για μένα δεν είναι σωστό.
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: katkal στις 30 Οκτ 2016, 09:55:24 πμ
ευχαριστώ.
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: pvs στις 11 Νοε 2016, 11:39:11 μμ
Καλημέρα. Έχουμε το κάτω κομμάτι αλγορίθμου (το οποίο το πήρα από βιβλίο) σε ΌΣΟ και θέλουμε να το μετατρέψουμε σε ΓΙΑ ...ΑΠΟ...ΜΕΧΡΙ:
--------------------------------------------------------------------------------
Α<--2
Οσο  Α<10 επανάλαβε
     Α<--Α+2
     Διάβασε Β
    Εμφάνισε Β
Τέλος_επανάληψης

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

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

Γιατί ο μετρητής στην ΓΙΑ ..ΑΠΟ..ΜΕΧΡΙ πρέπει να ξεκινάει από 4 και όχι απο 2;
Δοκίμασε και αυτό νομίζω είναι πιο κατανοητό
Για Α από 2 μέχρι 8 με_βήμα 2
  Διάβασε Β
  Εμφάνισε Β
Τέλος_επανάληψης
Επίσης με βάση την εκφώνηση προσωπικά καταλαβαίνω ότι ο στόχος είναι να γίνουν 4 επαναλήψεις.
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΗ ΟΣΟ ΣΕ ΓΙΑ....ΑΠΟ...ΜΕΧΡΙ . ΕΡΩΤΗΣΗ ΣΕ ΑΣΚΗΣΗ:
Αποστολή από: Κωστας τζιαννης στις 03 Μαΐ 2017, 03:28:45 πμ
Καλημέρα. Έχουμε το κάτω κομμάτι αλγορίθμου (το οποίο το πήρα από βιβλίο) σε ΌΣΟ και θέλουμε να το μετατρέψουμε σε ΓΙΑ ...ΑΠΟ...ΜΕΧΡΙ:
--------------------------------------------------------------------------------
Α<--2
Οσο  Α<10 επανάλαβε
     Α<--Α+2
     Διάβασε Β
    Εμφάνισε Β
Τέλος_επανάληψης

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

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

Γιατί ο μετρητής στην ΓΙΑ ..ΑΠΟ..ΜΕΧΡΙ πρέπει να ξεκινάει από 4 και όχι απο 2;
ΑΝ ξεκινησει απο 2 τοτε θα κανει 5 και οχι 4 επαναληψεις.το μπερδεμα γινεται γιατι στην οσο ο μετρητης αλλαζει στην αρχη και οχι στο τελος.η αρχικη οσο ειναι ισοδυναμη με την παρακατω
  Α <- 4
  ΟΣΟ Α <= 10 ΕΠΑΝΑΛΑΒΕ

    ΔΙΑΒΑΣΕ Β
    ΓΡΑΨΕ Β
    Α <- Α + 2
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
αρα πλεον γινεται φανερη η ισοδυναμη της σε για.ΠΡΟΣΟΧΗ!!!στην ισοτητα στην συνθηκη.αν δεν ειχαμε <= θα εκανε 3 και οχι 4 επαναληψεις