ΕΚΣΦΑΛΜΑΤΩΣΗ ΜΙΑ ΒΟΗΘΕΙΑ

Ξεκίνησε από katerina.Μ, 01 Απρ 2025, 10:37:55 ΜΜ

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

katerina.Μ

1. Χ= ΠΡΑΓΜΑΤΙΚΟΣ_ΑΡΙΘΜΟΣ,  Χ MOD 3 
2. Υ, Χ= ΑΚΕΡΑΙΟΙ,   Υ<-- "Α" + Χ 

EINAI ΣΥΝΤΑΚΤΙΚΑ ΛΑΘΗ ΚΑΙ ΤΑ ΔΥΟ;

dimitrios67

#1
Το 2. θα μπορουσαμε να το πουμε συντακτικό, διοτι ενας από τους κανόνες της εντολής εκχωρησης
ειναι να εχουμε ιδιο τυπο αριστερά και δεξιά. Το ετρεξα στην Γλωσσομαθεια και το εβγαλε συντακτικό.

Και το 1. ειναι συνατικτικό, διοτι δεν οριζεται (στη ΓΛΩΣΣΑ) ο τελεστης mod σε πραγματικους αριθμους.
Δες πανελλ. 2023 το Α1-4, ρωταει αν το Χmod3 ειναι συντακτικό λαθος, όπου η απαντηση ειναι ΝΑΙ.
Δες πρασινο βιβλίο σελ. 131.
Ηταν μια ερωτηση η οποία ελαβε πολλα αρνητικά σχόλια από τους εκπαιδευτικους,
οποτε μαλλον δεν θα ξαναβαλουν παρομοιο θεμα.
Παρ' όλα αυτα, η απαντηση ειναι ειναι οτι ειναι συντακτικό λαθος (συμφωνα με το βιβλίο, οχι στον "πραγματικό" προγραμματιστικο κοσμο).
Καλη προετοιμασία και καλή επιτυχία (υποθετω οτι ειστε υποψήφια).

katerina.Μ

Σας ευχαριστώ πολύ. 
Γιατί είχα μπερδευτεί, κάποια βοηθήματα τα κρίνουν ως κατά την εκτέλεση λάθη και τα δύο.

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

dimitrios67

Ειναι ξεκαθαρα λογικό λαθος, διότι μπορεί να πεσουμε σε ατερμονα βροχο
και (θεωρητικά) το προγραμμα να τρεχει μεχρι να σβησουμε τον υπολογιστη.
ΥΓ: Εσύ να κοιτας Καρκαμάνη - Τσιωτάκη.

katerina.Μ


petrosp13

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

katerina.Μ

Σε βοήθημα του τσιωτακη τα έχω βρει σαν κατά την εκτέλεση 

gpapargi

Υπάρχουν 2 οπτικές για να δεις τα συγκεκριμένα λάθη. Η μια είναι να τα δεις με βάση τη βιβλιογραφία. Η άλλη είναι να τα δεις με βάση το σχολικό βιβλίο. Αυτά δυστυχώς δεν ταυτίζονται απαραίτητα. Το type checking είναι λάθος σημασιολογίας. Όμως με βάση το διδακτικό πακέτο αυτά που βιβλιογραφικά λέγονται λεκτική ανάλυση, συντακτικός έλεγχος και σημασιολογική ανάλυση έχουν ενσωματωθεί στο συντακτικό. Άρα για το σχολικό μάθημα θεωρούνται συντακτικά λάθη.

Ο ατέρμονας βρόχος εκτελείται άρα δεν είναι συντακτικό λάθος. Για να είναι λάθος αντικανονικού τερματισμού θα πρέπει το πρόγραμμα να σκάει δηλαδή να τερματίζει ανώμαλα χωρίς να έχει εκτελέσει όλες τις εντολές. Άρα είναι λογικό λάθος γιατί υπάρχει κάποιο λάθος στη λογική του προγραμματιστή. Αν δεν τερματίζει παραβιάζει το κριτήριο της περατότητας. Τώρα βέβαια... αν ο προγραμματιστής σκόπιμα το έχει κάνει να μην τερματίζει (πχ έχει φτιάξει ένα process που τρέχει 24 Χ7) δεν έχει κάνει κάτι λάθος στη λογική του, αλλά ξεφεύγουμε από το σχολικό μάθημα.
Γιώργος Παπαργύρης

katerina.Μ

Σας ανεβάζω δυο ασκήσεις που προτείνουν αυτές τις λύσεις για την εκσφαλμάτωση των δυο λαθών που συζητάμε. (Εκανα ενα κολαζ για να σας κατευθύνω) ΒΙΒΛΙΟ ΤΣΙΩΤΑΚΗΣ Γ ΤΕΥΧΟΣ
Περιμένω σχόλια σας.

geochatz

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

Με βάση την απλοποιημένη αυτή λογική (που βέβαια έρχεται σε κάποια σημεία σε αντίφαση με το Συμπληρωματικό Υλικό):
- τα div/mod με πραγματικούς, τη μη δήλωση μεταβλητής, την απόπειρα εκχώρησης τιμής άλλου τύπου σε μεταβλητή, τα εντοπίζει ο διερμηνευτής πριν εκτελέσει το οτιδήποτε.
- η μη αρχικοποίηση μεταβλητής και η διαίρεση με το 0 γίνονται αντιληπτές όταν είναι πια αργά, την ώρα της εκτέλεσης, οπότε είναι λάθη χρόνου εκτέλεσης.
- ο ατέρμων βρόχος είναι ένα λογικό λάθος του προγραμματιστή που οδηγεί αναγκαστικά σε αντικανονικό τερματισμό, αφού θα τερματίσουμε την εκτέλεση "βίαια" και δεν θα φτάσει ποτέ στο ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ*.

*: εδώ υπάρχει η εξαίρεση της ΓΙΑ με βήμα 0 που ο διερμηνευτής μας το εντοπίζει πριν την εκτέλεση.

George Eco

Απαντώ στην 8η ανάρτηση στο thread.

Να σημειωθεί πως η ΓΛΩΣΣΑ είναι στο βιβλίο επί χάρτου ορισμένη. Οι διάφοροι διερμηνευτές ΔΕΝ έχει σημασία πως λειτουργούν.
Οπότε πρέπει από το βιβλίο να βγάζουμε συμπεράσματα και πολλές φορές τα βιβλία... δεν ορίζουν καλά τα πράγματα σε πολλά σημεία. Φέρει πειν το αλφάβητο δεν έχει άνω κάτω τελεία κι αγγύλες. Λέω τώρα.
Εξαίρεση του by the book  κάποια απόφαση, διευκρίνιση, οδηγία κλπ. 

Το y στο mod 2 είναι ολόσωστο, μέχρι που βγήκε ΦΕΚ που ορίζει θετικούς ακεραίους τους τελεστέους του:

Συνεδρία αριθ. 03/2008
Απάντηση επί του εγγράφου με αρ. πρωτ 9978/Γ2/23-01-2008 της
Διεύθυνσης Σπουδών Δευτεροβάθμιας Εκπαίδευσης/Τμήμα Α΄του
ΥΠΕΠΘ(Παιδαγωγικό Ινστιτούτο αρ. πρωτ. 630/24-01-2008 )

Για όσα αφορά τη MOD το απόσπασμα λέει:

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

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


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




petrosp13

Εγώ πάλι θα έλεγα ότι ο ατέρμων βρόχος δεν είναι προγραμματιστικό σφάλμα αναγκαστικά και καλώς δεν αγγίζεται ένα τέτοιο θέμα
Παραβιάζεται μεν το αλγοριθμικό κριτήριο της περατότητας αλλά υπάρχουν πολλά προγράμματα που τρέχουν 24/7 (στα ΑΤΜ, στους server κτλ)
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

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

Καλημέρα σε όλους

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

George Eco

Παράθεση από: Λαμπράκης Μανώλης στις 06 Απρ 2025, 09:08:35 ΠΜΚαλημέρα σε όλους

αν δεν κάνω κάποιο λάθος, στις οδηγίες διδιασκαλίας αναφέρει πως κάποια λάθη έχουν "διπλή οπτική με την οποία αντιμετωπίζονται" και δίνουν ως παράδειγμα τον ατέρμων βρόχο ... θέλω να πιστεύω πως δεν θα ζητηθεί κάτι τέτοιο στις εξετάσεις (που σνήθως είναι το λύριο άγχος μας)
Αυτά έχω κατά νου Μανώλη και γι' αυτό απάντησα. Κανονικά θα πρέπει να μην ασχοληθούμε καθόλου με γκρίζα νερά κι ομοίως πρέπει να το αποφύγουν κι οι Επιτροπές θεμάτων Πανελληνίων. Να σου πω κάτι Μανώλη; Τι ακριβώς εξετάζουμε εδώ; Θα μπορούσαμε να το εξετάζαμε στα πλαίσια του μαθήματος με άλλα παραδείγματα, δίκιο έχεις.

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