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

Γενικό Λύκειο => Δομή επανάληψης => Γ΄ Λυκείου => Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ => Μήνυμα ξεκίνησε από: olga_ath στις 19 Ιαν 2010, 02:04:45 ΜΜ

Τίτλος: Επανάληψη Για με t1>t2 και θετικό βήμα
Αποστολή από: olga_ath στις 19 Ιαν 2010, 02:04:45 ΜΜ
Χαιρεται

ζητάω την γνώμη σας στο παρακάτω θέμα:

εστω η δομή για με με t1>t2 και θετικό βήμα

Κώδικας [Επιλογή]

μετρητής_επαναληψεων <-- 0

ΓΙΑ ι ΑΠΟ 5 ΜΕΧΡΙ 2 ΜΕ ΒΗΜΑ 3
          μετρητής_επαναληψεων <-- μετρητής_επαναληψεων +1
          γράψε 'γφγ' , ι

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

γράψε 'εκτελέστηκαν' ,  μετρητής_επαναληψεων, 'επαναλήψεις'


εκτελούνται μηδενικές επαναλήψεις.

Aν θέλουμε να αιτιολογήσουμε την απάντηση μας τι θα επρεπε να πούμε ? οτι είναι λάθος η συνθήκη της επανάληψης;
Επίσης αν θέλαμε να την μετρατρέψουμε σε μορφή όσο ...επανάλαβε (μιας και στην μέχρις_οτου δεν γίνεται επειδή πρέπει να εκτελεστεί τουλάχιστον μια επανάληψη) το παρακάτω δίνει άπειρες επαναλήψεις.

Κώδικας [Επιλογή]
μετρητής_επαναληψεων <--  0
  ι <-- 5

  ΟΣΟ  ι=2 Η ι >2   ΕΠΑΝΑΛΑΒΕ

    ι <-- ι +3

    μετρητής_επαναληψεων <--   μετρητής_επαναληψεων +1
    γράψε 'γφγ' , ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  γράψε 'εκτελέστηκαν' ,  μετρητής_επαναληψεων, 'επαναλήψεις'


Που είναι το λάθος μου;

ευχαριστώ

Ολγα
Τίτλος: Απ: Επανάληψη Για με t1>t2 και θετικό βήμα
Αποστολή από: Wizard στις 19 Ιαν 2010, 02:34:00 ΜΜ
Αν το βήμα της Για είναι θετικό, η συνθήκη της Όσο είναι <=
Αν το βήμα της Για είναι αρνητικό, η συνθήκη της Όσο είναι >=
Έτσι, η αντίστοιχη αρχική εντολή της Όσο είναι
ΟΣΟ ι<=2 ΕΠΑΝΑΛΑΒΕ
και αφού το ι αρχικά είναι 5, η Όσο δεν θα εκτελεστεί ούτε μία φορά.
Τίτλος: Απ: Επανάληψη Για με t1>t2 και θετικό βήμα
Αποστολή από: olga_ath στις 19 Ιαν 2010, 02:45:55 ΜΜ
ευχαριστώ πολύ για την γρήγορη απάντηση!
Αρα και για την περίπτωση της Για καταλαβαίνω ότι πρέπει να απαντήσουμε ότι η συνθήκη είναι λάθος γιαυτό δεν εκτελείται καμία επανάληψη.
Τίτλος: Απ: Επανάληψη Για με t1>t2 και θετικό βήμα
Αποστολή από: gpapargi στις 19 Ιαν 2010, 03:06:12 ΜΜ
Δεν είναι απαραίτητα λάθος η συνθήκη. Εξαρτάται από το τι θέλεις να κάνεις.
Για να απαντήσεις στο ερώτημα που θέτεις. θα κάνεις τη μετατροπή της Για σε Όσο. Εκεί η συνθήκη φαίνεται ξεκάθαρα και είναι ψευδής.
Μην ξεχνάς αν το βήμα της Για είναι αρνητικό ο συγκριτικής τελεστής που μπαίνει στη συνθήκη της Όσο  είναι >= ενώ αν το βήμα είναι θετικό ο τελεστής είναι <=
Τίτλος: Απ: Επανάληψη Για με t1>t2 και θετικό βήμα
Αποστολή από: toufeki στις 19 Ιαν 2010, 03:50:42 ΜΜ
"ευχαριστώ πολύ για την γρήγορη απάντηση!
Αρα και για την περίπτωση της Για καταλαβαίνω ότι πρέπει να απαντήσουμε ότι η συνθήκη είναι λάθος γιαυτό δεν εκτελείται καμία επανάληψη."

...όχι λάθος, αλλά ψευδής.
Βέβαια μέσα από το φίλτρο του κριτηρίου της καθοριστικότητας  η εντολή φαίνεται λάθος.