Χαιρεται
ζητάω την γνώμη σας στο παρακάτω θέμα:
εστω η δομή για με με t1>t2 και θετικό βήμα
μετρητής_επαναληψεων <-- 0
ΓΙΑ ι ΑΠΟ 5 ΜΕΧΡΙ 2 ΜΕ ΒΗΜΑ 3
μετρητής_επαναληψεων <-- μετρητής_επαναληψεων +1
γράψε 'γφγ' , ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
γράψε 'εκτελέστηκαν' , μετρητής_επαναληψεων, 'επαναλήψεις'
εκτελούνται μηδενικές επαναλήψεις.
Aν θέλουμε να αιτιολογήσουμε την απάντηση μας τι θα επρεπε να πούμε ? οτι είναι λάθος η συνθήκη της επανάληψης;
Επίσης αν θέλαμε να την μετρατρέψουμε σε μορφή όσο ...επανάλαβε (μιας και στην μέχρις_οτου δεν γίνεται επειδή πρέπει να εκτελεστεί τουλάχιστον μια επανάληψη) το παρακάτω δίνει άπειρες επαναλήψεις.
μετρητής_επαναληψεων <-- 0
ι <-- 5
ΟΣΟ ι=2 Η ι >2 ΕΠΑΝΑΛΑΒΕ
ι <-- ι +3
μετρητής_επαναληψεων <-- μετρητής_επαναληψεων +1
γράψε 'γφγ' , ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
γράψε 'εκτελέστηκαν' , μετρητής_επαναληψεων, 'επαναλήψεις'
Που είναι το λάθος μου;
ευχαριστώ
Ολγα
Αν το βήμα της Για είναι θετικό, η συνθήκη της Όσο είναι <=
Αν το βήμα της Για είναι αρνητικό, η συνθήκη της Όσο είναι >=
Έτσι, η αντίστοιχη αρχική εντολή της Όσο είναι
ΟΣΟ ι<=2 ΕΠΑΝΑΛΑΒΕ
και αφού το ι αρχικά είναι 5, η Όσο δεν θα εκτελεστεί ούτε μία φορά.
ευχαριστώ πολύ για την γρήγορη απάντηση!
Αρα και για την περίπτωση της Για καταλαβαίνω ότι πρέπει να απαντήσουμε ότι η συνθήκη είναι λάθος γιαυτό δεν εκτελείται καμία επανάληψη.
Δεν είναι απαραίτητα λάθος η συνθήκη. Εξαρτάται από το τι θέλεις να κάνεις.
Για να απαντήσεις στο ερώτημα που θέτεις. θα κάνεις τη μετατροπή της Για σε Όσο. Εκεί η συνθήκη φαίνεται ξεκάθαρα και είναι ψευδής.
Μην ξεχνάς αν το βήμα της Για είναι αρνητικό ο συγκριτικής τελεστής που μπαίνει στη συνθήκη της Όσο είναι >= ενώ αν το βήμα είναι θετικό ο τελεστής είναι <=
"ευχαριστώ πολύ για την γρήγορη απάντηση!
Αρα και για την περίπτωση της Για καταλαβαίνω ότι πρέπει να απαντήσουμε ότι η συνθήκη είναι λάθος γιαυτό δεν εκτελείται καμία επανάληψη."
...όχι λάθος, αλλά ψευδής.
Βέβαια μέσα από το φίλτρο του κριτηρίου της καθοριστικότητας η εντολή φαίνεται λάθος.