div/mod με αρνητικό ακέραιο

Ξεκίνησε από dpa, 16 Ιαν 2022, 08:39:56 ΜΜ

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

dpa

Καλησπέρα,
θα ήθελα να ρωτήσω: Γιατί στην εφαρμογή της Γλώσσας ο αλγόριθμος βγάζει αποτελέσματα αν σαν τελεστέοι στο div και στο mod δοθούν αρνητικοί αριθμοί; Καταλαβαίνω ότι αυτό μπορεί να έγινε για να προσομοιώσει η Γλώσσα μία "κανονική" γλώσσα προγραμματισμού, ωστόσο δεν προκαλείται μια σύγχυση στους μαθητές από το γεγονός ότι η θεωρία δεν αντικατοπτρίζεται και στην πράξη;
Ευχαριστώ πολύ!

alkisg

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

Σε άλλο παράδειγμα, τι θα εμφανίσει η παρακάτω εντολή, ή ποιο είναι το διάγραμμα ροής της;

Κώδικας: ΓΛΩΣΣΑ
ΓΙΑ μ ΑΠΟ -1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ -3*μ
  ΓΡΑΨΕ μ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


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

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

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

George Eco

dpa νομίζω πως ο Άλκης το κάλυψε το θέμα, ωστόσο θέλω να επισημάνω δύο ακόμα πράγματα που όταν εγώ τα έμαθα, διαλευκάνθηκε το τοπίο στο νου μου.

Η ΓΛΩΣΣΑ ορίστηκε επί χάρτου, μέσα από το βιβλίο. Δεν ήρθε μαζί με κανένα διερμηνευτή. Ο Διερμηνευτής της, είναι ο ανθρώπινος εγγέφαλος, οπότε καταλαβαίνεις πόσο χάλια ήταν στην αρχή τα πράγματα. ΜΕΤΑ και με πρωτοβουλία του Άλκη, και τον χιλιοευχαριστώ κι εγώ κι όλοι μας φαντάζομαι, ήρθε αυτό το εργαλείο που λέγεται ΔΙΕΡΜΗΝΕΥΤΗΣ ΤΗΣ ΓΛΩΣΣΑΣ.

Ο Άλκης προσπάθησε κι έκανε το καλύτερο που μπορούσε, να συνδράμει με το βιβλίο και την ύλη ο Διερμηνευτής. Αλλά αυτό όπως διαπίστωσες κι εσύ, δεν είναι πάντα εφικτό.
Άρα τι κάνουμε σε αυτές τις περιπτώσεις που μαθητές μας λένε πράγματα τύπου "Εγώ στο Διερμηνευτή έκανα αυτό κι αυτό, που λέτε πως δε γίνεται";
Τους απαντούμε πως το εργαλείο αυτό δε πάει 100% με την εξεταστέα ύλη.
Κι επίσης του λέμε πως η ψευδογλώσσα δεν εκτελείται από Η/Υ αλλά είναι γραμμένη από άνθρωπο κι απευθύνεται σε άνθρωπο, ωστόσο τα εργαλεία αυτά εκτελούν και ψευδογλώσσα. Αυτό δε σημαίνει πως είναι λάθος τα εργαλεία ούτε σημαίνει (κάποιες φορές) πως η ύλη είναι λάθος.



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

Επίσης, στο έγγραφο 630/24-01-2008 του πρώην Παιδαγωγικού Ινστιτούτου, για το DIV, MOD:

"Η αντιµετώπιση αυτών των περιπτώσεων από την ΓΛΩΣΣΑ ξεφεύγει από το σκοπό του σχολικού βιβλίου και γι' αυτό οι δύο τελεστέοι πρέπει να θεωρούνται πάντοτε θετικοί ακέραιοι. Εποµένως, ασκήσεις ή προβλήµατα που δίνονται στους µαθητές για επεξεργασία και απαιτείται η χρήση της MOD πρέπει πάντοτε να αναφέρονται σε θετικούς ακέραιους αριθµούς."

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