ΘΕΜΑ Β

Ξεκίνησε από Καρκαμάνης Γεώργιος, 12 Ιουν 2017, 10:24:15 ΠΜ

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

Καρκαμάνης Γεώργιος

Εδώ σχολιάζουμε το θέμα Β

freedomst

Και το Β2 θεωρώ ότι είναι θέμα για δυνατούς λύτες.
Εκ πρώτης όψεως φαίνεται εύκολο αλλά νομίζω ότι τα παιδιά θα ζοριστούν και να εντοπίσουν και να ξεχωρίσουν τα συντακτικά από τα λογικά λάθη.
Ειδικά το Διάβασε Χ που θέλει έλεγχο εγκυρότητας επειδή πρέπει να διαβάζει θετικούς αριθμούς νομίζω ότι λίγοι θα το βρουν.
Όπως επίσης και το Πραγματικές: Χ που πρέπει να είναι ακέραια λόγω του τελεστή mod.
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

gthal

εδώ χωράει πολλή συζήτηση
θα πρεπε να κάνουν έλεγχο εγκυρότητας  ? (θα περίμενα να τους λένε να δεχθούν ότι ο χ είναι ακέραιος και θετικός)
τότε θα πρεπε να ελέγχουν και ότι είναι ακέραιος και άρα καλώς δηλώνεται πραγματική η Χ
κι ύστερα θα πρεπε να χρησιμοποιεί την Α_Μ(Χ) για τα mod
και γενιικά με τον έλεγχο εγκυρότητας, ο σωστός αλγόριθμος ξεφεύγει πολύ από τον δοσμένο και άντε βρες άκρη με την κάθε υλοποίηση  :(
Φιλικά,
Γιώργος Θαλασσινός

methenitis

Νομίζω οτι δεν ηταν σκοπός του ο ελεγχος εγκυρότητας.

Αν και αν ημουν μαθητήτς θα τον έβαζα λόγω ασάφειας δεν θα κοπεί. Με αυτο τα λάθη ειναι 6...
απο ενα λάθος στην 3,6 και 11 γραμμή. Και δύο στην 9.

gthal

ακόμα και αυτό στην 3... είναι στην 3 ή (επειδή θα χτυπησει στην 9) χρεώνεται κι αυτό στην 9 ???
Φιλικά,
Γιώργος Θαλασσινός

freedomst

Έτσι όπως το λέει η εκφώνηση μου φαίνεται σαν να πρέπει την ώρα του Διάβασε να δέχεται μόνο θετικούς αριθμούς και πιστεύω πως οι θεματοδότες αυτό είχαν στο μυαλό τους,
αλλά φυσικά... επειδή δεν σκέφτονται όλοι με τον ίδιο τρόπο θα δουν πολλά τα μάτια μας!!! ;-)
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

freedomst

νομίζω ότι τα λάθη χρεώνονται  από μία φορά το καθένα
Άρα, 3, 6, 8, 9, 11
ή 6, 8, 9, 9, 11 επειδή ότι ο πραγματικός Χ χτυπάει εκεί στο Mod
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

Vagnes

Η 9 έχει σίγουρα 2 λάθη.. το Η που πρέπει να είναι ΚΑΙ και οτι λέιπει το Χ απο το δευτερο MOD

Endlessly

Η δήλωση του χ σε πραγματική είναι συνακτικό λάθος;

petrosp13

Το Χ ακέραιο (συντακτικό)
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

din_os

Το ότι θέλει ακέραιες τιμές το mod δεν είναι ασάφεια; Τόσα χρόνια λέμε στα παιδιά να μην ανησυχούν με το mod (θεωρούμε ότι πάντα αφορούν ακέραιες, είχε έρθει και συμπληρωματική εγκύκλιος) και τώρα πέφτει σε θέμα Συντακτικό/Λογικό λάθος;

Και τι είναι; Αναφέρεται πουθενά αν οι compilers ελέγχουν αν έχεις ακέραιες στο mod; Αν ναι είναι συντακτικό αλλιώς θα 'πιαστεί' κατά την εκτέλεση και θα είναι λογικό; με ποιο κριτήριο τελικά αποφασίζεις; Υπάρχουν τέτοιες ερωτήσεις στο "ΝΕΟ" τετράδιο ασκήσεων; το οποίο πάλι φέτος υπονόησε χρήση των νέων αλγορίθμων ταξινόμησης και αναζήτησης και πάλι δεν έπεσε τίποτα.


petrosp13

Όσο για τον έλεγχο εγκυρότητας, δεν νομίζω ότι απαιτείται
Θα έπρεπε να το λέει ρητά
Λέει για θετικούς ώστε να μπορεί να υλοποιηθεί το mod
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

freedomst

Κάθε φορά που λένε για είσοδο δεδομένων γράφουν και μια σημείωση ότι απαιτείται ή δεν απαιτείται έλεγχος εγκυρότητας.
Σε αυτό το θέμα που μιλάει για λάθη (και ειδικά για λογικά λάθη) το θεωρώ τεράστια παράλειψη να μην υπάρχει τέτοια υπόδειξη, επειδή είναι ξεκάθαρα λογικό λάθος.
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

Νίκος Αδαμόπουλος

Στο 7ο κεφ. λέει ότι το mod δίνει το υπόλοιπο της διαίρεσης ακεραίων.

xristos_ts

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

Καρκαμάνης Γεώργιος

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

Επίσης υπάρχουν 5 λάθη από 2 μονάδες = 10 μονάδες


freedomst

Η αρίθμηση των γραμμών είναι στο πρόγραμμα που δίνεται σημείο αναφοράς των λαθών, δε λέει πουθενά ότι θα πρέπει και το διορθωμένο πρόγραμμα να έχει τις ίδιες γραμμές άρα και την ίδια αρίθμηση, δηλαδή να παραμείνει 1-1 η αντιστοιχία.
π.χ. κάλλιστα τα παιδιά μπορούν να ενώσουν τις γραμμές 3 και 4 στο διορθωμένο σε μία:
Ακέραιες: Ρ, I, X
θα αλλάξει όλη η υπόλοιπη αρίθμηση του κώδικα και δεν υπάρχει πλέον αντιστοιχία 1-1 με το αρχικό.

Η διόρθωση θεωρητικά μπορεί να γίνει με τις ίδιες, λιγότερες ή περισσότερες γραμμές κώδικα.
π.χ. αν  κάποιος μαθητής γράψει:
...
Αν Χ mod 3 =0 τοτε
   Αν Χ Mod 5 = 0 τοτε
    P <-- P *X
   τελος_αν
τέλος_αν
...
θα του πουμε ότι είναι λάθος επειδή έγραψες περισσότερες γραμμες κώδικα;
Από τη στιγμή που διόρθωσε το λάθος η απάντησή του πρέπει αν γίνει δεκτή.
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

petrosp13

Ναι, αλλά δεν θεωρείται λάθος η εντολή ΔΙΑΒΑΣΕ χ
Λάθος (μπορεί) να θεωρηθεί η έλλειψη ελέγχου εγκυρότητας
Σε ποια γραμμή θα πούμε ότι υπάρχει το λάθος;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

freedomst

Μα ούτε η εντολή Ρ <-- 0 είναι λάθος από μόνη της, είναι λογικό το λάθος όχι στην εντολή λοιπόν αλλά στο αποτέλεσμα που βγαίνει στο τέλος
άρα, και η εντολή Διάβασε Χ μπορεί να θεωρηθεί ότι έχει λογικό λάθος, όχι ότι είναι η εντολή λάθος.
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

epsilonXi

Κι εγώ νομίζω ότι οι θεματοδότες δεν είχαν κατά νου να γινότανε έλεγχος εγκυρότητας, αν και όσο το σκέφτομαι, το σωστό είναι να γίνεται... δε βγαίνουνε ωραία μοιρασμένα τα μόρια, γι' αυτό το λέω

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

epsilonXi

μαθητής μου λέει έγραψε στο Β1:

στο κενό (2):  i <> 12 και i <> 24 και i
στο κενό (3): 36

δε βλέπω κανένα λόγο να τού το πάρουν λάθος...!

Rathaniel

Παράθεση από: petrosp13 στις 12 Ιουν 2017, 11:35:23 ΠΜ
Όσο για τον έλεγχο εγκυρότητας, δεν νομίζω ότι απαιτείται
Θα έπρεπε να το λέει ρητά
Λέει για θετικούς ώστε να μπορεί να υλοποιηθεί το mod
Συμφωνώ απόλυτα
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής

Rathaniel

Παράθεση από: epsilonXi στις 12 Ιουν 2017, 03:53:17 ΜΜ
μαθητής μου λέει έγραψε στο Β1:

στο κενό (2):  i <> 12 και i <> 24 και i
στο κενό (3): 36

δε βλέπω κανένα λόγο να τού το πάρουν λάθος...!
Λυπάμαι, αλλά θεωρείται λάθος(μιλάω για το κενό (2)). Αυτή η "τρίπλα" που έκανε στο θέμα δεν θα αρέσει.
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής

evry

Με βάση την εκφώνηση είναι υποχρεωμένοι να του το πάρουν σωστό!!!
Δεν περιορίζουν τι μπορεί να γράψει ο μαθητής.
Θα έπρεπε στην εκφώνηση να λένε ότι "να μην γίνει χρήση λογικών τελεστών"
Ας πρόσεχαν.

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

evry

Τι εννοείς "δεν θα αρέσει"?
Με βάση την εκφώνηση είναι σωστό ή όχι?
Παράθεση από: Rathaniel στις 12 Ιουν 2017, 04:02:02 ΜΜ
Λυπάμαι, αλλά θεωρείται λάθος(μιλάω για το κενό (2)). Αυτή η "τρίπλα" που έκανε στο θέμα δεν θα αρέσει.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Rathaniel

Βάσει εμπειρίας πρότερων θεμάτων απάντησα.
Αν έχει γίνει κάτι αντίστοιχο και το έχουν πάρει σωστό , τότε πάσο.

Πρώτα διαβασα την εκφώνηση και μετά απάντησα.Έχεις δίκιο σε αυτό που λές περί "τελεστών κλπ".
Θεωρώ ότι λόγω "συνήθειας" θα διορθωθεί ως λάθος.
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής

evry

Μια δική μου λύση για το Β

Κώδικας: c
Αν i + 0 <> 0 Τότε
   ......
.....
i = i + 4 + 4*(((i mod 12) + 11) div 12)

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

evry

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

Παράθεση από: Rathaniel στις 12 Ιουν 2017, 04:20:50 ΜΜ
Βάσει εμπειρίας πρότερων θεμάτων απάντησα.
Αν έχει γίνει κάτι αντίστοιχο και το έχουν πάρει σωστό , τότε πάσο.

Πρώτα διαβασα την εκφώνηση και μετά απάντησα.Έχεις δίκιο σε αυτό που λές περί "τελεστών κλπ".
Θεωρώ ότι λόγω "συνήθειας" θα διορθωθεί ως λάθος.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dimvavas

Προσωπικά στο Β1 έγραψα i mod 3 αντί για i mod 12.
Θεωρείτε ότι είναι κάτι λάθος; Γιατί εγώ βλέπω ότι οι εμφανιζόμενοι αριθμοί ξεκινάνε από το 4, με βήμα ανά 4, μέχρι το 40, και δεν εμφανίζονται όσοι αριθμοί είναι (ακέραιοι) πολλαπλάσιοι του 3.
Και παρόλο που κατ' εμέ είναι η πιο προφανής λύση, δεν την είδα πουθενά στις λύσεις των φροντιστηρίων.

ολγα

Στο Β2 σχετικά με την αναφορά «θετικούς»: κανονικά θα πρέπει να εξασφαλίζεται με έλεγχο. Προφανώς οι θεματοδότες υπολόγισαν 5 λάθη επί 2 μονάδες, σύνολο 10 μονάδες και όχι 6*2=12.
Όπως έχουν ήδη γράψει και άλλοι η σημείωση του Β2 είναι κατά βάση ανούσια. Σε σχέση και με την προηγούμενη παρατήρηση μάλλον έπρεπε να λέει (αφού προφανώς ο έλεγχος εγκυρότητας δεν ήταν ζητούμενο σε αυτό το θέμα): «θεωρήστε ότι κατά την εκτέλεση θα δοθούν μόνο θετικοί αριθμοί».

Και κάτι λίγο άσχετο... που βγάζει μάτι στο ίδιο θέμα: Το θεωρείστε γράφεται με ήτα.

petrosp13

Σωστή είναι η απάντηση σου dimvavas

Παράθεση από: epsilonXi στις 12 Ιουν 2017, 03:53:17 ΜΜ
μαθητής μου λέει έγραψε στο Β1:

στο κενό (2):  i <> 12 και i <> 24 και i
στο κενό (3): 36

δε βλέπω κανένα λόγο να τού το πάρουν λάθος...!

Πόσα κενά υπάρχουν και πόσες συνθήκες έβαλε το παιδί;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

dimvavas

Σας ευχαριστώ για τη γρήγορη απάντηση.

ολγα

Παράθεση από: dimvavas στις 12 Ιουν 2017, 05:07:00 ΜΜ
Προσωπικά στο Β1 έγραψα i mod 3 αντί για i mod 12.


σωστό

Νίκος Αδαμόπουλος

Παράθεση από: dimvavas στις 12 Ιουν 2017, 05:07:00 ΜΜ
Προσωπικά στο Β1 έγραψα i mod 3 αντί για i mod 12.

Μια χαρά είναι! Το έκαναν κι άλλοι.

Νίκος Αδαμόπουλος

Παράθεση από: epsilonXi στις 12 Ιουν 2017, 03:46:51 ΜΜ
Κι εγώ νομίζω ότι οι θεματοδότες δεν είχαν κατά νου να γινότανε έλεγχος εγκυρότητας...

Σε ένα τέτοιο θέμα υποτίθεται τα λάθη είναι "κάπως κρυμμένα".

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

Υ.Γ.
Βλ. το A4 στο Διαγώνισμα του Στεκιού 2014-15

evry

Στις ενδεικτικές λύσεις πάντως στο Β δεν έχει έλεγχο εγκυρότητας  ;)
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

freedomst

Το ότι δεν υπάρχει ο έλεγχος εγκυρότητας στις ενδεικτικές λύσεις δεν είναι απαραίτητα και σωστό! ;-)
Πιστεύω ότι στο συγκεκριμένο θέμα υπάρχει τεράστια ασάφεια! Έπρεπε να προσέξουν περισσότερο την εκφώνηση, εφόσον ζητούσαν λάθη και μάλιστα λογικά,  έτσι ώστε να μην υπάρχει κανένα περιθώριο για παρερμηνείες από κανέναν!
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

petrosp13

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

ntsgeor

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

Έστω λοιπόν η παρακάτω λύση η οποία έχει ακριβώς τις ίδιες γραμμές και για την οποία θεωρώ ότι τεκμηριώνω καθετί που γράφω. Αν θεωρεί κάποιος ότι είναι λάθος ας το υποδείξει, μπορεί κάτι να μου ξεφεύγει. Αν όμως είναι σωστή, αυτό το 5 * 2 = 10 για το οποίο κάποιοι είναι απόλυτοι δεν ισχύει σίγουρα. Άλλωστε το θέμα είναι ανοικτό στη βαθμολόγηση αν δεν κάνω λάθος.

ΠΡΟΓΡΑΜΜΑ Αριθμοί
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: Χ
  ΑΚΕΡΑΙΕΣ: Ρ, Ι
ΑΡΧΗ
  Ρ <- 1
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
    ΔΙΑΒΑΣΕ Χ
    ΑΝ Α_Μ(Χ) = Χ ΚΑΙ Α_Μ(Χ) mod 3 = 0 ΚΑΙ Α_Μ(Χ) mod 5 = 0 ΤΟΤΕ
      Ρ <- Ρ* Α_Μ(Χ)
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ Ρ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ξεκινώ τη διαδικασία εύρεσης σαν να έχω μεταφραστή

γραμμή 9: πρέπει να χρησιμοποιηθεί το ακέραιο μέρος της μεταβλητής Χ στην έκφραση Χ MOD3 = 0 - συντακτικό, οπότε αλλάζω το Χ σε Α_Μ(Χ)
γραμμή 9: λείπει τελεστέος αριστερά του τελεστή mod στην έκφραση mod 5 = 0 - συντακτικό, οπότε αλλάζω σε Α_Μ(Χ) mod 5 = 0
γραμμή 10: εκχώρηση πραγματικής τιμής σε ακέραια έκφραση - συντακτικό, αλλάζω το Χ σε Α_Μ(Χ)
γραμμή 12: Πρέπει να γραφεί ΤΕΛΟΣ_ΑΝ και όχι ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ - συντακτικό

Το πρόγραμμα μπορεί να μεταφραστεί και να εκτελεστεί

γραμμή 6: το ρ πρέπει να αρχικοποιηθεί με 1 (γινόμενο) - λογικό
γραμμή 9: το Η πρέπει να είναι ΚΑΙ - λογικό
γραμμή 9: πρέπει το πραγματικό μέρος του Χ να ελέγχεται ότι είναι μηδέν - λογικό

evry

Κάτι άλλο που δεν είδα να σχολιάσει κανένας.
Στο Β2 ο λάθος τύπος μιας μεταβλητής κανονικά δεν είναι συντακτικό λάθος είναι semantic error, έτσι δεν είναι?  Θυμάμαι ότι όταν υλοποιείς έναν μεταγλωττιστή ο έλεγχος τύπων γίνεται σε επόμενο επίπεδο.
Μάλιστα το βιβλίο λέει :
Εδώ αναφέρουμε ότι τα λογικά λάθη που είναι τα πλέον σοβαρά και δύσκολα στη διόρθωση τους, οφείλονται σε σφάλματα κατά την υλοποίηση του αλγορίθμου, ενώ τα συντακτικά οφείλονται σε αναγραμματισμούς ονομάτων εντολών, παράληψη δήλωσης δεδομένων και πρέπει πάντα να διορθωθούν, ώστε να παραχθεί το τελικό εκτελέσιμο πρόγραμμα

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

Sergio

Παράθεση από: evry στις 12 Ιουν 2017, 10:38:20 ΜΜ
Κάτι άλλο που δεν είδα να σχολιάσει κανένας.
Στο Β2 ο λάθος τύπος μιας μεταβλητής κανονικά δεν είναι συντακτικό λάθος είναι semantic error, έτσι δεν είναι?  Θυμάμαι ότι όταν υλοποιείς έναν μεταγλωττιστή ο έλεγχος τύπων γίνεται σε επόμενο επίπεδο.
Μάλιστα το βιβλίο λέει :
Εδώ αναφέρουμε ότι τα λογικά λάθη που είναι τα πλέον σοβαρά και δύσκολα στη διόρθωση τους, οφείλονται σε σφάλματα κατά την υλοποίηση του αλγορίθμου, ενώ τα συντακτικά οφείλονται σε αναγραμματισμούς ονομάτων εντολών, παράληψη δήλωσης δεδομένων και πρέπει πάντα να διορθωθούν, ώστε να παραχθεί το τελικό εκτελέσιμο πρόγραμμα

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


Επίσης όμως λέει "Ο μεταγλωττιστής ή ο διερμηνευτής ανιχνεύει λοιπόν τα συντακτικά λάθη και εμφανίζει κατάλληλα διαγνωστικά μηνύματα".  (στην προκείμενη περίπτωση θα εντοπίζει τη χρήση πραγματικής έκφρασης με τελεστή ακέραιας διαίρεσης οπότε το πιθανό "λάθος" δήλωσης θα ανιχνευθεί κατά τον έλεγχο της έκφρασης)

Οπότε στο πλαίσιο κατανόησης του μηχανισμού που παρουσιάζεται ο συνειρμός "συντακτικά είναι τα λάθη που εντοπίζει το μεταφραστικό πρόγραμμα" είναι μάλλον αυτονόητος.

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

evry

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

Στη ΓΛΩΣΣΑ που έχουμε static typing τα λάθη αυτά πιάνονται σε compile time αλλά αυτό δεν σημαίνει ότι είναι syntax errors
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Καρκαμάνης Γεώργιος

Παράθεση από: freedomst στις 12 Ιουν 2017, 02:04:33 ΜΜ
Η αρίθμηση των γραμμών είναι στο πρόγραμμα που δίνεται σημείο αναφοράς των λαθών, δε λέει πουθενά ότι θα πρέπει και το διορθωμένο πρόγραμμα να έχει τις ίδιες γραμμές άρα και την ίδια αρίθμηση, δηλαδή να παραμείνει 1-1 η αντιστοιχία.
π.χ. κάλλιστα τα παιδιά μπορούν να ενώσουν τις γραμμές 3 και 4 στο διορθωμένο σε μία:
Ακέραιες: Ρ, I, X
θα αλλάξει όλη η υπόλοιπη αρίθμηση του κώδικα και δεν υπάρχει πλέον αντιστοιχία 1-1 με το αρχικό.

Η διόρθωση θεωρητικά μπορεί να γίνει με τις ίδιες, λιγότερες ή περισσότερες γραμμές κώδικα.
π.χ. αν  κάποιος μαθητής γράψει:
...
Αν Χ mod 3 =0 τοτε
   Αν Χ Mod 5 = 0 τοτε
    P <-- P *X
   τελος_αν
τέλος_αν
...
θα του πουμε ότι είναι λάθος επειδή έγραψες περισσότερες γραμμες κώδικα;
Από τη στιγμή που διόρθωσε το λάθος η απάντησή του πρέπει αν γίνει δεκτή.

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

Νομίζω ότι πρέπει να αποδεχτούμε τις λύσεις με τα 5 λάθη που έχουμε επισημάνει και τίποτα περισσότερο

freedomst

Παράθεση από: Καρκαμάνης Γεώργιος στις 13 Ιουν 2017, 12:02:57 ΠΜ

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


Το θέμα δεν είναι ότι έχει λανθασμένο έλεγχο εγκυρότητας,  αλλά ότι λείπει ο έλεγχος εγκυρότητας με αποτέλεσμα το περιεχόμενο της μεταβλητής Χ να είναι οποιοσδήποτε αριθμός, γεγονός που δημιουργεί πρόβλημα στις επόμενες γραμμές. Υπό αυτή την έννοια στη γραμμή 8 θα μπορούσε κάποιος να πει ότι έχουμε ένα λογικό λάθος.
Σταματοπούλου Ελευθερία
ΠΕ19 - ΓΕΛ Κρύας Βρύσης

"Ουδέν κακόν αμιγές καλού"

gthal

Μάλλον έχεις δίκιο Ευριπίδη
αλλά δε νομίζω ότι αξίζει να γίνει θέμα γιατί όπως λέει κι ο Στέργιος, για χάρη του διδακτικού μετασχηματισμού τα λάθη δεχόμαστε ότι περιορίζονται σε συντακτικά και λογικά (δεν αναφέρεται καθόλου η σημαντική ανάλυση εξάλλου)

Θα διαφωνήσω όμως κάθετα με το παρακάτω επιχείρημά σου
Παράθεση από: evry στις 12 Ιουν 2017, 11:03:58 ΜΜ
Πουθενά δεν λέει ότι αυτό το λάθος είναι συντακτικό. Το τι είναι συντακτικό λάθος όπως έγραψα παραπάνω το ορίζει ξεκάθαρα.
γιατί μπαίνει στην ολισθηρή λογική του να παίρνουμε μια-δυο περιπτώσεις που δίνει το βιβλίο σαν παραδείγματα και να τα ανάγουμε σε απαρέγκλιτους ορισμούς ή κανόνες
Αν εκεί ορίζει δια παντός τα συντακτικά λάθη, τότε το να μην κλείσει μια ΓΙΑ ή μία παρένθεση δεν είναι συντακτικά λάθη ;

Πάντως (είτε το λέει το βιβλίο είτε όχι - δε θυμάμαι) συντακτικά λάθη είναι αυτά που παραβιάζουν το συντακτικό της γλώσσας που γράφω, δεν είναι;
οπότε, με δεδομένο ότι η ΓΛΩΣΣΑ απαιτεί ο τελεστής MOD να έχει δύο τελεστέους Ακέραιους,
όταν ο ένας λείπει, όπως και όταν δεν είναι ακέραιος, έχω συντακτικό λάθος κι εγώ είμαι πολύ ικανοποιημένος με αυτή την εξήγηση.
Φιλικά,
Γιώργος Θαλασσινός

Sergio

Παράθεση από: evry στις 12 Ιουν 2017, 11:03:58 ΜΜ
Στην προκειμένη περίπτωση θα συμβεί όπως το λες, γιατί ο μαθητής έχει συνδέσει τα συντακτικά λάθη με τα λάθη που ανιχνεύονται σε χρόνο μεταγλώττισης.
Αυτό όμως προκύπτει έμμεσα από το κείμενο και δεν είναι σωστό. Πουθενά δεν λέει ότι αυτό το λάθος είναι συντακτικό. Το τι είναι συντακτικό λάθος όπως έγραψα παραπάνω το ορίζει ξεκάθαρα. Επίσης ξέρουμε πολύ καλά ότι το type error είναι semantic και όχι syntax error. Δεν είναι?
Δεν διαφωνώ Εύρη.  Όμως, επειδή στο πλαίσιο του μαθήματος δεν υπάρχει πουθενά αναφορά σε σημασιολογικά λάθη, γίνεται ταύτιση του όρου συντακτικό λάθος (syntax error) με το όρο λάθος κατά τη μεταγλώττιση (compile time error).  Είναι ήδη δύσκολο για τους μαθητές να διακρίνουν τη διαφορά compile και run time λάθους (με την ελάχιστη εξοικείωση με προγραμματιστικά περιβάλλοντα που επιτρέπει το 2ωρο και το επίπεδό τους) πόσο μάλλον να έπρεπε να κατανοήσουν και άλλα ήδη compile time λαθών.  Άσφαλώς αποτελεί επιστημονικό λάθος, όμως, από διδακτική πλευράς, περαιτέρω εμβάθυνση σε αυτή τη φάση πιστεύω δεν θα τους βοηθούσε, μάλλον το αντίθετο.
Παράθεση από: evry στις 12 Ιουν 2017, 11:03:58 ΜΜ
Δεν λέω ότι θα μπερδευτεί κάποιος μαθητής για τους λόγους που ανέφερες και ανέφερα, λέω ότι δεν είναι καθόλου σωστό να θεωρούμε γενικά τα λάθη τύπων ως συντακτικά.

Στη ΓΛΩΣΣΑ που έχουμε static typing τα λάθη αυτά πιάνονται σε compile time αλλά αυτό δεν σημαίνει ότι είναι syntax errors
Πάλι σωστά. Για τους σκοπούς του μαθήματος, πιστεύω πως αυτή η "απλούστευση" εξυπηρετεί διδακτικά.  Αργότερα, όσοι (και αν) ασχοληθουν με την πληροφορική, θα διορθώσουν αυτό το λάθος.

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

gbougioukas

Σχετικά με την σημείωση στο Β2 "Θεωρείστε ότι κατά την εκτέλεση του προγράμματος θα δοθεί τουλάχιστον ένας τέτοιος αριθμός"...

Το γινόμενο των στοιχείων του κενού συνόλου ορίζεται κανονικά και είναι ίσο με 1:

https://en.wikipedia.org/wiki/Empty_product

(Να δούμε πότε θα γίνει αυτό το update, είμαι περίεργος)
Γιώργος Μπουγιούκας
Computer Science (BSc), Bioinformatics & Neuroinformatics (MSc)
https://gbougioukas.wordpress.com/
https://apothesis.eap.gr/handle/repo/54953

evry

Γιώργο όταν ορίζουμε την γραμματική μιας γλώσσας και τους κανόνες σύνταξης των εντολών δεν ορίζουμε σε αυτό το στάδιο τι γίνεται με τους τύπους. Μας ξεγελάει λίγο η ΓΛΩΣΣΑ επειδή είναι υπερβολικά στατική και τέτοια λάθη πιάνονται σε compile time. Σκέψου όμως μια γλώσσα με δυναμικό σύστημα τύπων π.χ. python, javascript. Εκεί το λάθος στους τύπους πιάνεται σε χρόνο εκτέλεσης.
Αυτό εννοώ όταν λέω ότι υπάρχει ένα θεματάκι.
π.χ. για το mod που λες η σύνταξή του θα είναι στο στυλ

Έκφραση mod Έκφραση
και η έκφραση ορίζεται παρακάτω. Αν γράψω a mod b είναι συντακτικά σωστό.
Αν ο a είναι πραγματικός αυτό δεν είναι λάθος σύνταξης αλλά σημασιολογίας!

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

Παράθεση από: gthal στις 13 Ιουν 2017, 01:21:22 ΠΜ
Πάντως (είτε το λέει το βιβλίο είτε όχι - δε θυμάμαι) συντακτικά λάθη είναι αυτά που παραβιάζουν το συντακτικό της γλώσσας που γράφω, δεν είναι;
οπότε, με δεδομένο ότι η ΓΛΩΣΣΑ απαιτεί ο τελεστής MOD να έχει δύο τελεστέους Ακέραιους,
όταν ο ένας λείπει, όπως και όταν δεν είναι ακέραιος, έχω συντακτικό λάθος κι εγώ είμαι πολύ ικανοποιημένος με αυτή την εξήγηση.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

ilias_s

Ο τελεστής mod δεν προϋποθέτει πως εφαρμόζεται ανάμεσα σε σταθερές/μεταβλητές/εκφράσεις ακεραίου τύπου?

Μπορώ να πω πως είναι ένα καθαρά συντακτικό λάθος. (τουλάχιστον για τη γραμματική της ΓΛΩΣΣΑΣ)

pgrontas

#49
Γενικότερα κατά τη γνώμη μου το συγκεκριμένο υποερώτημα με τα συντακτικά και λογικά λάθη ήταν πολύ καλό ως ιδέα με πολλή κακή υλοποίηση όμως (πάντα με την επιφύλαξη του ότι η οποιαδήποτε κριτική είναι πιο πολύ εύκολη από την δημιουργία).

Τα δύο σοβαρότερα προβλήματα είναι αυτά που επεσήμανε ο Ευριπίδης και η Ελευθερία.

Σχετικά με το θέμα του τύπου του x, συμφωνώ με τον Ευριπίδη. Είναι ξεκάθαρα σημασιολογικό λάθος σε όποια γλώσσα προγραμματισμού και να το κοιτάξουμε. Σε κάποιες γλώσσες αυτό ανιχνεύεται πριν την εκτέλεση σε κάποιες μετά. Επίσης σωστά λέει ο Σέργιος ότι αυτά τα λάθη δεν έχουν ισοδύναμο στο μάθημα μας και βρίσκονται στην γκρίζα περιοχή μεταξύ συντακτικού και λογικού και διδακτικά συμφέρει να τα απλοποιήσεις και να τα κατάταξεις κάπου. Όμως για μένα  είναι εντελώς αυθαίρετο το να τα κατατάξεις στα συντακτικά, με βάση το πότε ανιχνεύονται (εφόσον επιστημονικά υπάρχουν και οι δύο προσεγγίσεις). Πιο εύλογο θεωρώ προσωπικά να τα κατατάξεις στα λογικά, καθώς παραβιάζουν τον ορισμό μιας λειτουργίας (πχ. το mod με ακέραιους) με τον ίδιο τρόπο που παραβιάζεται και ο ορισμός της διαίρεσης αν διαιρέσουμε με το 0. Με αυτή την έννοια το θέμα είναι διφορούμενο και κακώς ζητήθηκε.

Σχετικά με τον έλεγχο εγκυρότητας, αν το δούμε εντελώς τυπικά, η απουσία του είναι λάθος γιατί η εκφώνηση λέει ότι λαμβάνει θετικούς, ενώ το πρόγραμμα όπως είναι δέχεται και αρνητικούς. Στα προφορικά πριν λάβουμε τις απαντήσεις το συζητήσαμε αρκετά μεταξύ μας. Κάποιοι επέμεναν αρκετά (δικαίως για μένα) και για να είμαι ειλικρινής αυτό που τους έπεισε ότι δεν ήταν λάθος, ήταν ότι είχαν συμφωνήσει στα υπόλοιπα 5, οπότε αν ήταν και αυτό θα υπήρχε πρόβλημα κατανομής της βαθμολογίας. Ελπίζω όλοι να καταλαβαίνουμε πόσο τραγικό επιχείρημα είναι αυτό. Για μένα είναι σαφές ότι αν ένας μαθητής έχει γράψει 6 λάθη πρέπει (με κάποιο τρόπο) να επιβραβευθεί σε σχέση με κάποιον που έγραψε 5 λάθη.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

novaro

Να γράψω και εγώ παιδιά τη γνώμη μου.



Σε μια χαλαρή γλώσσα το συγκεκριμένο λαθος ίσως να μην  στοιχίσει λόγω π.χ εσωτερικής μετατροπής σε ακέραιο που στην περίπτωση μας κάνει σωστή δουλειά δηλαδη ο μεταγλωττιστής να κάνει τη σωστή  μετατροπή ( μην ξεχνάμε και μεταβλητές τύπου variant) ενώ ισχυρά τυποποιημένες γλώσσες όπως π.χ pascal οδηγεί σε "προστατευτικο" συντακτικό λάθος και διακοπή της μεταγλώττισης λόγω λάθους στα ορίσματα της mod που στην ουσία είναι συνάρτηση στην υλοποίηση της γλώσσας προγραμματισμού και δεν υπάρχει υπερφορτωμενη υλοποίηση της με άλλου τύπου ορίσματα. (εννοώ στο επίπεδο συγγραφής του μεταγλωττιστή όπου η mod θα είναι πχ
function mod ( x: integer, y: integer) : integer )
Η γλώσσα είναι μια strong typed γλώσσα οπότε μάλλον συντακτικό το λάθος;

Γιάννης Αναγνωστάκης

Να κάνω μία ερώτηση;

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

ΠΡΟΓΡΑΜΜΑ Αριθμοί
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: Χ, Ρ
  ΑΚΕΡΑΙΕΣ: Ι
ΑΡΧΗ
  Ρ <- 1
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
    ΔΙΑΒΑΣΕ Χ
    ΑΝ Α_Μ(Χ/3) = Χ/3 ΚΑΙ Α_Μ(Χ/5) = Χ/5 ΤΟΤΕ
      Ρ <- Ρ* Χ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ Ρ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

novaro

Παράθεση από: Γιάννης Αναγνωστάκης στις 14 Ιουν 2017, 10:47:14 ΠΜ
Να κάνω μία ερώτηση;

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

ΠΡΟΓΡΑΜΜΑ Αριθμοί
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: Χ, Ρ
  ΑΚΕΡΑΙΕΣ: Ι
ΑΡΧΗ
  Ρ <- 1
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
    ΔΙΑΒΑΣΕ Χ
    ΑΝ Α_Μ(Χ/3) = Χ/3 ΚΑΙ Α_Μ(Χ/5) = Χ/5 ΤΟΤΕ
      Ρ <- Ρ* Χ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ Ρ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Χωρίς να θέλω να βάλω τη συζήτηση στον άξονα το αυγό έκανε την κότα ή η κότα το αυγό λέω τη γνώμη μου.
Όταν δίνεται ένα σωστα διατυπωμένο πρόβλημα προς επιλυση στον υπολογιστή πρωτο στάδιο είναι η κατανόηση και ο προσδιορισμός του χώρου που ανήκει το πρόβλημα. (problem space) . Στο συγκεκριμένο λόγω διατύπωσης (χρήση mod ) ο χώρος του προβλήματος είναι οι ακέραιοι αριθμοί και πραξεις με αυτούς. Οπότε η επιλογή του τύπου δεδομένων φαίνεται ήδη από αυτό το στάδιο.
Εφόσον τώρα λεει μόνο θετικούς και όχι ακέραιους θετικούς δημιουργείται θέμα στην προκειμένη περίπτωση.
Υπάρχει μια διπλή ερμηνεία στην πρόταση:
Να διαβάζει θετικούς αριθμούς
1. Αφού οι πράξη που ζητειται απαιτεί ακεραια τιμή άρα η πρόταση υπονοεί ότι είναι ακεραιοι ώστε να είναι εφικτή η πράξη. Και άρα η Χ δηλώνεται ακέραια.
2. Να διαβάζει θετικούς που μπορεί να είναι και πραγματικοί και να κάνει εφικτή τη λύση όμως παράλληλα μέσω της ακεραιας διαίρεσης.
Νομίζω η λύση του μαθητή βασίζεται στη δεύτερη ερμηνεία. Οι περισσότεροι όμως θα συμφωνήσουν ίσως με την πρώτη ερμηνεία και με το γεγονός ότι η κατανόηση και ανάλυση προηγούνται της υλοποίησης άρα ο καθορισμός του τύπου δεδομένων προηγείται και έχει κυρίαρχο ρόλο στην μετέπειτα επίλυση.

Sergio

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

Όμως, ξαναδιαβάζοντας την εκφώνηση, όσο μπορώ με τα μάτια "μαθητή", παρατηρώ πως είναι ιδιαίτερα πιθανό (και όχι απαραίτητα 'άστοχο') να υιοθετήσει την προσέγγιση που περιγράφεις στο σημείο 2.  Και εξηγούμαι:

1. "Το ακόλουθο πρόγραμμα έχει σκοπό να διαβάζει 10 θετικούς αριθμούς ": ΚΑΜΙΑ αναφορά σε ακεραίους.  Για παράδειγμα να διαβάζει το 12, 13.4, 15, 7, 20.7, 30, 42, 45.5, 60, .. κ.ο.κ. (θετικοί αριθμοί)  Σε αυτή την "αντίληψη", εκτός από την έλλειψη αναφοράς σε ακεραίους αριθμούς στην εκφώνηση, "συνηγορεί" και η δήλωση του Χ στους πραγματικούς.

2. Με διαμορφωμένη πλέον την αντίληψη πως ο (θετικός) αριθμός μπορεί να έχει και δεκαδικά ψηφία, συναντά παρακάτω την εντολή: "Χ MOD 3 = 0 Ή MOD 5 = 0" και παρατηρεί πως ο ακέραιος τελεστής εσφαλμένα χρησιμοποιείται με πραγματική έκφραση.  Εκεί είναι που καταλήγει στη χρήση του Α_Μ, (όπως το περιγράφεις) προκειμένου να εξασφαλίζει πως θα τηρηθούν οι προϋποθέσεις που θέτει η εκφώνηση.

Για παράδειγμα, το Χ θα μπορούσε να είναι "χρόνια υπηρεσίας" 10 εργαζόμενων που, ως πληροφορία, είναι πραγματική (σε αντίθεση με .. ας πούε .. το έτος πρόσληψης που είναι σαφώς ακέραια) και το ζητούμενο να είναι να βρεθούν όσοι έχουν ΑΚΡΙΒΩΣ πολλαπλάσια χρόνια του 5 και του 3. 

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

Sergio

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

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

novaro

Συμφωνώ σε όλα όσα ανέφερες απλά  δεν θα μπορούσε σε μια εκφώνηση του τύπου "Να βρείτε τους αριθμούς από το 1 μέχρι το 1000 που διαιρούνται με το 3 και το 5" να θεωρήσει κανείς ότι ψάχνω για πραγματικές τιμές.
Ή αν το δίναμε σε μαθητή σαν άσκηση μεμονωμένη μέσα στη σχολική χρονιά ως : " Να διαβάζει 10 αριθμούς και να τυπώνει...με το 3 και το 5" . Όλοι θα το έκαναν για ακέραιες τιμές και δεν θα ρωτούσε κανένας μαθητής για τον τύπο δεδομένων των αριθμών γιατί θα τον εκραζαν οι άλλοι .

Όσον αφορά το δικό σου 1 και 2 συμφωνώ επίσης όπως το παράδειγμα που έδωσες απλά νομίζω ότι στο 2 πρέπει να δηλωθεί άλλη μεταβλητή ακέραια με ξεχωριστή σημασιολογία αφού πλέον δεν αντιπροσωπεύει την αρχικη Χ πραγματική αλλά σημαίνει κάτι διαφορετικό πλέον για το πρόγραμμα.
Η Χ δηλώθηκε πραγματική λόγω της εκφώνησης αλλά το ακέραιο της μέρος μπορεί να έχει ιδιαίτερη σημασία οπότε το χρησιμοποιώ και καλύτερα ως νέα μεταβλητή ακέραια γιατί έχει ιδιαίτερη και επιπλέον σημασία για τη λογική του αλγορίθμου.



Γιάννης Αναγνωστάκης

Παράθεση από: Sergio στις 14 Ιουν 2017, 03:27:34 ΜΜ
Για να μην πω πως, η συγκεκριμένη ερμηνεία καλύπτει "πληρέστερα" την εκφώνηση αφού δίνει σωστό αποτέλεσμα για οποιεσδήποτε θετικές τιμές.. Αυτό δε ζητάει η εκφώνηση;

Εφόσον το ζητούμενο ήταν η είσοδος ΑΠΑΡΑΙΤΗΤΑ ακέραιων αριθμών, νομίζω πως η εκφώνηση έπρεπε με κάποιο τρόπο να διατυπώνει αυτό τον περιορισμό.  Δηλαδή αν ΟΝΤΩΣ ήθελε "οποιοδήποτε" θετικό αριθμό (με ή χωρίς δεκαδικά) ΤΙ θα έλεγε διαφορετικά ;;

Έτσι σκέφτηκε λοιπόν και ένας μαθητής μου..αν ήθελε ακέραιες λέει κύριε, θα το έλεγε η ΕΚΦΩΝΗΣΗ....

Sergio

Όντως, σε μια εκφώνηση  του τύπου "Να βρείτε τους αριθμούς από το 1 μέχρι το 1000 που ..." δε μπορεί κανείς να θεωρήσει πως ο αριθμός δεν είναι ακέραιος, διαφορετικά τι βήμα να βάλει... Από το 0 μέχρι το 1 υπάρχουν άπειροι αριθμοί (εξ όσων γνωρίζει από τα μαθηματικά) πόσο μάλλον από το 1 μέχρι το 1000.  Και σε αυτό τον προβληματισμό έρχεται να δώσει απάντηση ο διαιρέτης ο οποίος είναι ακέραιος οπότε μπορεί ο μαθητής να εξαιρέσει όλους τους αριθμούς με δεκαδικά και να καταλήξει στο προφανές .. από 1 μέχρι 1000 (με_βήμα 1)

Όμως δε νομίζω πως είναι συγκρίσιμα.  Αν ήταν διατυπωμένο ως "Να ζητάει 1000 αριθμούς και να εμφανίζει εκείνους που διαιρούνται με το 3 και το 5", τότε πλησιάζει περισσότερο στην εκφώνηση του θέματος και νομίζω πως θα είχαμε το ίδιο "πρόβλημα".

Σε κάθε περίπτωση, παρά το γεγονός πως το μυαλό όλων μας πηγαίνει όντως σε ακέραιους αριθμούς (με το που βλέπουμε το MOD και έχοντας συνηθίσει να δίνουμε τέτοιες ασκήσεις), αυτό δεν αποτελεί επαρκές άλλοθι για την "τιμωρία" του μαθητή που, τελικά κάνει ακριβώς ό,τι λέει η εκφώνηση. Ιδιαίτερα σε συνθήκες εξετάσεων. Η εκφώνηση πρέπει να ερμηνεύεται μονοσήμαντα απ' όλους.  Να θυμηθούμε και το παράδειγμα με τον Γιάννη και τη Μαρία που είναι παντρεμένοι (στο κεφάλαιο 1).  Αν τους γνωρίζαμε προσωπικά, όλοι θα το ερμηνεύαμε με τον ίδιο τρόπο.. διαφορετικά σαν πρόταση έχει δύο ερμηνείες..  Εφόσον όμως διατυπωθεί προσθέτοντας τις λέξεις "μεταξύ τους", όλοι θα το ερμηνεύσουν με τον ίδιο τρόπο.

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

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

Sergio

Παράθεση από: Γιάννης Αναγνωστάκης στις 14 Ιουν 2017, 06:07:23 ΜΜ
Έτσι σκέφτηκε λοιπόν και ένας μαθητής μου..αν ήθελε ακέραιες λέει κύριε, θα το έλεγε η ΕΚΦΩΝΗΣΗ....

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

Sergio

Παράθεση από: Γιάννης Αναγνωστάκης στις 14 Ιουν 2017, 06:07:23 ΜΜ
Έτσι σκέφτηκε λοιπόν και ένας μαθητής μου..αν ήθελε ακέραιες λέει κύριε, θα το έλεγε η ΕΚΦΩΝΗΣΗ....
Απορώ γιατί δεν άφησε και το Ρ στους ακεραίους και να διορθώσει την 10 σε Ρ<-Ρ*Α_Μ(Χ)
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

novaro

#60
Η λύσεις του Υπουργείου τι λένε; Ας το πάρουν σωστό και μόνο για τη σύνθετη σκέψη που έκαναν τα παιδιά να φιλτράρουν λανθασμένα δεδομένα εισόδου.
Άρα καταλήγουμε στην αμφισημία της πρότασης " Να διαβάζει 10 θετικούς" και το διπλό νόημα της σαν υπαίτιο του προβλήματος που προέκυψε.

Sergio

Παράθεση από: novaro στις 14 Ιουν 2017, 06:59:27 ΜΜ
Η λύσεις του Υπουργείου τι λένε;


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

Sergio

Παράθεση από: novaro στις 14 Ιουν 2017, 06:59:27 ΜΜ
Ας το πάρουν σωστό και μόνο για τη σύνθετη σκέψη που έκαναν τα παιδιά να φιλτράρουν λανθασμένα δεδομένα εισόδου.
Άρα καταλήγουμε στην αμφισημία της πρότασης " Να διαβάζει 10 θετικούς" και το διπλό νόημα της σαν υπαίτιο του προβλήματος που προέκυψε.
+1
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

DmitrijPyc

Γνωμη μαθητη.Το β1 ευκολο,το β2  πιο δυσκολο απο το β1.Στο β2 δεν καταλαβα  αν επρεπε να αλλαξουμε την εντολη ΓΙΑ και να βαλουμε οσο με εναν μετρητη για να διαβασει ακριβως 10 θετικους αριθμους.

Sergio

Παράθεση από: DmitrijPyc στις 14 Ιουν 2017, 07:43:13 ΜΜ
Γνωμη μαθητη.Το β1 ευκολο,το β2  πιο δυσκολο απο το β1.Στο β2 δεν καταλαβα  αν επρεπε να αλλαξουμε την εντολη ΓΙΑ και να βαλουμε οσο με εναν μετρητη για να διαβασει ακριβως 10 θετικους αριθμους.

Αν εννοείς πως έδωσες λύση της μορφής:
ΠΡΟΓΡΑΜΜΑ Αριθμοί
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ρ, i, Χ, π
ΑΡΧΗ
  Ρ <- 1
  π <- 0
  ΟΣΟ π < 10 ΕΠΑΝΑΛΑΒΕ
    ΔΙΑΒΑΣΕ Χ
    ΑΝ Χ > 0 ΤΟΤΕ
      π <- π + 1
      ΑΝ Χ mod 3 = 0 Η Χ mod 5 = 0 ΤΟΤΕ
        Ρ <- Ρ*Χ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ Ρ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


δε νομίζω πως θα χάσεις κάποια από τις μονάδες του Β2.

Μάλλον το σκέφτηκες περισσότερο απ' όσο ήθελε το θέμα, όμως η "μερική" ασάφεια στην εκφώνηση πιστεύω πως δικαιολογεί "και" μια τέτοια απάντηση.

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

Γιάννης Αναγνωστάκης

Παράθεση από: Sergio στις 14 Ιουν 2017, 06:43:21 ΜΜ
Καλός μαθητής να υποθέσω ..

Αστέρι που λύνει τα πάντα

andreas_p

ΑΝ Χ mod 3 = 0 Η ΚΑΙ Χ mod 5 = 0 ΤΟΤΕ

evry

Αν x mod 15 = 0 Τότε  ;)
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Sergio

Παράθεση από: evry στις 15 Ιουν 2017, 10:18:09 ΠΜ
Αν x mod 15 = 0 Τότε  ;)

Ενώ αν το είχαν διατυπώσει "..το γινόμενο όσων από αυτούς είναι πολλαπλάσιοι του 3 αλλά και εκείνων που είναι πολλαπλάσιοι του 5..". ούτε μαθηματικές "τρίπλες" θα επέτρεπαν, αλλά ΚΑΙ θα εξέταζαν την αντίληψη του μαθητή να μετατρέψει το "συνδετικό" και σε λογικό "Η" ;)
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

michaeljohn

Από απάντηση μαθητή στο Β1
1)  4
2)  40
3)   mod 2
4)  1
5)  + i mod 12
                        !!!!