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

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

Τίτλος: Απορία στην ΓΙΑ
Αποστολή από: tkon στις 02 Ιουν 2017, 02:33:04 ΜΜ
Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν
Σωστό ή Λάθος;
Και γιατί;
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: thanos_xg στις 02 Ιουν 2017, 05:34:47 ΜΜ
H ΓΙΑ συμπεριφέρεται όπως και η αντίστοιχή της ΟΣΟ. Αν το βήμα είναι 0 τότε η μεταβλητή ελέγχου της ΓΙΑ άρα και της ΟΣΟ δεν μεταβάλλεται. Έτσι έχουμε ατέρμονα βρόχο.
Σε κάθε άλλη περίπτωση η ΓΙΑ δεν θα εκτελείται καθόλου ή θα εκτελείται κάποιες συγκεκριμένες φορές σύμφωνα με τον τύπο
(τελ_τιμή-αρχ_τιμη) div βήμα +1....

Μετά από αυτά η απάντηση στο σωστό-λάθος είναι ΣΩΣΤΟ
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: tkon στις 02 Ιουν 2017, 05:48:27 ΜΜ
Σε διαγώνισμα 11/12/2016 ( Εκπαίδευση εν τάξη)
Στις απαντήσεις το δίνει ΛΑΘΟΣ
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 02 Ιουν 2017, 09:26:05 ΜΜ
Δίνω δυο τμήματα κώδικα με Για
Κώδικας (pascal) [Επιλογή]

Για i από 10 μέχρι 1 με βήμα 0


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

Για i από 1 μέχρι 10 με βήμα 0


Αφού για τις παραπάνω υπάρχει ισοδύναμο τμήμα της Όσο ποιο είναι αυτό σε κάθε περίπτωση?
Παράθεση από: thanos_xg στις 02 Ιουν 2017, 05:34:47 ΜΜ
H ΓΙΑ συμπεριφέρεται όπως και η αντίστοιχή της ΟΣΟ. Αν το βήμα είναι 0 τότε η μεταβλητή ελέγχου της ΓΙΑ άρα και της ΟΣΟ δεν μεταβάλλεται. Έτσι έχουμε ατέρμονα βρόχο.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 02 Ιουν 2017, 10:24:22 ΜΜ
εγώ αυτό που έχω στο μυαλό μου  είναι το εξής: (αν δεν κάνω λάθος το είχα διαβάσει εδώ από τον συνάδελφο Παναγιώτη Τσιωτάκη, για να μην το ψάχνω το γράφω απευθείας)

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

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

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

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 02 Ιουν 2017, 10:52:23 ΜΜ
Το θέμα δεν είναι πως το αντιλαμβάνεται ο καθένας μας αλλά πως προκύπτει αυτό με κάποιον μεθοδολογικό τρόπο. Και εγώ μπορώ να παραθέσω ένα άλλο σκεπτικό αλλά το θέμα είναι
α) ποιο είναι το σκεπτικό του βιβλίου
β) αν αυτό είναι ορθολογικό και δεν έρχεται σε σύγκρουση με αυτό που συμβαίνει στις περισσότερες γλώσσες προγραμματισμού

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

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


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

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

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

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

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bagelis στις 02 Ιουν 2017, 11:38:20 ΜΜ
σελίδα 8 οδηγίες διδασκαλίας έτους 2017-18

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

μηδέν, σε κάθε περίπτωση, ο βρόχος εκτελείται άπειρες φορές.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 03 Ιουν 2017, 08:56:26 ΠΜ
Παράθεση από: bagelis στις 02 Ιουν 2017, 11:38:20 ΜΜ
σελίδα 8 οδηγίες διδασκαλίας έτους 2017-18
Βγήκαν κιόλας οι οδηγίες για του χρόνου?  :D

Παράθεση
Είναι αποδεκτή και διδάσκεται η αναφορά του βιβλίου της Γ' ΓΕΛ, δηλαδή αν το βήμα είναι
μηδέν, σε κάθε περίπτωση, ο βρόχος εκτελείται άπειρες φορές.
Αυτό προσκρούει στο β) που έλεγα ότι πρέπει να υπάρχει ένας μηχανισμός που να έχει νόημα στην λειτουργία της Για. Η μετατροπή της Για σε Όσο με 2-3 Αν δείχνει ότι κάτι δεν πάει καλά στην όλη θεώρηση.
Πέρα από το γεγονός ότι μια ξερή οδηγία δε μου λέει κάτι, γιατί όπως αυτή η οδηγία αναίρεσε το βιβλίο καθηγητή μπορεί αύριο κάποιος άλλος να στείλει μια άλλη οδηγία που να αναιρεί αυτή. Πέρα από το γεγονός ότι αυτό είναι μειωτικό για το μάθημα δείχνει αντιεπιστημονικότητα. Όλες αυτές οι αποφάσεις πρέπει να έχουν από πίσω ένα σκεπτικό επιστημονικό και παιδαγωγικό.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 03 Ιουν 2017, 10:28:21 ΠΜ
Η  Για πρέπει να έχει καθορισμένο αριθμό επαναλήψεων. Οι άπειρες επαναλήψεις δεν μπορεί να είναι σωστή λειτουργία. Με μηδενικό βήμα η εκτέλεση θα πρέπει να σταματάει και να βγαίνει λάθος. Βήμα, αρχική και τελική τιμή λογαριάζονται μια φορά πριν ξεκινήσει η επανάληψη, άρα η συνθήκη..."το βήμα είναι μηδέν" είναι γνωστή πριν πάει σε "άπειρες" επαναλήψεις. Μόνο αν το θέλει ο κατασκευαστής της υλοποίησης της ΓΛΩΣΣΑΣ μπορεί να αφήσει να μπορεί να μπει η Για σε άπειρες επαναλήψεις.
Δεν υπάρχει περίπτωση να ζητηθεί σε άσκηση μηδενικό βήμα. Δηλαδή μηδενικό βήμα σημαίνει αυτόματα λάθος.
Κάθε πρόγραμμα πρέπει να τερματίζει και αν θεωρήσουμε αποδεκτή την δυνατότητα για άπειρες επαναλήψεις της Για, τότε πρέπει να υπάρχει εντολή  εξόδου από την Για, κάτι σαν Έξοδος Για. Όμως δεν υπάρχει τέτοια εντολή, ούτε παρόμοια για άλλες επαναλήψεις. Άρα ένα πρόγραμμα με Για με μηδενικό βήμα δεν μπορεί προγραμματιστικά να τερματίσει, και αυτό δεν είναι αποδεκτό.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: vistrian στις 03 Ιουν 2017, 01:12:39 ΜΜ
ΘΕΜΑ: Οδηγίες για τη διδασκαλία του μαθήματος «Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον» της Γ΄ τάξης Ημερήσιου Γενικού Λυκείου για το σχολ. έτος 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 : τότε ο βρόχος είναι ατέρμων.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 03 Ιουν 2017, 04:22:22 ΜΜ
Παράθεση από: vistrian στις 03 Ιουν 2017, 01:12:39 ΜΜ
Στο βιβλίο της Β' (ΕΑΕΗΥ σελ 41, στο περιθώριο) Αναφέρεται:
Αν τ1 > τ2 και β=0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές,

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

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


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

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




Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 03 Ιουν 2017, 08:28:02 ΜΜ
Σίγουρα μηδενικό βήμα είναι λάθος, και η περιγραφή ότι "τότε ο βρόχος είναι ατέρμων", δίνεται ως αιτιολογία για αποφυγή.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 04 Ιουν 2017, 09:49:07 ΠΜ
@bugman
Συμφωνώ μαζί σου

Όμως επειδή το φόρουμ το παρακολουθούν και μαθητές και οι εξετάσεις πλησιάζουν να πούμε ότι αυτή τη στιγμή αν πέσει τέτοιο θέμα, αυτή τη στιγμή η αποδεκτή απάντηση είναι:
Αν ο βρόχος Για έχει μηδενικό βήμα εκτελείται άπειρες φορές!!
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Sergio στις 07 Ιουν 2017, 10:01:04 ΜΜ
Παράθεση από: 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
ΟΣΟ χ <= μ επανάλαβε
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bagelis στις 08 Ιουν 2017, 09:47:30 ΜΜ
Παράθεση από: Sergio στις 07 Ιουν 2017, 10:01:04 ΜΜ
Αν τ1 > τ2 και β=0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές, ενώ αν τ1<=τ2 και β=0 θα
εκτελείται άπειρες φορές (ατέρμονας βρόχος).

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

Ας βοηθήσει κάποιος που θυμάται καλύτερα, υπήρχε κάτι σχετικό σε κάποια  φετινή (ή περυσινή) οδηγία / εγκύκλιο;
Αυτά αναφέρει το βιβλίο της Β΄ Λυκείου
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: akalest0s στις 09 Ιουν 2017, 02:01:37 ΜΜ
Έχω κάνει τεράστια προσπάθεια να κρατηθώ κόσμιος με αυτό το μάθημα. Πραγματικά έχω βγει από τα ρούχα μου άπειρες φορές, τα τελευταία χρόνια που διαβάζω ΑΕΠΠ. Άπειρα εγκεφαλικά... ΒΟΗΘΑΤΕ!
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: itt στις 09 Ιουν 2017, 02:27:56 ΜΜ
Παράθεση από: akalest0s στις 09 Ιουν 2017, 02:01:37 ΜΜ
Έχω κάνει τεράστια προσπάθεια να κρατηθώ κόσμιος με αυτό το μάθημα. Πραγματικά έχω βγει από τα ρούχα μου άπειρες φορές, τα τελευταία χρόνια που διαβάζω ΑΕΠΠ. Άπειρα εγκεφαλικά... ΒΟΗΘΑΤΕ!

Ίσως θα ήθελες να γίνεις πιο συγκεκριμένος;
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: akalest0s στις 09 Ιουν 2017, 02:36:52 ΜΜ
Μιλάω για τις ασάφειες που υπάρχουν. Δε μπορεί να χωρέσει το μυαλό μου το χάος που έχει δημιουργηθεί με τις αλλεπάλληλες ασάφειες του μαθήματος, την αποτυχία υλοποίησης μιας αρχικά καλής σκέψης (να αναπτυχθεί η αλγοριθμική σκέψη και όχι να "βγάλουμε" προγραμματιστές), κλπ.
Συγγνώμη αν μπέρδεψε το προηγούμενο μήνυμά μου, απλά μου φαίνεται ασύλληπτη η κατάσταση. Δεν θέλω να επεκταθώ, σίγουρα δεν είναι του παρόντος.
Ως νέος καθηγητής, με μεγάλη αγάπη για το αντικείμενο, θλίβομαι πάντως.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Laertis στις 09 Ιουν 2017, 04:00:56 ΜΜ
Παράθεση από: akalest0s στις 09 Ιουν 2017, 02:01:37 ΜΜ
Έχω κάνει τεράστια προσπάθεια να κρατηθώ κόσμιος με αυτό το μάθημα. Πραγματικά έχω βγει από τα ρούχα μου άπειρες φορές, τα τελευταία χρόνια που διαβάζω ΑΕΠΠ. Άπειρα εγκεφαλικά... ΒΟΗΘΑΤΕ!

Δεν έχεις εντελώς άδικο akalest0s αλλά σκέψου ότι αυτό το βιβλίο έχει πλέον ενηλικιωθεί (έγινε 18 ετών), γράφηκε το 1999 και χρήζει σίγουρα αντικατάστασης. Αλλά δυστυχώς εδώ που φτάσαμε, το πρωτεύον ζήτημα είναι να κρατήσουμε το μάθημα και την Πληροφορική ζωντανή στο εκπαιδευτικό μας σύστημα γιατί από όσα είδαμε μέχρι τελευταία είμαστε στην εντατική και από ότι ότι διαφαίνεται μάλλον θα βλέπουμε τα ραδίκια ανάποδα σύντομα αν δεν υπάρξει κοινή και αποφασιστική δράση.
Οπότε θα σε παρακαλούσα να μετριάσεις το θυμό σου γιατί πιθανώς σε λίγο καιρό να μην έχει λόγο ύπαρξης, και να βρεις κάποιους λόγους να υπερασπιστείς το μάθημα αντί να το λιθοβολάς.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: akalest0s στις 10 Ιουν 2017, 01:57:09 ΠΜ
Εξήγησε γιατί θεωρείς ότι το λιθοβόλησα.
Λόγω off-topic, συνεχίζουμε αν θες σε πιο κατάλληλο θέμα, ή σε πμ.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Laertis στις 10 Ιουν 2017, 07:15:37 ΜΜ
Ίσως το "λιθοβολάς" ακούστηκε βαρύ, οπότε σου στέλνω pm για να μην απασχολούμε το topic.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Sergio στις 11 Ιουν 2017, 10:11:09 ΠΜ
Παράθεση από: akalest0s στις 09 Ιουν 2017, 02:36:52 ΜΜ
..την αποτυχία υλοποίησης μιας αρχικά καλής σκέψης (να αναπτυχθεί η αλγοριθμική σκέψη και όχι να "βγάλουμε" προγραμματιστές)..

ΔΥΣΤΥΧΩΣ, τείνω να συμφωνήσω.. με τις ευθύνες να βαρύνουν όλους.. και ΟΧΙ μόνον το βιβλίο
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Sergio στις 11 Ιουν 2017, 01:15:06 ΜΜ
Με μεγάλη μου έκπληξη διαπίστωσα, για μια ακόμα φορά, πως, παρά τα 15 και πλέον χρόνια ενασχόλησής μου με το μάθημα από διάφορες θέσεις, μόλις αντιλήφθηκα πως το υπό συζήτηση θέμα πιθανόν είναι ήδη απαντημένο στο βιβλίο.  Και η έκπληξή μου αφορά αποκλειστικά ΕΜΕΝΑ οπότε δεν θα ήθελα να ληφθεί σε καμία περίπτωση ως άμεση ή έμμεση αιχμή για τους συναδέλφους που συμμετέχουν σε συζητήσεις σχετικά με το μηδενικό βήμα της Για.  Κρίνω απαραίτητο να κάνω αυτή την επισήμανση αφού η μέχρι τώρα εμπειρία στο εξαιρετικό αυτό forum συζήτησης έχει να επιδείξει πολλές περιπτώσεις ατέρμονων συζητήσεων που συχνά καταλήγουν σε στείρες αντιπαραθέσεις που χαλούν το κλίμα συνεργασίας και ανταλλαγής απόψεων που θεωρώ απαραίτητο για την προαγωγή του μαθήματος.

Ξαναδιαβάζοντας, λοιπόν, το βιβλίο παρατηρώ τα εξής:  :

1. (Παράδειγμα 10. κεφαλαίου 2 - ΠΡΩΤΗ αναφορά την εντολή ΓΙΑ) "..Οπως γίνεται φανερό, η εντολή Για...από...μέχρι περιλαμβάνει όλα τα απαιτούμενα στοιχεία για την επανάληψη, δηλαδή αρχική τιμή της μεταβλητής i (=1) και τελική τιμή (=100). Το βήμα μεταβολής της μεταβλητής i είναι 1, το οποίο υπονοείται και δεν σημειώνεται, όταν είναι 1..."

2. ΑΚΡΙΒΩΣ κάτω από αυτό το κείμενο, δίνεται η διαγραμματική αναπαράσταση της ΓΙΑ που χρησιμοποιεί ως συνθήκη συνέχειας την "i <= 100".

Μέχρι στιγμής, ΚΑΜΙΑ αναφορά στο πρόσημο του βήματος, απεναντίας παρουσίαση της "προφανούς" χρήσης βήματος με τιμή 1 !!

3. (Παράδειγμα 11. κεφαλαίου 2) "..το βήμα δεν μπορεί να είναι μηδέν, γιατί τότε ο βρόχος εκτελείται επ' άπειρον..".  ΠΡΩΤΗ αναφορά σε μηδενικό βήμα.  Εν τούτοις, το πλαίσιο λειτουργίας της εντολής ΓΙΑ, όπως έχει ήδη οικοδομηθεί από τα προηγούμενα, "αιτιολογεί" το "ατέρμον" της συμπεριφοράς της.

Από τις, μέχρι αυτό το σημείο, περιγραφές συμπεραίνω πως η λειτουργία της ΓΙΑ είναι αυτή που περιγράφεται λεκτικά (σημείο 1) και αποδίδεται διαγραμματικά (σημείο 2) για κάθε τιμή του βήματος, ακόμα και για την τιμή μηδέν.

4. ΑΚΡΙΒΩΣ από κάτω, στο ίδιο παράδειγμα «..Είναι δυνατόν όμως το βήμα να έχει αρνητική τιμή, αρκεί η τιμή από να είναι μεγαλύτερη από την τιμή μέχρι..".  Σε αυτό το σημείο γίνεται η πρώτη αναφορά σε "διαφορετική" συμπεριφορά της ΓΙΑ, και η διαφοροποίηση αφορά σε αρνητικό βήμα.

Συμπεραίνω πως, το πλαίσιο λειτουργίας της ΓΙΑ "συμπληρώνεται" με τον όρο: "εφόσον το βήμα είναι αρνητικό, η συνθήκη συνέχειας ελέγχει την -ΜΗ- υπέρβαση της τελικής τιμής ως i >= τιμή_μέχρι"




ΑΠΟ ΤΑ ΠΑΡΑΠΑΝΩ, πιστεύω πως είναι ασφαλές, ΜΕ ΒΑΣΗ ΤΟ ΒΙΒΛΙΟ να θεωρήσουμε πως η "συμπεριφορά" της ΓΙΑ ορίζεται ως:

i <- τιμή_από
ΟΣΟ εντός_ορίων ΕΠΑΝΑΛΑΒΕ
   ...
   ...
   i <- i + τιμή_βήματος
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Θεωρώντας πως η συνθήκη συνέχειας εντός_ορίων διαμορφώνεται ως
i <= τιμή_μέχρι (όταν τιμή_βήματος >= 0)
i >= τιμή_μέχρι (όταν τιμή_βήματος  < 0)

Επιπλέον, η συγκεκριμένη ερμηνεία, ΣΥΜΦΩΝΕΙ και με τα διδαχθέντα στη Β' Λυκείου.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Κωστας τζιαννης στις 24 Μαΐου 2018, 10:42:28 ΜΜ
δεν ξερω τι λεει το σχολικο βιβλιο γιατι δεν ειμαι καθηγητης σε σχολειο ομως αν πας στη c,python,c++ κτλ ισχυουν τα εξης.

για ι απο 1 μεχρι 5 με βημα 1
γραψε"γεια σου"
τελος_επαναληψης

θα εκτελεστει 5 φορες

για ι απο 1 μεχρι 5 με βημα -1
γραψε"γεια σου"
τελος_επαναληψης

θα εκτελεστει απειρες φορες και αυτο ειναι λογικο αν τη μετατρεψουμε σε οσο.

ι<-1
ΟΣΟ ι<=5 επαναλαβε
  γραψε"γεια σου"
  ι<-ι-1
τελος_επαναληψης

το προγραμμα θα κρασαρει αφου εμφανισει καποιες χιλιαδες φορες το μηνυμα "γεια σου".το ιδιο και αν εχω βημα μηδεν.αυτα συμβαινουν στις αληθινες
προγραμματιστικες γλωσσες αλλα σε αυτη του λυκειου ουτε οι ιδιοι δεν ξερουν τι εχουν γραψει .στην πραγματικοτητα ομως ακομα κι οταν το βημα δεν ειναι μηδεν αλλα εχω περιπτωση σαν την παραπανω εχω και τοτε ατερμονα βροχο
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: ozorgnax στις 25 Μαΐου 2018, 03:33:30 ΜΜ
Αυτό:

για ι απο 1 μεχρι 5 με βημα -1
γραψε"γεια σου"
τελος_επαναληψης

δεν εκτελείται καμία φορά τόσο στη ΓΛΩΣΣΑ όσο και στην Python (μπορείς να το τσεκάρεις αν θέλεις). Όταν το μετατρέπεις σε ΟΣΟ, επειδή το βήμα είναι αρνητικό πρέπει να αλλάξεις το <= με >= άρα γίνεται:

ι<-1
ΟΣΟ ι>=5 επαναλαβε
  γραψε"γεια σου"
  ι<-ι-1
τελος_επαναληψης

οπότε δεν μπαίνει καθόλου μέσα
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Κωστας τζιαννης στις 25 Μαΐου 2018, 06:46:32 ΜΜ
Παράθεση από: ozorgnax στις 25 Μαΐου 2018, 03:33:30 ΜΜ
Αυτό:

για ι απο 1 μεχρι 5 με βημα -1
γραψε"γεια σου"
τελος_επαναληψης

δεν εκτελείται καμία φορά τόσο στη ΓΛΩΣΣΑ όσο και στην Python (μπορείς να το τσεκάρεις αν θέλεις). Όταν το μετατρέπεις σε ΟΣΟ, επειδή το βήμα είναι αρνητικό πρέπει να αλλάξεις το <= με >= άρα γίνεται:

ι<-1
ΟΣΟ ι>=5 επαναλαβε
  γραψε"γεια σου"
  ι<-ι-1
τελος_επαναληψης

οπότε δεν μπαίνει καθόλου μέσα

οχι εννοω αυτο που εγραψα.αν δηλαδη καποιος θελει να παει απο το 1 στο 5 με βημα -1 αντι για βημα 1 δηλαδη αν μπερδευτει κατα λαθος και αντι να αυξανει το ι αυτος το μειωνει.τοτε θα εκτελεστει απειρες φορες.στη c και c++ το δοκιμασα και το τρεχει απειρες φορες σε  python δεν το δοκιμασα ειναι η αληθεια αλλα επειδη ειναι γλωσσα υψηλου επιπεδου και επειδη η γλωσσα αυτη ειναι open-source και ο καθενας μπορει να κανει βελτιωσεις που κρινει σημαντικες,μπορει καποιοι προγραμματιστες να μεριμνησαν για αυτο οποτε ισως το καταλαβαινει και σε προστατευει μην αφηνοντας σε να μπεις μες στη για και να κανεις απειρες επαναληψεις

οντως το δοκιμασα σε python και δεν σε αφηνει.η javascript απο την αλλη και αυτη οπως η C σε αφηνει και τρεχει απειρες φορες(μεχρι να κρασαρει)
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 25 Μαΐου 2018, 06:57:23 ΜΜ
Καλησπέρα σε όλους
Φίλοι συνάδελφοι η γνώμη μου είναι πως πρέπει να συμβαδίζουμε με το σχολικό βιβλίο, καλώς ή κακώς....δεν πρέπει να απασχολεί τους μαθητές τι γίνεται στις γλώσσες προγραμματισμού, εμείς ΓΛΩΣΣΑ διδάσκουμε...οπότε στην γλώσαα το ΓΙΑ κάνει άπειρες επαναλήψεις μόνο με βήμα 0 ... για ι από 1 μέχρι 5 μεβήμα -1 κάνει 0 σύμφωνα με το βιβλίο, υπάρχει στις οδηγίες μελέτης, οπότε όλα καλά
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Κωστας τζιαννης στις 25 Μαΐου 2018, 07:04:45 ΜΜ
Παράθεση από: Λαμπράκης Μανώλης στις 25 Μαΐου 2018, 06:57:23 ΜΜ
Καλησπέρα σε όλους
Φίλοι συνάδελφοι η γνώμη μου είναι πως πρέπει να συμβαδίζουμε με το σχολικό βιβλίο, καλώς ή κακώς....δεν πρέπει να απασχολεί τους μαθητές τι γίνεται στις γλώσσες προγραμματισμού, εμείς ΓΛΩΣΣΑ διδάσκουμε...οπότε στην γλώσαα το ΓΙΑ κάνει άπειρες επαναλήψεις μόνο με βήμα 0 ... για ι από 1 μέχρι 5 μεβήμα -1 κάνει 0 σύμφωνα με το βιβλίο, υπάρχει στις οδηγίες μελέτης, οπότε όλα καλά

και γω απο οτι θυμαμαι οταν την εκανα χρονια πριν στο σχολειο νομιζω μονο με βημα μηδεν εκανε απειρες επαναληψεις ενω σε περιπτωσεις σαν την παραπανω
πχ για ι απο 1 μεχρι 5 με βημα -1 ή για ι απο 5 μεχρι 1 με βημα 1 δεν εμπαινε καθολου απο οτι θυμαμαι
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 26 Μαΐου 2018, 10:11:01 ΠΜ
Παράθεση από: Κωστας τζιαννης στις 25 Μαΐου 2018, 06:46:32 ΜΜ
οχι εννοω αυτο που εγραψα.αν δηλαδη καποιος θελει να παει απο το 1 στο 5 με βημα -1 αντι για βημα 1 δηλαδη αν μπερδευτει κατα λαθος και αντι να αυξανει το ι αυτος το μειωνει.τοτε θα εκτελεστει απειρες φορες

Επειδή το φόρουμ το διαβάζουν μαθητές και πλησιάζουν εξετάσεις καλό είναι να μην λέμε λάθος πράγματα που θα χαντακώσουν κανένα παιδάκι.

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Κωστας τζιαννης στις 26 Μαΐου 2018, 10:25:42 ΠΜ
Παράθεση από: evry στις 26 Μαΐου 2018, 10:11:01 ΠΜ
Επειδή το φόρουμ το διαβάζουν μαθητές και πλησιάζουν εξετάσεις καλό είναι να μην λέμε λάθος πράγματα που θα χαντακώσουν κανένα παιδάκι.

σωστος απλα διευκρινησα οτι ισχυει για  καποιες γλωσσες προγραμματισμου μονο οχι για τη γλωσσα.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: rovan στις 07 Μαΐου 2019, 02:36:49 ΜΜ
Απορία. Μπορεί το βήμα να μεταβάλλεται εντός της ΓΙΑ; Δηλαδη μπορούμε να εχουμε
Για Χ από 1 μέχρι 10 με_βημα μ
     Εντολες
    μ<-- μ+1
Τελος_επαναληψης
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: ikariofil στις 07 Μαΐου 2019, 03:23:15 ΜΜ
 :D :D :D
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 07 Μαΐου 2019, 04:26:23 ΜΜ
Όχι, τα τρία νούμερα, σρχική τιμή, όριο τέλους και βήμα δεν αλλάζουν μέσα στην επανάληψ,η. Ο απαριθμητής όμως μπορεί να αλλάξει, αλλά δεν το κάνουμε. Ο σκοπός είναι να προκαθορίζονται οι επαναλήψεις στη ΓΙΑ. Αν έχουμε μεταβλητή στο βήμα θα πρέπει να δείξουμε ότι δεν θα πάρει τιμή 0 πριν ξεκινήσει η επανάληψη. Αν αλλάζουμε τον απαριθμητή μέσα στην επανάληψη μπορεί να μην τελειώσει ποτέ η επανάληψη. Πχ μια Χ<-Χ+1 κάνει τη Χ να αυξάνει κατά 1 και μετά κατά το βήμα μέσα σε μια Για Χ..... Αν το βήμα είναι το -1 τότε θα έχουμε άπειρες επαναλήψεις. Γενικά αποφεύγουμε την αλλαγή της μεταβλητής της ΓΙΑ μέσα στον σώμα της, για να διατηρούμε αναγνώσιμο το κώδικα. Να δείχνει επακριβώς τι κάνει.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: rovan στις 07 Μαΐου 2019, 05:15:36 ΜΜ
αυτό υπάρχει κάπου γραμμένο επισήμως ή είναι μια εικασία;
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 07 Μαΐου 2019, 05:23:11 ΜΜ
Υπάρχει στις οδηγίες του μαθήματος του 2010 και μετά.

Ωστόσο αν θες να υλοποιήσεις κάτι τέτοιο μπορείς να χρησιμοποιήσεις την Όσο.

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

Ι<-- 1
μ <-- 1
ΟΣΟ Ι<=10 ΕΠΑΝΑΛΑΒΕ
   Εντολές
   Ι <-- Ι + μ
   μ <-- μ + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


Γιατί να μπλέξεις με τη Για?
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 13 Αυγ 2019, 05:58:40 ΠΜ
Παράθεση από: tkon στις 02 Ιουν 2017, 02:33:04 ΜΜ
Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν
Σωστό ή Λάθος;
Και γιατί;

Σε περίπτωση που το βήμα είναι 0 σίγουρα δεν ικανοποιείται το κριτήριο της περατότητας.
Ωστόσο....

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

ΠΡΟΓΡΑΜΜΑ ΆτακτοςΠρογραμματιστής
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΜΕ_ΒΗΜΑ 1
    ΓΡΑΨΕ ι
    ΑΝ ι >= 50 ΤΟΤΕ
       ι <- 1
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ "Το ι είναι ίσο με  >>  "
    ΓΡΑΨΕ ι
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΆτακτοςΠρογραμματιστής


Άρα κατά τη γνώμη μου λάθος. Δεν είναι η μόνη περίπτωση.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 13 Αυγ 2019, 10:37:14 ΠΜ
Καλημέρα σε όλους

οι οδηγίες του μαθήματος αναφέρουν πως μέσα στο σώμα της ΓΙΑ δεν μπορούμε να αλλάξουμε την τιμή του μετρητή της ... κάποια πράγματα έχουν έρθει σε αδογίες οπότε καλύτερα ας μην μπερδεύουμε τα πράγματα .. σε άλλες γλώσσες προγραμματισμού μπορεί να γίνει, σε εμας δεν μπορεί να γίνει, οπότε είναι ξεκάθαρο κατα την ταπεινή μου γνώμη
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 13 Αυγ 2019, 03:44:12 ΜΜ
Παράθεση από: Λαμπράκης Μανώλης στις 13 Αυγ 2019, 10:37:14 ΠΜ
Καλημέρα σε όλους

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

Το γνωρίζω. Λέει πως είναι bad practice, όχι ότι δε γίνεται. Οπότε εδώ θέλω να το ρωτησω. ΣΩΣΤΗ Ή ΛΑΘΟΣ η ερώτηση που βγάζω εγώ λάθος, λόγω αυτής της δυαντότητας;
Εμένα με νοιάζει η απάντηση σε αυτή την ερώτηση. Κάποιοι τη θεωρούν σωστή, κάποιοι τη βγάζουν λάθος, οπότε τι κάνουμε εδώ;


έχω δίκιο να λέω πως είναι λάθος, γιατί παραλείπει τελείως κι αγνοεί το γεγονός πως η μεταβλητή τις ΓΙΑ δύναται να αλλλάξει εντός της ΓΙΑ.
Η οδηγία του μαθήματος, αφαιρεί το δικαίωμα σε κάποιον να σκάσει τέτοιο ερώτημα στις Πανελλήνιες;
Κι αν πέσει τι θα είναι το σωστό τότε;
Το διδάσκουμε και εξηγούμε πως πρέπει να αποφεύγεται; Τότε έχω δίκιο, η ερώτηση είναι δύσκολη αλλά η απάντηση πρέπει να είναι ΛΑΘΟΣ.
Διδάσκουμε ότι ΔΕ ΓΙΝΕΤΑΙ αυτό; Τότε πρέπει να είναι ΣΩΣΤΗ.
Τι από τα δύο ισχύει;


evry Η επισύναψή σου το κάνει χειρότερο.   :D   Ισχύει πως το τετράδιο μαθητή δε συμπεριλαμβάνεται στην εξεταστέα ύλη καθόλου, όπως λέει μέσα στην οδηγία;
* odigies_gia_to_mathima_anaptixi_efarmogon_2010.pdf (325.33 KB - έγινε λήψη 41 φορές.)


Δεν αναζητώ την ορθή απάντηση από hobby. Το ψάχνω τόσο γιατί θέλω να είμαι 100% σίγουρος ΓΙΑ ΤΗΝ ΟΡΘΟΤΗΤΑ ΣΤΙΣ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ.
Για εμένα η ορθή απάντηση είναι λάθος. Αλλά δεν είμαι εγώ αυτός που θα διορθώνει γραπτά στις Εξετάσεις και δεν είμαι εγώ αυτός που θα εξετάζεται για να τεκμηριώσει την απάντηση.
Οπότε θέλω να ξέρω, στα πλαίσια του μαθήματος, στα πλαίσια των Εξετάσεων, αυτή η ερώτηση (ξέρω δε πρέπει να πέσει αλλά το 2018 έπεσε αδόμητο διάγραμμα, λέω τώρα...) είναι ΣΩΣΤΗ ή ΛΑΘΟΣ;

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 13 Αυγ 2019, 05:15:15 ΜΜ
Η ταπεινή μου πάντα άποψη, είναι δυστυχώς πως δεν πρέπει να πέσει τέτοιο ερώτημα... Χεχεχε... Δεν τρολαρω, αλλά δυστυχώς έχουν γίνει συζητήσεις και για άλλα τέτοια ερωτήματα που καλώς ή κακώς υπάρχει διαφωνία  για τον τρόπο αντιμετώπισης τους ... Εγώ δεν έχω κανένα απολύτως θέμα με τους μαθητές πάντως, τους εξηγώ πως έχουν τα πράγματα και όλα μια χαρά... Το βιβλίο, αυτό που καταλαβαίνω εγώ πάντα, λέει πως 1) άπειρες επαναλήψεις το ΓΙΑ κάνει με βήμα 0 2) δεν πρέπει να μεταβάλουμε τον μετρητη του, οπότε εγώ προσωπικά είμαι καλυμμένος
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 13 Αυγ 2019, 05:38:25 ΜΜ
Παράθεση από: Λαμπράκης Μανώλης στις 13 Αυγ 2019, 05:15:15 ΜΜ
Η ταπεινή μου πάντα άποψη, είναι δυστυχώς πως δεν πρέπει να πέσει τέτοιο ερώτημα... Χεχεχε... Δεν τρολαρω, αλλά δυστυχώς έχουν γίνει συζητήσεις και για άλλα τέτοια ερωτήματα που καλώς ή κακώς υπάρχει διαφωνία  για τον τρόπο αντιμετώπισης τους ... Εγώ δεν έχω κανένα απολύτως θέμα με τους μαθητές πάντως, τους εξηγώ πως έχουν τα πράγματα και όλα μια χαρά... Το βιβλίο, αυτό που καταλαβαίνω εγώ πάντα, λέει πως 1) άπειρες επαναλήψεις το ΓΙΑ κάνει με βήμα 0 2) δεν πρέπει να μεταβάλουμε τον μετρητη του, οπότε εγώ προσωπικά είμαι καλυμμένος
Προφανώς δε τρολάρεις καλά τα λες. Αυτή η Σ/Λ ερώτηση που ξεκίνησε αυτό το thread από πού ξεφύτρωσε; Γιατί είναι διφορούμενη αν μη τι άλλο. Στα όσα λες συμφωνώ απόλυτα, αλλά όταν έρχεται μια τέτοια ερώτηση, ξεκινάει να με τσιγκλάει κάτι μέσα μου.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 13 Αυγ 2019, 06:01:28 ΜΜ
Πάντως αν στα παραπάνω προσθέσουμε και τον "κανόνα των εμφωλευμένων επαναλήψεων " που αναφέρει πως    "Δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσότερων βρόγχων που ο ένας βρίσκεται μέσα στον άλλον ", που αναφέρεται στην δομή Για υποθέτω κυρίως, γιατί στις άλλες δύο δεν δημιουργεί κάποιο πρόβλημα , τότε θα έλεγα πως το βιβλλίο "τείνει" στο ότι ο μετρητής της ΓΙΑ δεν πρέπει/μπορεί/δεν είναι καλό να μεταβάλλεται .. από κει και πέρα ας ελπίσουμε να μην βρεθούμε στη δύσκολη θέση να χρειαστεί να το απαντήσουμε σε πανελλήνιες
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: P.Tsiotakis στις 13 Αυγ 2019, 09:18:26 ΜΜ
ΠαράθεσηΔεν πρέπει να τροποποιούμε εντός του βρόχου την τιμή του μετρητή που ελέγχει τη δομή Για. Ποτέ μην χρησιμοποιείς εντολές που αλλάζουν την αρχική τιμή, την τελική τιμή, το βήμα ή τη μεταβλητή που ελέγχει την επανάληψη μέσα σε ένα βρόχο ΓΙΑ.»
Από το απόσπασμα αυτό προκύπτει ότ ιη ΓΛΩΣΣΑ δεν περιλαμβάνεται στις «μερικές γλώσσες προγραμματισμού» που το επιτρέπουν.
έγγραφο ΥΠΕΠΘ 43652 / Γ2 / 20 - 4 - 2010.


Σελίδα 47 τετραδίου οδηγιών μελέτης μαθητή (έκδοση 2):
Παράθεση"Μέσα  στην  εντολή  «ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ...»  δεν  επιτρέπεται  να  αλλάξει  η  τιμή  της  <μεταβλητής>  του ΓΙΑ, διότι τότε δε λειτουργεί σωστά η εντολή επανάληψης"

Από όλα τα αποσπάσματα δεν τίθεται θέμα καλής πρακτικής ή ελεύθερης ερμηνείας, αλλά απαγόρευσης.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 14 Αυγ 2019, 03:54:17 ΠΜ
Αποαγορευση όμως δε σημαίνει ανυπαρξία. Ωραλια όλα αυτά, δεν απαντούν όμως ρητά τστην απορία. Τελικά ΣΩΣΤΟ ή ΛΑΘΟΣ; :-\
Δηλαδη οκ μη το κάνετε είναι βλακεία. Η ερωτηση όμως είναι θεωρητική και μάλιστα το ότι υπάρχει η απαγόρευση αυτη, ίσως τονώνει τη τάση προς ορθή απάντηση να είναι ΛΑΘΟΣ.

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

Λάθος.
Μπορείς να κάνεις το σφάλμα βήμα 0
Μπορείς επίσης να κάνεις το σφάλμα να πειράξεις εντός της ΓΙΑ τη μεταβλητή της.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 14 Αυγ 2019, 10:39:30 ΠΜ
Η απάντηση είναι: Λάθος
Όταν μιλάμε για τη δομή δεν αναφέρουμε για τον εμφωλευμένο κώδικα, αλλά για τις αρχικές τιμές στη δομή. Για την περάτωση εκτέλεσης της δομής  απαιτείται μια συνθήκη να ικανοποιείται. Αυτή η συνθήκη δεν περιλαμβάνει το βήμα. Αν λοιπόν το βήμα είναι μηδέν και η αρχική τιμή της μεταβλητής της ΓΙΑ είναι μεγαλύτερη από την τελική τότε η ΓΙΑ ακόμα και με βήμα ένα μη αρνητικό αριθμό θα τερματίσει. Το αν θα εκτελεστεί μια φορά ο κώδικας εντός ή όχι είναι θέμα υλοποίησης.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 14 Αυγ 2019, 11:36:51 ΠΜ
Καλημέρα σε όλους και χρόνια για τις γιορτές

Εγώ θα επιμείνω πάντως, στα πλαίσια του μαθήματος και του βιβλίου πάντα, θα απαντούσα Σωστό, εκεί οδηγεί το βιβλίο σύμφωνα με όλα τα παραπάνω επιχειρήματα... Η ταπεινή μου γνώμη είναι πως τους μαθητές τους ενδιαφέρει που οδηγεί το βιβλίο κι όχι οι τεχνικές λεπτομέρειες που αναλύουμε... Εγώ προσωπικά δεν αγχώνομαι καθώς υπάρχουν κι άλλες παρόμοιες λεπτομέρειες που δεν ξεκαθαριζονται, υπάρχουν πολλά τέτοια θέματα εδώ αν ψάξει κάποιος..
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 14 Αυγ 2019, 11:47:45 ΠΜ
Το παρακάτω τμήμα κώδικα είναι σωστό ή περιέχει λάθη?
Αν ναι τότε τι είδους λάθη είναι? Συντακτικά ή λογικά? (με βάση το βιβλίο δε μιλάμε?)

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

Για ι από 1 μέχρι 3
    Κάλεσε Εκτύπωσε(ι)
    Γράψε ι
Τέλος_Επανάληψης
........
Διαδικασία Εκτύπωσε( κ )
Μεταβλητές
    Ακέραιες: κ
Αρχή
   Γράψε κ
Τέλος_Διαδικασίας
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 14 Αυγ 2019, 01:27:08 ΜΜ
Ευριπίδη καλημέρα

το θέμα που έχουμε εδώ (εκτός αν έχεις κάτι άλλο στο νου σου) είναι πως η διαδικασία επιστρέφει πίσω την τιμή της παραμετρου, δηλαδή στον μετρητή της ΓΙΑ, οπότε σύμφωνα με όλα αυτά που συζητάμε σε αυτό το θέμα " υπάρχει ασάφεια " ... δύσκολη η ένταξη του σε κάποια κατηγορία λαθών κατά την γνώμη μου, εγώ σε ένα διαγώνισμα που είχα ανεβάσει είχα χρησιμποιήσει έξτρα μεταβλητή ως παράμετρο για να μην υπάρχει το γκρίζο αυτό σημείο
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: evry στις 14 Αυγ 2019, 03:43:07 ΜΜ
Το πρόβλημα που παρουσίασα δείχνει τον παραλογισμό της ΓΛΩΣΣΑΣ. Σε ποια γλώσσα προγραμματισμού συμβαίνει κάτι τέτοιο? Να μην μπορείς να περάσεις ως παράμετρο τη μεταβλητή του βρόχου? Ο συνδυασμός του συγκεκριμένου τρόπου μεταβίβασης παραμέτρων σε συνδυασμό με την απαγόρευση της αλλαγής του μετρητή της Για,δημιουργεί περισσότερα προβλήματα αντί να τα λύνει.
Το σημαντικότερο θέμα όμως κατά τη γνώμη μου είναι πως δεν είναι δυνατόν σε μια επιστήμη, να αλλάζουν τα πράγματα ανάλογα με τα κέφια του κάθε συγγραφέα. Δηλαδή στο βιβλίο λέει ότι δεν πρέπει να πείράζουμε τον μετρητή της Για. Ωραία. Λέει γιατί? Εξηγεί? Πως είναι δυνατόν να δεχόμαστε τέτοιες προτάσεις χωρίς αιτολόγηση, ειδικά όταν αυτά δεν συμβαίνουν σε άλλες γλώσσες προγραμματισμού?
Πιο πάνω είχα δώσει μια Όσο που είναι ισοδύναμη με μια Για, όπου πείραζα το μετρητή της. Εκεί γιατί επιτρέπεται?

Θα πρέπει να διαχωρίσουμε το τι είναι καλή ή κακή πρακτική από το τι είναι λάθος ή όχι. Όταν μιλάμε για ορθότητα εννοούμε πως ένα τμήμα κώδικα δεν γίνεται δεκτό από κάποια γλώσσα.
Για παράδειγμα μπορώ να βρω το μέγιστο σε έναν πίνακα 10000 θέσεων κάνοντας ταξινόμηση. Είναι καλή πρακτική? Είναι λάθος?

Και συνεχίζω με το εξής δίλημμα. Δίνεται το εξής πρόβλημα:
Να γράψετε αλγόριθμο ο οποίος να εκτελεί αναζήτηση στην τρίτη στήλη ενός πίνακα ΝxΝ και βρίσκει τη θέση του αριθμού 28.
Δυο μαθητές δίνουν τις παρακάτω λύσεις.
Τι βαθμό θα τους βάζατε? Ποιος από τους δυο έχει καλύτερη κατανόηση των αλγοριθμικών δομών και καταλαβαίνει τι κάνει?

Κώδικας (Pascal) [Επιλογή]
Αλγόριθμος Αποδοτικός
θέση <- 0
Για i από 1 μέχρι Ν
      Αν Α[i, 3]=28 Τότε
          θέση <- i
          i <- N+1
      Τέλος_Αν
Τέλος_Επανάληψης
Τέλος


Κώδικας (Pascal) [Επιλογή]
Αλγόριθμος ΩμήΒία
θέση <- 0
Για i από 1 μέχρι Ν
    Για j από 1 μέχρι Ν
      Αν Α[i, j]=28 και j=3 Τότε
          θέση <- i
      Τέλος_Αν
Τέλος_Επανάληψης
Τέλος


Να θυμηθούμε λίγο ότι η βαθμολογία έχει να κάνει με τον βαθμό επίτευξης των διδακτικών στόχων που βάζουμε. Δεν φαντάζομαι ότι ένας από αυτούς είναι μην αλλάζουν οι μαθητές τον μετρητή της Για.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 14 Αυγ 2019, 05:46:16 ΜΜ
Τα λάθη  στη ΓΛΩΣΣΑ δεν μπορώ αλλιώς να τα εξηγήσω, πέρα από το απλό, ότι η αντιγραφή χωρίς κατανόηση οδηγεί σε τέταια αποτελέσματα. Με απλά λόγια κάποιοι πήραν ένα έργο άλλου, και το προσάρμοσαν σε αυτό που λέμε ΓΛΩΣΣΑ.
@evry
Ο αποδοτικός αλγόριθμος δεν παίζει στη ΓΛΩΣΣΑ, γιατί αλλάζει την μεταβλητή i με σκοπό να τερματίσει την ΓΙΑ. Θα έπρεπε να υπήρχε μια εντολή τύπου Break πχ Έξοδος, όπου η εντολή θα τερμάτιζε άμεσα τη ΓΙΑ.
Ο σωστός αποδοτικός αλγόριθμος θα ήταν με την ΌΣΟ και τη χρήση ΣΚΟΠΟΥ δηλαδή θέλουμε μια θέση επιπλέον στο πίνακα και βάζουμε στην τελευταία του θέση το 28. Η αναζήτηση θα τερματίσει όπως και να έχει στο 28, και αν είναι το τελευταίο τότε δεν υπάρχει 28, διαφορετικά υπάρχει. Έτσι το πρόγραμμα αποκτά τέσσερις  αλλαγές, η αύξηση του πίνακα κατά ένα στη πρώτη διάσταση Α[Ν+1, Ν], η εισαγωγή του 28 στο τελευταίο στοιχείο του πίνακα, η επανάληψη όσο για ένα i με αρχική τιμή το 1 και συνθήκη Α[ι,3]<>28 και εμφωλευμένο κώδικα το i <- i + 1, και τέλος μια Αν που ξεχωρίζει αν υπάρχει ή όχι το 28 ανάλογα αν το i είναι ίσο ή μικρότερο από το Ν.

Άρα με τη σωστή επιλογή αλγόριθμου, έχουμε τον αποδοτικό αλγόριθμο.

Πάντως παραμένει το ερώτημα ως προς εκείνους που πρώτοι επίλεξαν/διαμόρφωσαν/σκέφτηκαν την ΓΛΩΣΣΑ όπως την ξέρουμε, αν βέβαια ζουν και ασχολούνται με αυτήν, το τι θα ήθελαν να αλλάξουν ή να προσθέσουν. Και επιμέρους ερωτήματα όπως αυτό: γιατί δεν έφτιαξαν έναν διερμηνευτή με χειρισμό αντικειμένων. Μπορεί να το είχαν προτείνει αλλά να απορρίφθηκε από "υπεύθυνους". Επίσης γιατί το πέρασμα με αναφορά πρέπει να γίνεται με copy in/copy out; Πότε και ποιος το καθιέρωσε αυτό, με ποιο σκεπτικό να δοθεί αυτή η λεπτομέρεια. Γιατί δεν υπάρχει συνάρτηση τυχαίων αριθμών; Γιατί δεν υπάρχουν συναρτήσεις αλφαριθμητικών;
Ίσως οι υπεύθυνοι πριν 20 χρόνια να μην ασχολούνται πια, αλλά αυτό δεν σημαίνει ότι οι νεότεροι "παντρεύτηκαν" αυτό που βρήκαν. Έπρεπε να αλλάξει η ΓΛΩΣΣΑ, να εμπλουτιστεί και να βελτιωθεί, στο περιθώριο τη "παραγωγής" εκπαιδευτικού έργου με την αρχική ΓΛΩΣΣΑ, ώστε κάθε τέσσερα με πέντε χρόνια να έρχονταν μια επόμενη έκδοση. Και αφού αυτή δεν έγινε τόσο καιρό τότε είναι καιρός να γίνει τώρα, να ξεκινήσει να φτιάχνεται η νέα έκδοση της ΓΛΩΣΣΑΣ, ώστε σε ένα με δυο χρόνια να είναι έτοιμη με το διερμηνευτή της!

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: P.Tsiotakis στις 14 Αυγ 2019, 06:39:39 ΜΜ
Διδακτικός στόχος είναι η σωστή χρήση μιας δομής επανάληψης, σύμφωνα με το σχολικό βιβλίο και τις οδηγίες διδασκαλίας του που είναι σε ισχύ.
Ούτε η αλλαγή του μετρητή του Για διερευνά κάποιο διδακτικό στόχο.
Ούτε η αλλαγή του βήματος διερευνά κάποιο διδακτικό στόχο.
Η δομή επανάληψης ΓΙΑ δεν είναι παρά ένα εργαλείο που επιτελεί συγκεκριμένη δουλειά.

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

Πάντως υπήρξαν φορές που και οι θεματοδότες δεν ήξεραν τους στόχους που ήθελαν να διερευνήσουν και παρολίγο να τινάξουν στον αέρα την εξέταση και το μάθημα.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 14 Αυγ 2019, 07:17:26 ΜΜ
 :-X :-\
Ρε παιδιά....τότε.... ???
τι είναι η αρχική ερώτηση του thread; :-\
Σωστή ή Λάθος;
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 14 Αυγ 2019, 08:47:06 ΜΜ
Παράθεση από: evry στις 14 Αυγ 2019, 11:47:45 ΠΜ
Αν ναι τότε τι είδους λάθη είναι? Συντακτικά ή λογικά? (με βάση το βιβλίο δε μιλάμε?)

@evry χωρίς να το τρέξω και χωρίς να καλοδιαβάσω το θέμα, θέλει Εκτύπωσε((ι)) ώστε να περαστεί με τιμή και όχι με "ψευτοαναφορά", γιατί τότε θεωρείται ότι προσπαθείς να αλλάξεις την τιμή του μετρητή. Κάπως έτσι δούλευε και στη Basic που ήταν πηγή έμπνευσης κάποιων από τους συγγραφείς...

Δείτε το https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Μεταβίβαση_παραμέτρων/ (https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%9C%CE%B5%CF%84%CE%B1%CE%B2%CE%AF%CE%B2%CE%B1%CF%83%CE%B7_%CF%80%CE%B1%CF%81%CE%B1%CE%BC%CE%AD%CF%84%CF%81%CF%89%CE%BD/)
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 14 Αυγ 2019, 11:02:23 ΜΜ
@GeorgeEco
Λάθος είναι γιατί το βήμα  μηδέν δεν εξασφαλίζει από μόνο του  το αν η Για θα μπει σε ατέρμονη επανάληψη.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 14 Αυγ 2019, 11:09:32 ΜΜ
@GeorgeEco
Λάθος είναι γιατί το βήμα  μηδέν δεν εξασφαλίζει από μόνο του  το αν η Για θα μπει σε ατέρμονη επανάληψη.

Ευχαριστώ για την απάντηση, αλλά τι εννοείς;
Γιατί αν το βήμα 0 δεν είναι αρκετό από μόνο του, για ατέρμονη λούπα, σημαίνει πάλι πως επεμβαίνουμε στη μεταβλητή της ΓΙΑ από μέσα της, έτσι δεν είναι;
Έπειτα από το τίτλο:
"Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν"
μου δίνεται η εντύπωση πως το θεωρεί αρκετό και δεδομένο, αλλά ρωτάει κιόλας, είναι η ΜΟΝΗ περίπτωση. Εκεί νομίζω παίζεται το ερώτημα.

Έπειτα έψαξα να τη βρω την ερώτηση, δε τη βρήκα πουθενά, ξέρει κανείς από πού φύτρωσε;
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 15 Αυγ 2019, 12:31:08 ΠΜ
Δεν ξέρω από πού ξεφύτρωσε αλλά το βήμα δεν είναι το κριτήριο του τερματισμού της ΓΙΑ. Σαφώς και υπάρχει περίπτωση με βήμα 0 και κατάλληλες τιμές από και μέχρι να έχουμε πρόβλημα, αλλά μπορεί και όχι. Άρα η απάντηση είναι Λάθος. Σε καμία περίπτωση δεν συζητώ για επέμβαση στις τιμές μέσα από την επανάληψη, γιατί απλά δεν είναι θέμα της ερώτησης.
Τίτλος: Μαθήματα Ιστορίας
Αποστολή από: P.Tsiotakis στις 15 Αυγ 2019, 11:09:11 ΠΜ
Παράθεση από: bugman στις 14 Αυγ 2019, 05:46:16 ΜΜ
Τα λάθη  στη ΓΛΩΣΣΑ δεν μπορώ αλλιώς να τα εξηγήσω, πέρα από το απλό, ότι η αντιγραφή χωρίς κατανόηση οδηγεί σε τέταια αποτελέσματα. Με απλά λόγια κάποιοι πήραν ένα έργο άλλου, και το προσάρμοσαν σε αυτό που λέμε ΓΛΩΣΣΑ.

Πάντως παραμένει το ερώτημα ως προς εκείνους που πρώτοι επίλεξαν/διαμόρφωσαν/σκέφτηκαν την ΓΛΩΣΣΑ όπως την ξέρουμε, αν βέβαια ζουν και ασχολούνται με αυτήν, το τι θα ήθελαν να αλλάξουν ή να προσθέσουν. Και επιμέρους ερωτήματα όπως αυτό: γιατί δεν έφτιαξαν έναν διερμηνευτή με χειρισμό αντικειμένων. Μπορεί να το είχαν προτείνει αλλά να απορρίφθηκε από "υπεύθυνους". Επίσης γιατί το πέρασμα με αναφορά πρέπει να γίνεται με copy in/copy out; Πότε και ποιος το καθιέρωσε αυτό, με ποιο σκεπτικό να δοθεί αυτή η λεπτομέρεια. Γιατί δεν υπάρχει συνάρτηση τυχαίων αριθμών; Γιατί δεν υπάρχουν συναρτήσεις αλφαριθμητικών;
Ίσως οι υπεύθυνοι πριν 20 χρόνια να μην ασχολούνται πια, αλλά αυτό δεν σημαίνει ότι οι νεότεροι "παντρεύτηκαν" αυτό που βρήκαν. Έπρεπε να αλλάξει η ΓΛΩΣΣΑ, να εμπλουτιστεί και να βελτιωθεί, στο περιθώριο τη "παραγωγής" εκπαιδευτικού έργου με την αρχική ΓΛΩΣΣΑ, ώστε κάθε τέσσερα με πέντε χρόνια να έρχονταν μια επόμενη έκδοση. Και αφού αυτή δεν έγινε τόσο καιρό τότε είναι καιρός να γίνει τώρα, να ξεκινήσει να φτιάχνεται η νέα έκδοση της ΓΛΩΣΣΑΣ, ώστε σε ένα με δυο χρόνια να είναι έτοιμη με το διερμηνευτή της!

Καλημέρα και χρόνια πολλά,

το βιβλίο της ΑΕΠΠ γράφτηκε από πολυμελή συγγραφική ομάδα που περιείχε και ακαδημαϊκούς. Μάλιστα ήταν το ένα από τα δύο βιβλία της ΑΕΠΠ καθώς η (πραγματική) μεταρρύθμιση Αρσένη είχε εισάγει το πολλαπλό βιβλίο. Δυστυχώς, τα βιβλία της ΑΕΠΠ ήταν πολύ διαφορετικά μεταξύ τους και αυτό δημιούργησε πραγματικές παραννοήσεις. Τελικά, διατηρήθηκε (σε όλα τα μαθήματα) 1 βιβλίο από τα δύο.
Το γιατί πραγματικά απορρίφθηκε το άλλο βιβλίο και έμεινε το γνώριμο σε όλους μας βιβλίο αποτελεί και αυτό μέρος της ιστορίας του μαθήματος.
Ο εγκέφαλος για όλες τις αλλαγές και τα 2 εξεταζόμενα μαθήματα Πληροφορικής (αλλά και όλα τα άλλα) ήταν ο πάρεδρος Πληροφορικής Γ. Παπαδόπουλος του ΠΙ.

Το πώς επιλέχθηκε η συγγραφική ομάδα από το Παιδαγωγικό Ινστιτούτο δεν το γνωρίζω (βεβαίως, το 1998 η εκπαιδευτική κοινότητα της Πληροφορικής ήταν πολύ μικρότερη.). Δεν πιστεύω ότι επιλέχθηκε με τον ίδιο τρόπο που έγινε μεταγενέστερα. Οι ελάχιστες διορθώσεις στο βιβλίο έγιναν πολύ μεταγεστέρα με έργο ΕΣΠΑ και πολύ διοικητικό κόπο. Νομικά θέματα και άλλα δεν επέτρεψαν για πολλά χρόνια την αλλαγή του βιβλίου αφού έπρεπε να υπάρχει η συναίνεση όλων των συγγραφέων (γι' αυτό βολεύει να είναι 1 ο συγγραφέας). Άλλωστε ακόμη και σήμερα είναι δύσκολο να υπάρξουν παρεμβάσεις σε βιβλία (βιβλία όχι σημειώσεις μαθητή).
Θα πρέπει να τονιστεί και το ότι ο κλάδος των Πληροφορικών απέκτησε σχολικούς συμβούλους το 2007-8. Αυτά τα στελέχη ήταν τότε ο διοικητικός συνδεκτικός κρίκος εκπαιδευτικών και ΠΙ.

Το βιβλίο ήταν πολύ μπροστά και όρισε ένα νέο πεδίο. Δεν ήταν μετάφραση εγχειριδίων χρήσης της Pascal (εύκολη επιλογή γενικότερα). Εννοείται ότι απαιτούσε σύντομα ανανέωση που δεν έγινε.
Την οριοθέτηση του μαθήματος τελικά την πραγματοποίησε η πολύ ενεργή εκπαιδευτική κοινότητα εκπαιδευτικών πληροφορικής που συνεχώς πλήθαινε. Πολλά φόρουμ και πρωτοβουλίες με κύριο αυτό εδώ και μία πολύ γόνιμη αλληλεπίδραση. Με συγκρούσεις και κατανόηση αλλά και αγάπη για αυτό το μάθημα που άλλαξε (μαζί με άλλα) το σχολείο των Δεσμών που είχαμε όλοι ως εικόνα. Το σχολείο που μας επέτρεψε να μπούμε στην Εκπαίδευση παρότι δεν είχαμε το πατρογονικό δικαίωμα.

Η συγγραφική ομάδα δεν ετοίμασε προγραμματιστικό περιβάλλον, δεν ξέρω τι ακριβώς είχε στο μυαλό της και τι σχεδιασμό είχε αλλά το μάθημα είχε σχεδιαστεί ως 4ωρο και τελικά πήραν από 1 ώρα Μαθηματικά και Φυσική και έμεινε με 2 ώρες την εβδομάδα. Το ιστορικό της μεταρρύθμισης Αρσένη, της υποδοχής που έλαβε αλλά και των αλλαγών που υπέστη ακόμη και από υπουργούς του ίδιου κόμματος είναι σε άλλο κεφάλαιο.
Το κενό κάλυψε η εκπαιδευτική κοινότητα των εκπαιδευτικών πληροφορικής με τη δημιουργία 2 προγραμματιστικών περιβαλλόντων (μεταξύ άλλων λιγότερο ολοκληρωμένων) για τη ΓΛΩΣΣΑ, το ένα δωρεάν και το άλλο επί πληρωμή. Προσωπικά, χρησιμοποιούσα το δωρεάν αλλά αγόρασα από την τσέπη μου για το σχολείο το εμπορικό για να στηρίξω την προσπάθεια (η σχολική επιτροπή δεν κάλυπτε το έξοδο) το 2003. Σίγουρα η ύπαρξη των 2 αυτών περιβαλλόντων ενίσχυσε πολύ το μάθημα αν και έρευνες έδειχναν ότι οι εκπαιδευτικοί δεν χρησιμοποιούν το εργαστήριο παρότι το μάθημα ήταν εργαστηριακό.

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

Ξέρεις το 2004 ακουγόταν στα συνέδρια (επιστημονικά συνέδρια όχι συνέδρια παρουσίασης εκπαιδευτικών παρεμβάσεων) ΚΑΙ ΠΑΛΙ (και πάντα) ότι το μάθημα μπορεί να φύγει από τις πανελλαδικές εξετάσεις. Αυτό αποδείχθηκε ράδιο Αρβύλα (έτσι εμφανίστηκε και ο κύριος Αρβίλογλου ένα απόγευμα Τρίτης). Σε ένα τέτοιο περιβάλλον εκτιμώ ότι δεν βρέθηκε ποτέ ο χρόνος και τα χρήματα, αλλά κυρίως η βούληση για ανανέωση.
Αν και κατά τη γνώμη μου αυτό δεν είναι πρόβλημα του μαθήματος της Πληροφορικής, αλλά του σχολείου. Θα έπρεπε στην 10ετία (το 2010) να έχουν αλλάξει όλα τα βιβλία του λυκείου. Το τι έγινε το 2010-11 άλλη φορά, όταν αποχαρακτηριστούν τα έγγραφα...

Γκρινιάζει κάποιος που οι μαθητές χρησιμοποιούν ουσιαστικά τα βιβλία μαθηματικών των δεσμών; Μόνο οι εκπαιδευτικοί πληροφορικής ασχολούνται με το δήθεν "αδύναμο" μάθημα και διδακτικό εγχειρίδιο. Όμως η αδυναμία είναι του εκπαιδευτικού συστήματος που επί 20 έτη διατηρεί τα ίδια σχολικά βιβλία (και νοοτροπία) όταν αλλού σε αυτό το χρονικό διάστημα έγιναν 2 εκπαιδευτικές μεταρρυθμίσεις.

Για να κλείσω όπως άρχισα, δεν πιστεύω ότι τα ενεργά μέλη της συγγραφικής ομάδας που διαμόρφωσαν το βιβλίο γνώριζαν ότι αυτό που δημιούργησαν το 1998-9 θα ήταν μετά από 20+ χρόνια ακόμη εξεταζόμενο μάθημα. Δεν πιστεύω ότι το copy in-out ήταν η πρώτη σκέψη στο μυαλό τους. Και λογικά δεν ήταν καθώς, προφανώς, δεν μπορούσαν σε εκείνη τη χρονική στιγμή να δουν την μεγάλη εικόνα.
Τόσα χρόνια μετά άλλωστε, η μεγάλη εικόνα δεν είναι ορατή σε πολλούς πολλούς ακόμη.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 15 Αυγ 2019, 06:07:49 ΜΜ
"Δεν ξέρω από πού ξεφύτρωσε αλλά το βήμα δεν είναι το κριτήριο του τερματισμού της ΓΙΑ. Σαφώς και υπάρχει περίπτωση με βήμα 0 και κατάλληλες τιμές από και μέχρι να έχουμε πρόβλημα, αλλά μπορεί και όχι. Άρα η απάντηση είναι Λάθος."

Οκ, μπορείς να μου εξηγήσεις τι εννοείς; Ενδέχεται να σε καταλαβαίνω, αλλά χωρίς τεκμηριωμένη επιβεβαίωση της απάντησης δε πάμε παραπέρα.
Θέλω να πω, λες "το βήμα δεν είναι το κριτήριο του τερματισμού της ΓΙΑ". Και λέω ναι, τεχνικά δεν είναι αυτό το κριτήριο, συμφωνώ απόλυτυα, αλλά εξαρτάται ΆΜΕΣΑ από αυτό.

Γυρνάμε στα δεδομένα μας:
Θέτει δεδομένο η ερώτηση πως το Step 0 δημιουργεί θέμα με τη περατότητα.
"Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν"


Είναι λάθος Η ΕΡΩΤΗΣΗ που θεωρεί δεδομένο το πρόβλημα περατότητας με step 0;
Αν λες αυτό, τότε συμφωνώ, από 10 σε -10 με βήμα 0 δε τρέχει για παράδειγμα, οπότε δεν υπάρχει θέμα περατότητας, οπότε θεωρώ λάθος την ερώτηση κι όχι απάντηση ΛΑΘΟΣ.
Κι αυτό βασικά μου αρκεί, η ερώτηση είναι λάθος, γιατί εκεί τείνω.


Υπάρχει κι άλλος τρόπος να δημιουργηθεί θέμα περατότητας με τη ΓΙΑ, δίχως να γίνεται επέμβαση της μεταβλητής της εκ των έσω; Αν ναι, θα μου άρεσε να έβλεπα ένα παράδειγμα.
Γιατί τότε η ερώτηση είναι λανθασμένη, αλλά και με απάντηση ΛΑΘΟΣ έτσι κι αλλιώς.


Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: ilias_s στις 15 Αυγ 2019, 06:49:13 ΜΜ
@Π. Τσιωτάκης

Είναι πολύ χρήσιμες οι πληροφορίες σχετικά με το background του μαθήματος και σε ευχαριστώ που τις παραθέτεις. Ειδικά για το όσα συνέβαιναν το 1998 υπάρχουν λίγες καταγεγραμμένες απόψεις και ακόμα λιγότερες, όπως πάντα, οι καταγραφές του κλίματος και των φημών που μόνο όσοι τις έζησαν και τις παρακολούθησαν μπορούν να τις μεταφέρουν. Μέσα από αυτά που παραθέτεις εξηγούνται και επιβεβαιώνονται πολλά.

Τώρα γιατί οι μαθηματικοί για παράδειγμα δεν γκρινιάζουν για τα βιβλία τους εγώ δεν είμαι μαθηματικός ή κάποιου είδους ειδικός για να το κρίνω. Αν τα βιβλία τους καλύπτουν τις ανάγκες των μαθημάτων καλώς δε μιλάνε. Αν δεν τις καλύπτουν και δε μιλάνε τότε υπάρχει πρόβλημα. Πάντως, πίσω στα δικά μας, όποια και αν είναι η αιτία τα μαθήματά μας πάσχουν λιγο-πολύ γενικώς. Η ΑΕΠΠ από το 1998 είχε φτιαχτεί με "κοντά πόδια" (φτωχή σε όραμα) και αυτό φάνηκε σύντομα. Το ότι αυτό, αντί να αποτελέσει κίνητρο για ανανέωση, αποτέλεσε μία ακόμη αφορμή ώστε να ανοίξει η συζήτηση για τον εξοστρακισμό του μαθήματος είναι ενδεικτικήτης νοοτροπίας που υπάρχει στην εκπαιδευτική κοινότητα.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: Λαμπράκης Μανώλης στις 15 Αυγ 2019, 07:08:55 ΜΜ
Παράθεση από: George Eco στις 15 Αυγ 2019, 06:07:49 ΜΜ
"Δεν ξέρω από πού ξεφύτρωσε αλλά το βήμα δεν είναι το κριτήριο του τερματισμού της ΓΙΑ. Σαφώς και υπάρχει περίπτωση με βήμα 0 και κατάλληλες τιμές από και μέχρι να έχουμε πρόβλημα, αλλά μπορεί και όχι. Άρα η απάντηση είναι Λάθος."

Οκ, μπορείς να μου εξηγήσεις τι εννοείς; Ενδέχεται να σε καταλαβαίνω, αλλά χωρίς τεκμηριωμένη επιβεβαίωση της απάντησης δε πάμε παραπέρα.
Θέλω να πω, λες "το βήμα δεν είναι το κριτήριο του τερματισμού της ΓΙΑ". Και λέω ναι, τεχνικά δεν είναι αυτό το κριτήριο, συμφωνώ απόλυτυα, αλλά εξαρτάται ΆΜΕΣΑ από αυτό.

Γυρνάμε στα δεδομένα μας:
Θέτει δεδομένο η ερώτηση πως το Step 0 δημιουργεί θέμα με τη περατότητα.
"Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν"


Είναι λάθος Η ΕΡΩΤΗΣΗ που θεωρεί δεδομένο το πρόβλημα περατότητας με step 0;
Αν λες αυτό, τότε συμφωνώ, από 10 σε -10 με βήμα 0 δε τρέχει για παράδειγμα, οπότε δεν υπάρχει θέμα περατότητας, οπότε θεωρώ λάθος την ερώτηση κι όχι απάντηση ΛΑΘΟΣ.
Κι αυτό βασικά μου αρκεί, η ερώτηση είναι λάθος, γιατί εκεί τείνω.


Υπάρχει κι άλλος τρόπος να δημιουργηθεί θέμα περατότητας με τη ΓΙΑ, δίχως να γίνεται επέμβαση της μεταβλητής της εκ των έσω; Αν ναι, θα μου άρεσε να έβλεπα ένα παράδειγμα.
Γιατί τότε η ερώτηση είναι λανθασμένη, αλλά και με απάντηση ΛΑΘΟΣ έτσι κι αλλιώς.

Καλησπέρα σε όλους και χρόνια πολλά

να ρωτήσω, γιατί το Για κ  από -10 μέχρι 10 με_βήμα 0 δεν τρέχει ??? σύμφωνα με τις οδηγίες μελέτης μαθητής, νέα έκδοση, σελίδα 46, αναφέρει όταν το βήμα είναι 0 έχουμε ατέρμων βρόγχο ... για μένα είναι ξεκάθαρο, σύμφωνα με το βιβλίο κάνει άπειρες επαναλήψεις .. δεν αναφέρει τίποτα για αρχική και τελική τιμή ...
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 15 Αυγ 2019, 07:46:19 ΜΜ
 Η ερώτηση δεν είναι λάθος. Απλά η σωστή απάντηση είναι ΛΆΘΟΣ  Από μόνο του το βήμα δεν αρκεί για να έχει πρόβλημα η ΓΙΑ.
Η απόδειξη έχει αναφερθεί πιο πριν.
Για ι Από 5 μέχρι 4 με_βημα 0 δεν θα εκτελεστεί η ΓΙΑ άρα δεν θα έχουμε πρόβλημα.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 15 Αυγ 2019, 09:01:38 ΜΜ
Για ι Από 5 μέχρι 4 με_βημα 0 δεν θα εκτελεστεί η ΓΙΑ άρα δεν θα έχουμε πρόβλημα.
Εντάξει κατάλβα, η δήλωση ως δήλωση καθ όλα είναι λάθος. Ναι αντιληπτό. Συμφωνώ bugman.


Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν.

Και πάλι λάθος διατύπωση. Μου φταίει φιλολογικά το "μόνο". αν αντί για " μόνο στην περίπτωση που το Βήμα είναι μηδέν." βάλουμε "πάντοτε όταν το Βήμα είναι μηδέν" πιστεύω πως βγάζει νόημα. Σα διατύπωση είναι τουλάχιστο ατυχής. Γι' αυτό και τη χαρακτηρίζω λάθος ως ερώτηση. Επιζητά να βρεις κι άλλο τρόπο να σπάσεις τη περατότητα. Εσύ μου λές πως με 0 δε σπάει πάντα η περατότητα κι έχεις και δίκιο. Διπλό το κακό.


Με τη μόνη επιπλέον παρατήρηση πως ο Διερμηνευτής δεν εκτελεί καν το κώδικα.
Θα πρέπει να ανατρέξουμε σε άλλη γλώσσα για να το συμπεράνουμε αλλά η ουσία παραμένει ίδια και λίγη σημασία έχουν τα άλλα.


Μανώλη:

Για κ  από -10 μέχρι 10 με_βήμα 0 νομίζω γενικά πως εκετελείται η FOR επειδη το 0 αντιμετωπίζεται ως θετικός, άρα και θα είναι επ άπειρον η εκτέλεση.
Το έχω διασταυρώσει αυτό από άλλη γλώσσα προγραμματισμού.


Αυτά ισχύουν στη περίπτωση  Για κ  από -10 μέχρι 10 με_βήμα 0


Αν το πας  Για κ  από 10 μέχρι -10 με_βήμα 0 σε μια άλλη γλώσσα, ας πουμε VB χάριν του ότι είναι διαδεδωμένη...



Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For i = 10 To -10 Step 0
            MsgBox("Τesting!")
        Next
    End Sub
End Class


...κι Ω τι έκπληξη, δεν εκτελείται.

Ενώ το παρακάτω εκτελείται επ άπειρον:

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For i = -10 To 10 Step 0
            MsgBox("Τesting!")
        Next
    End Sub
End Class



Στη ΓΛΩΣΣΑ το 0 απλά εμποδίζει την εκτέλεση κώδικα, θεωρώντας ότι θα βγάλει infinite loop σε κάθε περίπτωση. (Έκδοση 1.5.1.3)


ΠΡΟΓΡΑΜΜΑ Τεστάρω
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ -10 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 0
    ΓΡΑΨΕ "ΤΕΣΤ"
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Τεστάρω

ΕΞΟΔΟΣ: Η τιμή του βήματος είναι μηδέν, επομένως η εντολή «Για» δεν πρόκειται να τερματίσει ποτέ




Ωστόσο θα μπορούσε απλώς να μην εκτελέσει τη ΓΙΑ στη παρακάτω  περίπτωση:

ΠΡΟΓΡΑΜΜΑ Τεστάρω
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 10 ΜΕΧΡΙ -10 ΜΕ_ΒΗΜΑ 0
    ΓΡΑΨΕ "ΤΕΣΤ"
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Τεστάρω

Ο ΔΙΕΡΜΗΝΕΥΤΗΣ το αντιμετωπίζει με τον ίδιο τρόπο όμως.
ΕΞΟΔΟΣ: Η τιμή του βήματος είναι μηδέν, επομένως η εντολή «Για» δεν πρόκειται να τερματίσει ποτέ

Κατά τη γνώμη μου δεν έχει πολλή σημασία. Γιατί να βάλω βήμα 0 εξ αρχής; Κι αν θέλω να δοκιμάσω προγραμματιστικά εξωτικές περιπτώσεις, ας πάω στην ΟΣΟ όπως προλαλήσαντες συνάδελφοι είπαν. Το βήμα δεν έχει νόημα άλλωστε αν δεν υπάρχει. Η κουβέντα είναι θεωρητική, δε πιστεύω ποτέ του Υπουργείο να βγάλει θέμα πάνω στο να προγραμματίσουμε κάτι, πάνω σε άτοπη λογική.

Ωστόσο Άλκη, είναι καλό να το δεις αυτό, καθώς θα μπορούσε να συμπεριφέρεται ο Διερμηνευτής διαφορετικά ανάλογα τη περίπτωση. Δε ξέρω βέβαια αν αξίζει τον κόπο κάποια αλλαγή, εσύ θα το κρίνεις αυτό καλύτερα απ' οποιονδήποτε.

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 15 Αυγ 2019, 09:32:18 ΜΜ
Παράθεση από: George Eco στις 15 Αυγ 2019, 09:01:38 ΜΜ
Ωστόσο Άλκη, είναι καλό να το δεις αυτό, καθώς θα μπορούσε να συμπεριφέρεται ο Διερμηνευτής διαφορετικά ανάλογα τη περίπτωση.

Γιώργο δεν διάβασα το θέμα, τυχαία έπεσε το μάτι μου στο "Άλκη", μπορείς να δώσεις ένα συγκεκριμένο παράδειγμα όπου ο Διερμηνευτής κάνει διαφορετικά πράγματα από ό,τι περιμένεις; Απ' όσο ξέρω, ο Διερμηνευτής υλοποιεί τη ΓΙΑ όπως περιγράφει το βιβλίο.
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/ΓΙΑ/ (https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%93%CE%99%CE%91/)
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 15 Αυγ 2019, 10:36:19 ΜΜ
Άλκη ΟΧΙ η ΓΙΑ νομίζω προσωπικά πως μια χαρά δουλεύει στα πλαίσια του μαθήματος.

Στα πλαίσια του πως αντιμετωπίζεται η ΓΙΑ σε άλλες γλώσσες αναφέρομαι.


Στο παρακάτω, σε άλλη γλώσσα, βλέπε BASIC, δε θα το έτρεχε απλά. Δεν οδηγεί σε infinite loop, δε το τρέχει ποτέ και συνεχίζει παρακάτω.

ΠΡΟΓΡΑΜΜΑ ΤΕΣΤ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 10 ΜΕΧΡΙ -10 ΜΕ_ΒΗΜΑ 0
    ΓΡΑΨΕ "Δε θα τρέξει ποτέ"
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΣΤ

O Διερμηνευτής ωστόσο επιστρέφει:
Η τιμή του βήματος είναι μηδέν, επομένως η εντολή «Για» δεν πρόκειται να τερματίσει ποτέ.
Έτσι δε θα το τρέξει, ως μια infinite loop περίπτωση, που είναι η παρακάτω (από -10 σε 10):

ΠΡΟΓΡΑΜΜΑ ΤΕΣΤ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ -10 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 0
    ΓΡΑΨΕ "Επ άπειρον."
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΣΤ


Κι επειδή λοιπόν μιλάμε για το πώς αντιμετωπίζεται το ΒΗΜΑ = 0 τόσο στο μάθημα όσο και στη ΓΛΩΣΣΑ και το Διερμηνευτή, έρχομαι και ρωτάω, ίσως μας φωτήσεις σε αυτό.

Διδάσκουμε τι γίνεται αν το Βήμα το θέσουμε 0; Το θεωρούμε σφάλμα; Το απαγορεύουμε; Γιατί αν μέχρι εκεί φτάνει η διδασκαλία, τότε όχι μόνο μια χαρά είναι ο Διερμηνευτής, αλλά κι η θεωρητική ερώτηση που μελετάω είναι ΕΝΤΕΛΩΣ άστοχη.

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

Από τη στιγμή που αντιμετωπίζεται όπως τη περιγράφει γενικά το βιβλίο, τότε κανένα απολύτως πρόβλημα. Αναμένω να μου πεις αν είναι αυτή η προβλεπόμενη συμπεριφορά.

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 15 Αυγ 2019, 11:50:14 ΜΜ
Παράθεση από: George Eco στις 15 Αυγ 2019, 10:36:19 ΜΜ
Στο παρακάτω, σε άλλη γλώσσα, βλέπε BASIC, δε θα το έτρεχε απλά. Δεν οδηγεί σε infinite loop, δε το τρέχει ποτέ και συνεχίζει παρακάτω.

Νομίζω ότι αυτό είναι ασαφές, εξαρτάται και από τη γλώσσα και από την υλοποίηση (π.χ. μπορεί gwbasic να κάνει έτσι και qbasic να κάνει γιουβέτσι) και ακόμα και από το αν κάνεις for από -10 μέχρι 10 ή το αντίθετο. Τι νόημα έχει;

Μια γρήγορη παράθεση από τοβιβλίο καθηγητή:
Παράθεση από: Σελίδα 71
Ας σημειωθεί ότι οι τιμές από, μέχρι, βήμα μπορούν να είναι οποιεσδήποτε εφ
όσον ισχύουν οι επόμενοι περιορισμοί.
• από <= μέχρι με βήμα > 0
• από >= μέχρι με βήμα < 0
• βήμα ≠ 0

Εφόσον λοιπόν το αναφέρει ως περιορισμό, γιατί να μην το αναφέρουμε κι εμείς έτσι απλά και να ξεμπερδεύουμε;

Έχω καιρό να κοιτάξω τα βιβλία, νομίζω ότι παρόμοια πράγματα ανέφερε και σε άλλο σημείο.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 16 Αυγ 2019, 12:45:04 ΠΜ
Ναι Άλκη δε διαφωνώ καθόλου, εγκρίνω κι επαυξάνω. Το ζήτημα τέθηκε για την αρχική ερώτηση του thread αυτού που θίγει την απαγόρευση αυτή.
Κι όντως δε βρίσκω νόημα να αλλάξει συμπεριφορά ο Διερμηνευτής, είναι μακρυά από κάθε διδακτικό στόχο. Από τη στιγμή που γλώσσα από γλώσσα διαφέρουν στο πως αντιμετωπίζουν πράγματα κι από τη στιγμή που υπάρχουν ρητές οδηγίες πως το βήμα δε γίνεται 0 τέλος.
Κι οι περιορισμοί εμποδίζουν τα παράδοξα, οπότε τελειώνει εδώ αυτό το θέμα.

Βρίσκω την ερώτηση εντελώς άστοχη.
Τη παραθέτω ξανά: "Στην επαναληπτική δομή ΓΙΑ η επαναληπτική διαδικασία δεν ικανοποιεί το κριτήριο της περατότητας μόνο στην περίπτωση που το Βήμα είναι μηδέν"

Η φράση μόνο στην περίπτωση που το Βήμα είναι μηδέν αρχικά παραβιάζει το κανόνα να είναι διάφορο του μηδενός το βήμα. Αυτό αυτόματα δίνει το δικαίωμα στο μαθητή να σκεφτεί να κάνει κάποια ζαβολιά κι αυτός, για να σπάσει τη περατότητα. Τα παιδιά θα δοκιμάσουν , θα εστιάσουν και θα βρουν ενδεχομένως πως μπορούν να κάνουν επέμβαση στη μεταβλητή της ΓΙΑ εκ των έσω της, που στα πλαίσια του μαθήματος απαγορεύεται να γίνεται και λογικό το βρίσκω βάσει διδακτικών στόχων. Εναλλακτικά ίσως δοκιμάσουν να παίξουν με αρνητικό βήμα σε αρχική τιμή μικρότερη της τελικής. Αλλά αφού η άσκηση σκασίλα της για μία απαγόρευση, τότε σκασίλα της και για το δικό τους ατόπημα. Δε πάμε με δύο μέτρα και δύο σταθμά.

Αν θέλουμε απάντηση σε αυτό λοιπόν, με σύντομη επεξήγηση, θα έλεγα, ΛΑΘΟΣ, διότι υπάρχουν κι άλλοι κανόνες που μπορείς να παραβιάσεις και να έχεις ατέερμονη λούπα.


Δηλαδή σαν ερώτηση, από φιλολογική σκοπιά αν το δεις, δεν έχει να προσφέρει τίποτα παραπάνω από το να μπερδέψει ένα μαθητή έτοιμο να πάει να δώσει εξετάσεις.

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 16 Αυγ 2019, 05:39:44 ΠΜ
Ο Διερμηνευτής έχει πρόβλημα.
Εξετάζει το βήμα αν είναι 0 στην αρχή και βγάζει λάθος κατά την εκτέλεση αν πράγματι είναι.

Στο παρακάτω πρόγραμμα θα πάρουμε το ΤΕΛΟΣ, ενώ αν βάλουμε βήμα z - 5 (δηλαδή 0) το πρόγραμμα βγάζει λάθος: Η τιμή του βήματος είναι μηδέν, επομένως η εντολή «Για» δεν πρόκειται να τερματίσει ποτέ.
Έχει αναφερθεί και από τον  George Eco, όμως διαφωνώ με την άποψή του ότι ο μαθητής θα σκεφτεί πώς να αλλάξει την μεταβλητή εντός της ΓΙΑ. Αυτό που θα συμβεί, αν έχει δει κάποτε το μήνυμα του διερμηνευτή, είναι ότι  αν το βήμα είναι μηδέν τότε η ΓΙΑ δεν πρόκειται να τερματίσει ποτέ, πράγμα που δεν ισχύει πάντα, αφού η σειρά είναι: Πρώτα ελέγχουμε αν το βήμα είναι αρνητικό, αν όχι πάμε για την εκτέλεση με θετικό βήμα αλλιώς με αρνητικό. Με θετικό βήμα κοιτάμε αν η τιμή ΜΕΧΡΙ είναι μικρότερη ή ίση με τη τιμή ΑΠΟ, και αν όχι τερματίζουμε την επανάληψη χωρίς να εκτελέσουμε τον κώδικά στο εσωτερικό της. Αν δεν τερματίσουμε την επανάληψη τότε πρέπει να τσεκάρουμε αν το βήμα είναι μηδέν και να βγάλουμε λάθος.


Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΕΝΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, z
ΑΡΧΗ
  z <- 5
  ΓΙΑ i ΑΠΟ 5 ΜΕΧΡΙ 4 ΜΕ_ΒΗΜΑ z - 4
    ΓΡΑΨΕ i
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ "ΤΕΛΟΣ"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Ή θα βγάζει "μη επιτρεπτή τιμή βήματος 0", ή θα τρέξει κανονικά και θα εμφανίσει το ΤΕΛΟΣ, όπως γίνεται για οποιοδήποτε αρνητικό βήμα.

Πάντως αν αφήσουμε το διερμηνευτή έτσι, στο ερώτημα Σ/Λ η απάντηση είναι ΛΑΘΟΣ επειδή το βήμα στη ΓΙΑ δεν δέχεται μηδενική τιμή.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 16 Αυγ 2019, 06:24:01 ΠΜ
Bugman

Το παρακάτω παραβιάζει τον κανόνα με αρχικές τελικές και βήμα, με αρχική > τελικής

Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΤΕΣΤ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 10 ΜΕΧΡΙ -10 ΜΕ_ΒΗΜΑ 1
    ΓΡΑΨΕ "ΔΕ ΘΑ ΤΡΕΞΩ"
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "ΤΕΛΟΣ"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΣΤ


Δε τρέχει.
Δες το τώρα ανάποδα.


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

ΠΡΟΓΡΑΜΜΑ ΤΕΣΤ2
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ -10 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ -1
    ΓΡΑΨΕ "ΔΕ ΘΑ ΤΡΕΞΩ"
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "ΤΕΛΟΣ"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΣΤ2


Το ίδιο. Δε τρέχει ο βρόχος πάλι.
Ίδια συμπεριφορά έχει κι η Visual Basic.





Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΤΕΣΤ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 10 ΜΕΧΡΙ -10 ΜΕ_ΒΗΜΑ 0
    ΓΡΑΨΕ "ΔΕ ΘΑ ΤΡΕΞΩ"
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "ΤΕΛΟΣ"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΣΤ


Εμποδίζεται η εκτέλεση


Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΤΕΣΤ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ -10 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 0
    ΓΡΑΨΕ "ΕΤΡΕΞΑ"
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ "ΤΕΛΟΣ"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΣΤ


Εμποδίζεται η εκτέλεση.




Εσένα το παράδειγμα τι κάνει;

Κώδικας [Επιλογή]
ΠΡΟΓΡΑΜΜΑ ΕΝΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, z
ΑΡΧΗ
  z <- 5
  ΓΙΑ i ΑΠΟ 5 ΜΕΧΡΙ 4 ΜΕ_ΒΗΜΑ z - 4
    ΓΡΑΨΕ i
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ "ΤΕΛΟΣ"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ





ΓΙΑ i ΑΠΟ 5 ΜΕΧΡΙ 4 ΜΕ_ΒΗΜΑ 1 κάνει.
Αναμενόμενη συμπεριφορά λοιπόν. Πού βρίσκεται το πρόβλημα ακριβώς;

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 16 Αυγ 2019, 08:27:11 ΠΜ
Παράθεση από: bugman στις 16 Αυγ 2019, 05:39:44 ΠΜ
Ο Διερμηνευτής έχει πρόβλημα.
Εξετάζει το βήμα αν είναι 0 στην αρχή και βγάζει λάθος κατά την εκτέλεση αν πράγματι είναι.
...

Δεν πολυκατάλαβα το επιχείρημά σου. Εννοείς ότι ο Διερμηνευτής καλά κάνει και σταματάει την εκτέλεση του προγράμματος, αλλά το μήνυμα που εμφανίζει δεν είναι κατάλληλο;

"Η τιμή του βήματος είναι μηδέν, επομένως η εντολή «Για» δεν πρόκειται να τερματίσει ποτέ"

...επειδή πιθανώς σε κάποια υλοποίηση μπορεί με τα κατάλληλα όρια να έκανε μηδέν επαναλήψεις αντί για άπειρες;

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

Αλλά ακόμα και εκτός πλαισίων ΑΕΠΠ, δεν νομίζω ότι ένα τέτοιο μήνυμα που λες (με όλες τις περιπτώσεις ορίων και υλοποίησης) θα ήταν πιο κατανοητό στους μαθητές.


Υ.Γ. τώρα κοίταξα την αρχική ερώτηση του θέματος· για μένα, η ερμηνεία του βιβλίου είναι ότι δεν παραβιάζει την περατότητα αλλά είναι λάθος εκτέλεσης, αντίστοιχο με την διαίρεση με το μηδέν, εξ ου και η αντίστοιχη υλοποίηση στο Διερμηνευτή. Αλλά προφανώς η ερώτηση είναι άστοχη· γιατί να εξετάζουμε ερμηνείες και όχι γνώσεις;

Άλλο αντίστοιχο παράδειγμα είναι div/mod με αρνητικούς· εφόσον δόθηκε απαγόρευση από το Υπουργείο, πλέον δεν θα πρέπει να είναι σφάλμα καθοριστικότητας ή επιλογή στα μενού του Διερμηνευτή, αλλά σφάλμα χρόνου εκτέλεσης.

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

To sum up, η άποψή μου είναι:
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: bugman στις 16 Αυγ 2019, 12:13:24 ΜΜ
Έδωσα το παράδειγμα με ένα υπολογιζόμενο βήμα πριν την εκτέλεση για να δείξω ότι ενδέχεται ένα πρόγραμμα να θέσει το βήμα στο 0 κατά την εκτέλεση. Επειδή ο Διερμηνευτής σε τέτοια περίπτωση σταματάει χωρίς να δει άλλες τιμές, ενώ σε άλλες γλώσσες δεν γίνεται κάτι τέτοιο, η αναφορά γίνεται περισσότερο ως διευκρίνιση για πιθανά προβλήματα σε μελλοντικά προγράμματα. Όσο για την άσκηση Σ/Λ και αφού αναφέρθηκε και η περίπτωση του ακέραιου υπόλοιπου με αρνητικό αριθμό, το λάθος βασίζεται στον ορισμό της Γλώσσας, όπως μη επιτρεπτό μηδενικό βήμα και αντίστοιχα μη επιτρεπτός αρνητικός ακέραιος μετά το mod. Διδακτικά αυτοί οι περιορισμοί δεν εξηγούνται, τους θεωρούμε δεδομένους αλλά καλό είναι να λέμε ότι ισχύουν για το μάθημα και μόνο.

Να προσθέσω επιπλέον ότι στο παρακάτω παράδειγμα θα πάρουμε ατέρμονη επανάληψη, χωρίς να έχουμε μηδενικό βήμα στον διερμηνευτή!

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

ΠΡΟΓΡΑΜΜΑ ααα
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: κ
ΑΡΧΗ
  ΓΙΑ κ ΑΠΟ 1000000000000.0 ΜΕΧΡΙ 100000000000000000000000.0 ΜΕ_ΒΗΜΑ 0.000000000000000000000000000000001
    ΓΡΑΨΕ κ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 16 Αυγ 2019, 12:51:21 ΜΜ
Παράθεση από: bugman στις 16 Αυγ 2019, 12:13:24 ΜΜ
Διδακτικά αυτοί οι περιορισμοί δεν εξηγούνται, τους θεωρούμε δεδομένους αλλά καλό είναι να λέμε ότι ισχύουν για το μάθημα και μόνο.

Γιώργο να θυμάσαι ότι εσύ δεν είσαι καθηγητής αλλά εμείς είμαστε, οπότε κάπου το context μας είναι διαφορετικό. Για εμάς είναι προφανές ότι όλοι οι περιορισμοί της ΓΛΩΣΣΑΣ και του Διερμηνευτή ισχύουν μόνο για το μάθημα, δεν χρειάζεται κάθε φορά να κάνουμε διευκρίνηση. Εσύ έχεις στο μυαλό σου την δικιά σου M2000 πώς λέγεται οπότε λογικό είναι να έχεις άλλο πλαίσιο.

Παράθεση από: bugman στις 16 Αυγ 2019, 12:13:24 ΜΜ
Να προσθέσω επιπλέον ότι στο παρακάτω παράδειγμα θα πάρουμε ατέρμονη επανάληψη, χωρίς να έχουμε μηδενικό βήμα στον διερμηνευτή!

Αυτό δεν έχει σχέση με τη ΓΙΑ ούτε με το Διερμηνευτή, είναι θέμα της αρχιτεκτονικής των πραγματικών αριθμών, και περιγράφεται στο https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τύποι_δεδομένων/ (https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%A4%CF%8D%CF%80%CE%BF%CE%B9_%CE%B4%CE%B5%CE%B4%CE%BF%CE%BC%CE%AD%CE%BD%CF%89%CE%BD/):

"...Έτσι αν για παράδειγμα προσπαθήσουμε να προσθέσουμε έναν πολύ μικρό αριθμό στο 1, το άθροισμα θα είναι πάλι 1!"
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 18 Αυγ 2019, 05:09:17 ΠΜ
Παράθεση από: bugman στις 16 Αυγ 2019, 12:13:24 ΜΜ
Να προσθέσω επιπλέον ότι στο παρακάτω παράδειγμα θα πάρουμε ατέρμονη επανάληψη, χωρίς να έχουμε μηδενικό βήμα στον διερμηνευτή!

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

ΠΡΟΓΡΑΜΜΑ ααα
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: κ
ΑΡΧΗ
  ΓΙΑ κ ΑΠΟ 1000000000000.0 ΜΕΧΡΙ 100000000000000000000000.0 ΜΕ_ΒΗΜΑ 0.000000000000000000000000000000001
    ΓΡΑΨΕ κ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ



Bugman
Αυτό που θίγεις εδώ είναι  πολύ ενδιαφέρον.
Ανάγει ένα φιλοσοφικό ερώτημα. Ή μήπως σημασιολογικό;

Τι ορίζουμε ακριβώς ως ατέρμονη επανάληψη;

Εγώ ας πούμε το αντιλαμβάνομαι, ως επανάληψη επ άπειρον. Άπειρα βήματα, δίχως τρόπο διακοπής.
Μιλάμε για κάτι που δε τελειώνει ποτέ λοιπόν;
Αν ποιητική αδεία δε με κρεμάσουν οι Μαθηματικοί, μοιάζει με το όριο ας πούμε; Λέμε "τείνει στο μηδέν, πλησιάζει συνεχώς το μηδέν, ποτέ δε γίνεται μηδέν όμως".
Ξέρεις, δεν αντιμετωπίζουμε το άπειρο ως αριθμό. Ποτέ.
Από τη στιγμή που το άπειρο δεν είναι αριθμός λοιπόν, θα ήταν μαθηματικά απαράδεκτο, να αποκαλέσω αυτό που λες ατέρμονη επανάληψη.

Αλλά πρακτικά, με την υπολογιστική δύναμη που έχει ο μέσος χρήστης σήμερα σπίτι του, αυτό θα μοιάζει με μια ατέρμονη  επανάληψη.
Μου κάνεις εντύπωση, γιατί αυτό το επιχείρημα μου το έθιξε κι ένας εγκάρδιος φίλος μου.
Ναι σε εύλογο χρονικό διάστημα ο Η/Υ δε θα το ολοκληρώσει κι αν μιλήσουμε θεωρητικά και για  1.7 χ 10^308 ακόμα χειρότερα.
Προφανώς το 10 στη 308η δύναμη είναι αστρονομικό.
Αν έιχαμε έναν Η/Υ που μπορούσε να κάνει 10 ^ 310 πράξεις το δευτερόλεπτο, ο αλγόριθμος θα λάμβανε τέλος σύντομα.  Διότι είναι πεπερασμένα και πάλι τα βήματα, απλά πάρα πολλά.
Δε μπορούμε να εξισώσουμε το άπειρο με αριθμό, οσοδήποτε μεγάλος κι αν είναι.

Ωστόσο, το ερώτημα παραμένει. Αν σε εύλογο χρονικό διάστημα δε τελειώσει μια δομή επανάληψης, αλλά θέλει ξέρω γω 3 δις χρόνια, θεωρείται ατέρμονη  επανάληψη;
Παραβιάζεται ο κανόνας  της περατότητας σε αυτή τη περίπτωση;
Ωραία αυτά τα ερωτήματα γιατί αν σκάσει κάνα παιδί με τέτοια ερώτηση, είναι ωραίο να έχουμε κάποια απάντηση.


Ας το απλουστεύσουμε λίγο...
Κώδικας [Επιλογή]

ΠΡΟΓΡΑΜΜΑ Ακραίες_Τιμές
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: κ
ΑΡΧΗ
  ΓΙΑ κ ΑΠΟ 1.0 ΜΕΧΡΙ 2.0 ΜΕ_ΒΗΜΑ 0.000000000000000000000000000000001
    ΓΡΑΨΕ κ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ακραίες_Τιμές


Εμφανίζει 1.00 συνεχώς αλλά δεν είναι ατέρμονο. Απλά απαιτεί πολλά βήματα για να φανεί το 1.01 κι αυτό αποδεικνύεται με μια πιο light εκδοχή:

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

ΠΡΟΓΡΑΜΜΑ Ακραίες_Τιμές_β
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: κ
ΑΡΧΗ
  ΓΙΑ κ ΑΠΟ 1.0 ΜΕΧΡΙ 2.0 ΜΕ_ΒΗΜΑ 0.00001
    ΓΡΑΨΕ κ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ακραίες_Τιμές_β




Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 18 Αυγ 2019, 07:45:17 ΠΜ
@George, δεν είναι "πάρα πολλές επαναλήψεις". Είναι όντως άπειρες.
Το πρόγραμμα του bugman δεν θα τελειώσει ποτέ, ούτε σε π.χ. 1 δις χρόνια.

Οι πραγματικοί αριθμοί δεν έχουν άπειρη ακρίβεια στον υπολογιστή.
Έτσι αν πεις i=1 και μετά i<-i+0.000000000000000000000000000000001, το ι δεν θα αλλάξει καθόλου μα καθόλου, επειδή ο πλησιέστερος πραγματικός αριθμός στο επιθυμητό αποτέλεσμα 1.000000000000000000000000000000001 που μπορεί να αναπαραστήσει ο υπολογιστής είναι πάλι το 1.

Αυτό όμως δεν έχει σχέση με τη ΓΙΑ, συμβαίνει και στην ΟΣΟ, και σε προσθέσεις, και σε άλλες γλώσσες προγραμματισμού κλπ, είναι θέμα της hardware υλοποίησης των πραγματικών αριθμών.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 18 Αυγ 2019, 07:59:27 ΠΜ
Α μιλάμε για αυτό το τύπο σφάλματος. Κατάλαβα.
Σε αυτή τη περίπτωση όμως είναι θέμα της γλώσσας ή του hardware, όχι του αλγορίθμου.
Θέλω να πω, δε παραβιάζεται η περατότητα από τον αλγόριθμο αλλά από τα όρια της χρησιμοποιούμενης τεχνολογίας.
Σε άλλο hardware φέρει πειν μελλοντικό ίσως τρέξει κι όχι επ άπειρον.

Αλλά αν είναι έτσι όπως τα λέει, τότε έχει δίκιο.

Σε αυτή λοιπόν τη περίπτωση ρωτάω εγώ τώρα...
Η θεωρητική ΓΛΩΣΣΑ, στο χαρτί, όπως πρωτοσχεδιάστηκε, θεωρεί πως αυτό σπάει τον κανόνα της περατότητας;
Γιατί ο περιορισμός είναι του Διερμηνευτή, όχι της ΓΛΩΣΣΑΣ.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 18 Αυγ 2019, 01:24:27 ΜΜ
Παράθεση από: George Eco στις 18 Αυγ 2019, 07:59:27 ΠΜ
Η θεωρητική ΓΛΩΣΣΑ, στο χαρτί, όπως πρωτοσχεδιάστηκε, θεωρεί πως αυτό σπάει τον κανόνα της περατότητας;
Γιατί ο περιορισμός είναι του Διερμηνευτή, όχι της ΓΛΩΣΣΑΣ.

Ναι, τον σπάει. Κανένα ψηφιακό υπολογιστικό σύστημα δεν θα μπορέσει ποτέ να αποθηκεύσει αριθμούς με άπειρη ακρίβεια. Για παράδειγμα, ο αριθμός π έχει άπειρα δεκαδικά ψηφία και θα χρειαζόταν άπειρη RAM για να αποθηκευτεί (που δεν μπορεί να υπάρξει αφού η ύλη του σύμπαντος είναι πεπερασμένη) και άπειρο χρόνο για την εκτέλεση έστω και μόνο μία πράξης πάνω στα άπειρα ψηφία του (δηλαδή για να υπολογίσουμε το 2*π θα χρειαζόμασταν άπειρο χρόνο).

Μόνο σε αναλογικούς (!) υπολογιστές θα μπορούσαν να αρθούν αυτοί οι περιορισμοί· ας μην ξεφύγουμε εκεί.

Αυτό που μπορούμε να κάνουμε σαν καθηγητές είναι πολύ απλά να μην αναφερθούμε σε αυτά τα ζητήματα για να μην μπερδέψουμε τους μαθητές. Δεν μπορούμε να ισχυριστούμε ότι μια θεωρητική γλώσσα μπορεί να αποθηκεύσει αριθμούς με άπειρα δεκαδικά ψηφία. Μπορούμε όμως να ισχυριστούμε ότι αποθηκεύει αριθμούς "με όσα ψηφία χρειαζόμαστε για την επίλυση του προβλήματος, αλλά πάντα πεπερασμένα". Και αντίστοιχα οι ασκήσεις που βάζουμε να σέβονται αυτήν την φιλοσοφία.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 18 Αυγ 2019, 07:49:16 ΜΜ
bugman όλες οι γλώσσες έχουν περιορισμούς, γιατί ο περιορισμός προκύπτει από το hardware όπως παρακάτω λέει ο Άλκης πολύ σωστά.
Κι αυτό ήταν το επιχείρημα του φίλου μου. Κι απ' ότι φαίνεται έχει δίκιο. Κι είπε ακριβώς αυτό που λες Άλκη, παραθέτοντας παροίμοιο παράδειγμα με του bugman.
Άρα λοιπόν, άστοχη η ερώτηση μεν, αλλά εντούτοις, η απάντηση είναι ΛΑΘΟΣ, έχοντας δίκιο ο bugman κι εκμεταλλευόμενος τους περιορισμούς του τρέχοντος hardware.
Αναρωτιέμαι πώς θα φαντάζει αυτό που γράφω σε 20 χρόνια...

Να δούμε πάλι τον παρακάτω κώδικα...

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

ΠΡΟΓΡΑΜΜΑ Ακραίες_Τιμές
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: κ
ΑΡΧΗ
  ΓΙΑ κ ΑΠΟ 1.0 ΜΕΧΡΙ 2.0 ΜΕ_ΒΗΜΑ 0.000000000000000000000000000000001
    ΓΡΑΨΕ κ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ακραίες_Τιμές



Στη περίπτωση που ένα παιδί μου φέρει κάνα τέτοιο "ξόρκι" σα το παραπάνω και μου πει "Είναι πεπερασμένα τα βήματα, θεωρητικά τελειώνει" τι του απαντώ;
Γιατί στο λέω αυτό. Αν στο μέλλον μιλάμε για TB RAM και τα λοιπά συναφή, και περισσότερα bit bus επεξεργαστές κ.ο.κ. τότε ΑΥΤΟ το παράδειγμα θα τρέξει, διότι οι περιορισμοί μπορεί δυναμικά να αίρονται.
Ναι οκ θα υπάρξει μετά παράδειγμα με βήμα  0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 και θα λέει τώρα ΑΥΤΟ κάνει ατέρμονη επανάληψη. Αλλά σε θεωρητικό επίπεδο πιστεύω πως ο ΑΛΓΟΡΙΘΜΟΣ δε σπάει τον κανόνα της περατότητας έτσι. Πιστεύεις πως τον σπάει; Μιλάω πάντα για τη θεωρητική ΓΛΩΣΣΑ που δίνουν οι μαθητές Πανελλήνιες σε χαρτί. Δε μιλάω για άπειρη ακρίβεια λοιπόν, όχι όχι όχι. Μιλάω όμως πάνω στο θεωρητικό του θέματος. Γιατί αν το πάμε εκτός ορίων hardware, έχουμε ξεφύγει. Οπότε στο μελλον τα όρια αυτά θα διευρυνθηούν. Αλλά και πάλι θα υπάρξει ένα νέο όριο γιατί οι πόροι είναι πάλι πεπερασμένοι. Και τα λοιπά και τα λοιπά.  Σε θεωρητικό επίπεδο λοιπόν, αν πάρω τη ΓΛΩΣΣΑ καθ' αυτή και πω, θεωρητικά πως ο Η/Υ μου μπορεί να το διαχειριστεί, τότε δε σπάει η περατότητα. Το επιχείρημά μου το βασίζω αντιστρέφοντας το τρέχον.

Αν πηγαίναμε τη ΓΛΩΣΣΑ πίσω στο χρόνο σε Η/Υ που μπορούσαν να διαχειριστούν μέχρι ξέρω 'γω 2 δεκαδικά ψηφία κι έλεγα Από 1.0 μέχρι 2.0 βήμα = 0.0001 θα γινόταν το ίδιο. Σήμερα όμως, αυτό είναι αλγόριθμος που θα λήξει σύντομα όταν εκτελεστεί, γιατί πολύ απλά ένας σημερινός Η/Υ μπορεί.
Αντιμετωπίζουμε λοιπόν τη ΓΛΩΣΣΑ θεωρητικά, ή την αντιμετωπίζουμε βάσει του τρέχοντος hardware;
Συγγνώμη Άλκη για το προβλημάτισμό μου, αλλά μου κινείται η περιέργεια τώρα!  :D :angel:
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: alkisg στις 18 Αυγ 2019, 10:50:00 ΜΜ
Παράθεση από: George Eco στις 18 Αυγ 2019, 07:49:16 ΜΜ
Στη περίπτωση που ένα παιδί μου φέρει κάνα τέτοιο "ξόρκι" σα το παραπάνω και μου πει "Είναι πεπερασμένα τα βήματα, θεωρητικά τελειώνει" τι του απαντώ;
Αντιμετωπίζουμε λοιπόν τη ΓΛΩΣΣΑ θεωρητικά, ή την αντιμετωπίζουμε βάσει του τρέχοντος hardware;

Του λέμε:
Δεν είμαστε ανακόλουθοι πουθενά δηλαδή, όλα φυσιολογικά είναι.
Τίτλος: Απ: Απορία στην ΓΙΑ
Αποστολή από: George Eco στις 19 Αυγ 2019, 06:48:06 ΠΜ
Α ωραία, την έχουμε αυτή την ευχέρεια να μιλήσουμε και για τις δύο περιπτώσεις και να τις διαχωρίσουμε! Ευχαριστώ Άλκη!