Είχα διαβάσει παλιότερα το εξής (δε το βρίσκω γιαυτό το επαναφέρω)
Για ι απο 1 μέχρι 10
Τέλος επανάληψής
Εμφάνισε ι
Τελικά τι εμφανίζεται 10 ή 11??
11.
Αν το μετατρέψεις σε δομή "Όσο" θα καταλάβεις τον λόγο
Όπως έχουμε ξαναπεί για αντίστοιχες περιπτώσεις, τέτοια ερωτήματα δεν πρέπει να τίθενται. Κατά την άποψη μου, στο επίπεδο της ΓΛΩΣΣΑΣ η τιμή της i όταν ολοκληρωθεί ο βρόχος είναι απροσδιόριστη.
Σε κάποιες γλώσσες (για παράδειγμα στη C/C++/Java) θα είναι 11, όπως λέει ο petrosp_13. Από την άλλη όμως π.χ. στην Pascal θα είναι 10, διότι η i κρατάει την τιμή που είχε στην τελευταία επιτυχή επανάληψη του βρόχου
Πράγματι δεν μπορώ να καταλάβω τους διδάσκοντες που (ακόμα) θέτουν τέτοια ερωτήματα
Σύμφρωνα με το μάθημα που διδάσκουμε και όχι τι γίνεται στις άλλες γλώσσες, θα εκτυπώσει 11.
Η τιμή του i για το συγκεκριμένο ερώτημα είναι 11 και είναι μια χαρά προσδιορισμένη και μάλιστα ειδικά για το επίπεδο της Γλώσσας. Αυτό είναι φανερό αν μετατρέψεις το συγκεκριμένο τμήμα αλγορίθμου σε διάγραμμα ροής.
Επίσης αν η τιμή του i είναι απροσδιόριστη όπως λες τότε είναι λάθος όλα τα θέματα που έχουν πέσει κατά καιρούς στις πανελλήνιες και αφορούν την ισοδυναμία των δομών επανάληψης Για...από...μέχρι και Όσο...επανάλαβε
Παράθεση από: johnny_xp στις 09 Ιαν 2007, 12:44:45 ΜΜ
Όπως έχουμε ξαναπεί για αντίστοιχες περιπτώσεις, τέτοια ερωτήματα δεν πρέπει να τίθενται. Κατά την άποψη μου, στο επίπεδο της ΓΛΩΣΣΑΣ η τιμή της i όταν ολοκληρωθεί ο βρόχος είναι απροσδιόριστη.
Παιδιά το θέμα αυτό το έχουμε εξαντλήσει.
Είναι 11.
Όπως και να το δεις (για τη ΓΛΩΣΣΑ μιλάμε).
Και με αντίστοιχο Δ.Ρ. και με αντίστοιχη ΟΣΟ.
Ανδρέας
ευχαριστώ παιδια. αυτο πιστευω κ εγώ.11
Ενώ συμφωνώ με τους περισσότερους (η τελική τιμή σύμφωνα με το σχολικό είναι 11), πιστεύω όμως ότι το θέμα δεν πρέπει να μας απασχολεί και δεν πρέπει (μπορεί) να μπει στις εξετάσεις. Τελικά είναι ζήτημα καθαρά "τεχνικό" της γλώσσας και όχι ουσιαστικό. Πρέπει να μεταδώσουμε στους μαθητές μας ότι έξω από το ΓΙΑ δεν υφίσταται η μεταβλητή - μετρητής. Δεν έχει αξία ούτε χρησιμότητα και δεν πρέπει να την χρησιμοποιούμε.
Αν δεχθούμε στην ουσία ότι έχει τιμή 11 και όχι 10, όπως επίσης και αν δεχθούμε ότι αυτό οφείλετε στο αντίστοιχο διάγραμμα ροής και στην αντιστοίχιση με την εντολή ΟΣΟ τότε θα πρέπει να θεωρήσουμε και το παρακάτω σωστό με την ίδια ακρίβώς επιχειρηματολογία:
ΓΙΑ ι από 1 μέχρι 5 ΜΕ_ΒΗΜΑ 1
ΓΡΑΨΕ ι
ι <-- ι + 2
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ.
Πώς δηλαδή απαγορεύουμε στους μαθητές να μεταβάλλουν την τιμη του μετρητή μέσα στο βρόχο;
Την "απαγορεύουμε" για τον απλό λόγο ότι αυτή δεν είναι η φιλοσοφία της δομής Για
Η δομή Για μας διευκολύνει σε περιπτώσεις που γνωρίζουμε τον αριθμό των επαναλήψεων και έχουμε σταθερό βήμα ώστε να γράψουμε μια πιο απλή δομή και πιο κατανοητή
Αν την χρησιμοποιήσουμε σε παράδειγμα όιπως το παραπάνω, τότε είναι άχρηστη
Η δομή "Όσο" είναι αρκετή