Απορία στην ΓΙΑ

Ξεκίνησε από tkon, 02 Ιουν 2017, 02:33:04 ΜΜ

« προηγούμενο - επόμενο »

tkon

Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν
Σωστό ή Λάθος;
Και γιατί;

thanos_xg

H ΓΙΑ συμπεριφέρεται όπως και η αντίστοιχή της ΟΣΟ. Αν το βήμα είναι 0 τότε η μεταβλητή ελέγχου της ΓΙΑ άρα και της ΟΣΟ δεν μεταβάλλεται. Έτσι έχουμε ατέρμονα βρόχο.
Σε κάθε άλλη περίπτωση η ΓΙΑ δεν θα εκτελείται καθόλου ή θα εκτελείται κάποιες συγκεκριμένες φορές σύμφωνα με τον τύπο
(τελ_τιμή-αρχ_τιμη) div βήμα +1....

Μετά από αυτά η απάντηση στο σωστό-λάθος είναι ΣΩΣΤΟ
Θανάσης Χ.

tkon

Σε διαγώνισμα 11/12/2016 ( Εκπαίδευση εν τάξη)
Στις απαντήσεις το δίνει ΛΑΘΟΣ

evry

Δίνω δυο τμήματα κώδικα με Για
Κώδικας: pascal
Για i από 10 μέχρι 1 με βήμα 0


Κώδικας: pascal
Για i από 1 μέχρι 10 με βήμα 0


Αφού για τις παραπάνω υπάρχει ισοδύναμο τμήμα της Όσο ποιο είναι αυτό σε κάθε περίπτωση?
Παράθεση από: thanos_xg στις 02 Ιουν 2017, 05:34:47 ΜΜ
H ΓΙΑ συμπεριφέρεται όπως και η αντίστοιχή της ΟΣΟ. Αν το βήμα είναι 0 τότε η μεταβλητή ελέγχου της ΓΙΑ άρα και της ΟΣΟ δεν μεταβάλλεται. Έτσι έχουμε ατέρμονα βρόχο.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Λαμπράκης Μανώλης

εγώ αυτό που έχω στο μυαλό μου  είναι το εξής: (αν δεν κάνω λάθος το είχα διαβάσει εδώ από τον συνάδελφο Παναγιώτη Τσιωτάκη, για να μην το ψάχνω το γράφω απευθείας)

όταν εκτελείται ένας βρόγχος ΓΙΑ είναι σαν να εκτελείται το ακόλουθο

Αν βήμα= 0 τότε
   γράψε "άπειρες"
Αλλιώς_αν βήμα>'τότε
   κ<-- τιμή_από
   'Οσο κ<= τιμή_μέχρι επανάλαβε
       εντολές
       κ<--κ+βήμα
   Τέλος_επανάληψης
Αλλιώς   ! βήμα<0 τότε
   κ<-- τιμή_από
   'Οσο κ>= τιμή_μέχρι επανάλαβε
       εντολές
       κ<--κ+βήμα
   Τέλος_επανάληψης
Τέλος_αν

..... εγώ έτσι το αντιλαμβάνομαι, το βήμα 0 οδηγεί "αυτόματα" σε ατέρμων βρόχο


evry

Το θέμα δεν είναι πως το αντιλαμβάνεται ο καθένας μας αλλά πως προκύπτει αυτό με κάποιον μεθοδολογικό τρόπο. Και εγώ μπορώ να παραθέσω ένα άλλο σκεπτικό αλλά το θέμα είναι
α) ποιο είναι το σκεπτικό του βιβλίου
β) αν αυτό είναι ορθολογικό και δεν έρχεται σε σύγκρουση με αυτό που συμβαίνει στις περισσότερες γλώσσες προγραμματισμού

όσον αφορά το σκεπτικό του βιβλίου στο βιβλίο καθηγητή σελ. 71 λέει

ισχύουν οι επόμενοι περιορισμοί:
1) από <= μέχρι με βήμα >0
2) από >= μέχρι με βήμα <0
3) βήμα <> 0


Από αυτό καταλαβαίνω ότι το βήμα δεν μπορεί να είναι 0.

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

Το τελευταίο βέβαια είναι αντιφατικό, αλλά αν το συνδυάσει κανείς με αυτό που λέει στο βιβλίο καθηγητή μάλλον θα πρέπει να καταλήξει στο γεγονός ότι το βήμα 0 δεν επιτρέπεται. Δηλαδή είναι λάθος.

Όσον αφορά το β) νομίζω δεν θέλει δικαιολόγηση. Η συγκεκριμένη Για είναι μια από τις χειρότερες προγραμματιστικές δομές που έχω δει.
Δημιουργεί πολλές παρανοήσεις στους μαθητές γιατί η σειρά των βημάτων (έλεγχος, μεταβολή μετρητή, εντολές) δεν φαίνεται ξεκάθαρα όπως στην Όσο.

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

bagelis

σελίδα 8 οδηγίες διδασκαλίας έτους 2017-18

Είναι αποδεκτή και διδάσκεται η αναφορά του βιβλίου της Γ' ΓΕΛ, δηλαδή αν το βήμα είναι

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

evry

Παράθεση από: bagelis στις 02 Ιουν 2017, 11:38:20 ΜΜ
σελίδα 8 οδηγίες διδασκαλίας έτους 2017-18
Βγήκαν κιόλας οι οδηγίες για του χρόνου?  :D

Παράθεση
Είναι αποδεκτή και διδάσκεται η αναφορά του βιβλίου της Γ' ΓΕΛ, δηλαδή αν το βήμα είναι
μηδέν, σε κάθε περίπτωση, ο βρόχος εκτελείται άπειρες φορές.
Αυτό προσκρούει στο β) που έλεγα ότι πρέπει να υπάρχει ένας μηχανισμός που να έχει νόημα στην λειτουργία της Για. Η μετατροπή της Για σε Όσο με 2-3 Αν δείχνει ότι κάτι δεν πάει καλά στην όλη θεώρηση.
Πέρα από το γεγονός ότι μια ξερή οδηγία δε μου λέει κάτι, γιατί όπως αυτή η οδηγία αναίρεσε το βιβλίο καθηγητή μπορεί αύριο κάποιος άλλος να στείλει μια άλλη οδηγία που να αναιρεί αυτή. Πέρα από το γεγονός ότι αυτό είναι μειωτικό για το μάθημα δείχνει αντιεπιστημονικότητα. Όλες αυτές οι αποφάσεις πρέπει να έχουν από πίσω ένα σκεπτικό επιστημονικό και παιδαγωγικό.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

bugman

Η  Για πρέπει να έχει καθορισμένο αριθμό επαναλήψεων. Οι άπειρες επαναλήψεις δεν μπορεί να είναι σωστή λειτουργία. Με μηδενικό βήμα η εκτέλεση θα πρέπει να σταματάει και να βγαίνει λάθος. Βήμα, αρχική και τελική τιμή λογαριάζονται μια φορά πριν ξεκινήσει η επανάληψη, άρα η συνθήκη..."το βήμα είναι μηδέν" είναι γνωστή πριν πάει σε "άπειρες" επαναλήψεις. Μόνο αν το θέλει ο κατασκευαστής της υλοποίησης της ΓΛΩΣΣΑΣ μπορεί να αφήσει να μπορεί να μπει η Για σε άπειρες επαναλήψεις.
Δεν υπάρχει περίπτωση να ζητηθεί σε άσκηση μηδενικό βήμα. Δηλαδή μηδενικό βήμα σημαίνει αυτόματα λάθος.
Κάθε πρόγραμμα πρέπει να τερματίζει και αν θεωρήσουμε αποδεκτή την δυνατότητα για άπειρες επαναλήψεις της Για, τότε πρέπει να υπάρχει εντολή  εξόδου από την Για, κάτι σαν Έξοδος Για. Όμως δεν υπάρχει τέτοια εντολή, ούτε παρόμοια για άλλες επαναλήψεις. Άρα ένα πρόγραμμα με Για με μηδενικό βήμα δεν μπορεί προγραμματιστικά να τερματίσει, και αυτό δεν είναι αποδεκτό.

vistrian

ΘΕΜΑ: Οδηγίες για τη διδασκαλία του μαθήματος «Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον» της Γ΄ τάξης Ημερήσιου Γενικού Λυκείου για το σχολ. έτος 2015
– 2016


13. Μετατροπές από μία δομή επανάληψης σε άλλη
σελίδα 8

Στο βιβλίο της Β' (ΕΑΕΗΥ σελ 41, στο περιθώριο) Αναφέρεται:
Αν τ1 > τ2 και β=0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές, ενώ αν τ1<=τ2 και β=0 θα
εκτελείται άπειρες φορές (ατέρμονας βρόχος).
Στο Βιβλίο της Γ' (ΑΕΠΠ σελ 44, στην παλιά εκτύπωση του βιβλίου) αναφέρεται: "Έτσι το βήμα δεν
μπορεί να είναι μηδέν γιατί τότε ο βρόχος εκτελείται επ'άπειρον".

Είναι αποδεκτή και διδάσκεται η αναφορά του βιβλίου της Γ' ΓΕΛ, δηλαδή αν το βήμα είναι μηδέν,
σε κάθε περίπτωση, ο βρόχος εκτελείται άπειρες φορές.



ΠΑΡΑΡΤΗΜΑ Α
ΟΔΗΓΙΕΣ ΜΕΛΕΤΗΣ ΜΑΘΗΤΗ

σελίδα 15
Ο αριθμός του βήματος μπορεί να είναι θετικός ή αρνητικός και αυτό καθορίζει τον έλεγχο για την επανάληψη. Έτσι έχουμε τις περιπτώσεις:
1. Βήμα =1 : παραλείπεται το ΜΕ_ΒΗΜΑ 1 και η μεταβλητή αυξάνεται κατά +1.
2. Βήμα > 0 : τότε πρέπει να ισχύει τιμή1 ≤ τιμή2 για να εκτελεστεί τουλάχιστον μια φορά ο βρόχος.
3. Βήμα < 0 : τότε πρέπει να ισχύει τιμή ≥ τιμή2 για να εκτελεστεί τουλάχιστον μια φορά ο βρόχος.
4. Βήμα = 0 : τότε ο βρόχος είναι ατέρμων.
VR in Computing

evry

Παράθεση από: vistrian στις 03 Ιουν 2017, 01:12:39 ΜΜ
Στο βιβλίο της Β' (ΕΑΕΗΥ σελ 41, στο περιθώριο) Αναφέρεται:
Αν τ1 > τ2 και β=0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές,

Παράθεση
Στο Βιβλίο της Γ' (ΑΕΠΠ σελ 44, στην παλιά εκτύπωση του βιβλίου) αναφέρεται: "Έτσι το βήμα δεν μπορεί να είναι μηδέν γιατί τότε ο βρόχος εκτελείται επ'άπειρον".

Παράθεση
Είναι αποδεκτή και διδάσκεται η αναφορά του βιβλίου της Γ' ΓΕΛ, δηλαδή αν το βήμα είναι μηδέν,
σε κάθε περίπτωση, ο βρόχος εκτελείται άπειρες φορές.


Πολύ σωστά. Διαφορετικές οδηγίες σε διαφορετικά βιβλία και διαφορετικές χρονιές όπως έλεγα και πριν. Τι από όλα ισχύει? Θα μου πείτε η τελευταία οδηγία για το φετινό σχολικό έτος.
Σε αυτή την περίπτωση μπορώ να απαντήσω ότι αυτή η οδηγία ισχύει μέχρι το τέλος του σχολικού έτους, δηλαδή έχει λίγες μέρες ζωής ακόμα. Από 1η Ιούλιου παύει να ισχύει, άρα?

Νομίζω ότι η συγκεκριμένη δομή ήταν εξαρχής προβληματική και θα πρέπει να επανοριστεί με πιο απλούς όρους και με έναν ενιαίο μηχανισμό λειτουργίιας όπως συμβαίνει σε όλες τις γλώσσες (C, Java, Python, κλπ)




What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

bugman

Σίγουρα μηδενικό βήμα είναι λάθος, και η περιγραφή ότι "τότε ο βρόχος είναι ατέρμων", δίνεται ως αιτιολογία για αποφυγή.

evry

@bugman
Συμφωνώ μαζί σου

Όμως επειδή το φόρουμ το παρακολουθούν και μαθητές και οι εξετάσεις πλησιάζουν να πούμε ότι αυτή τη στιγμή αν πέσει τέτοιο θέμα, αυτή τη στιγμή η αποδεκτή απάντηση είναι:
Αν ο βρόχος Για έχει μηδενικό βήμα εκτελείται άπειρες φορές!!
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Sergio

Παράθεση από: evry στις 04 Ιουν 2017, 09:49:07 ΠΜ
Όμως επειδή το φόρουμ το παρακολουθούν και μαθητές και οι εξετάσεις πλησιάζουν να πούμε ότι αυτή τη στιγμή αν πέσει τέτοιο θέμα, αυτή τη στιγμή η αποδεκτή απάντηση είναι:
Αν ο βρόχος Για έχει μηδενικό βήμα εκτελείται άπειρες φορές!!

Συμφωνώ απόλυτα..

Χωρίς να είμαι σίγουρος όμως, έχω την εντύπωση πως σε κάποιες οδηγίες που στάλθηκαν, υπήρχε αναφορά σε αυτό τον τρόπο "ερμηνείας" μιας ΓΙΑ:

Παράθεση από: vistrian στις 03 Ιουν 2017, 01:12:39 ΜΜ
Αν τ1 > τ2 και β=0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές, ενώ αν τ1<=τ2 και β=0 θα
εκτελείται άπειρες φορές (ατέρμονας βρόχος).

Ας βοηθήσει κάποιος που θυμάται καλύτερα, υπήρχε κάτι σχετικό σε κάποια  φετινή (ή περυσινή) οδηγία / εγκύκλιο;

Παράθεση από: evry στις 03 Ιουν 2017, 08:56:26 ΠΜ
.. πρέπει να υπάρχει ένας μηχανισμός που να έχει νόημα στην λειτουργία της Για..

Νομίζω πως εύκολα μπορούμε να διδάξουμε μια συνεπή "συμπεριφορά - λειτουργία" της ΓΙΑ που να καλύπτει επαρκώς ΚΑΙ τις 2 αναφορές σε σχολικά βιβλία, αν απλά θεωρούμε πως:

ΓΙΑ χ ΑΠΟ α ΜΕΧΡΙ μ ΜΕ_ΒΗΜΑ β

ισοδυναμεί με:

1) όταν β < 0
ΟΣΟ χ >= μ επανάλαβε

2) όταν β >= 0
ΟΣΟ χ <= μ επανάλαβε
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

bagelis

Παράθεση από: Sergio στις 07 Ιουν 2017, 10:01:04 ΜΜ
Αν τ1 > τ2 και β=0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές, ενώ αν τ1<=τ2 και β=0 θα
εκτελείται άπειρες φορές (ατέρμονας βρόχος).

Χωρίς να είμαι σίγουρος όμως, έχω την εντύπωση πως σε κάποιες οδηγίες που στάλθηκαν, υπήρχε αναφορά σε αυτό τον τρόπο "ερμηνείας" μιας ΓΙΑ:

Ας βοηθήσει κάποιος που θυμάται καλύτερα, υπήρχε κάτι σχετικό σε κάποια  φετινή (ή περυσινή) οδηγία / εγκύκλιο;
Αυτά αναφέρει το βιβλίο της Β΄ Λυκείου