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

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: Νίκος Αδαμόπουλος στις 23 Απρ 2009, 12:51:37 ΠΜ

Τίτλος: Συντακτικά και Λογικά λάθη
Αποστολή από: Νίκος Αδαμόπουλος στις 23 Απρ 2009, 12:51:37 ΠΜ
Επειδή οι μαθητές συνήθως δεν ξεκαθαρίζουν και τόσο εύκολα τη διαφορά ανάμεσα στα συντακτικά και τα λογικά λάθη, αναφέρω ένα παράδειγμα ("δανεισμένο" από βοήθημα) που πράγματι οι μαθητές απαντάνε λανθασμένα για το είδος του λάθους:

ΜΟ <- α+β+γ/3  ! (για υπολογισμό του μέσου όρου)

Στο παραπάνω προσθέτω, λοιπόν, τρια ακόμα παραδείγματα που πιστεύω ότι θα μπέρδευαν τους μαθητές:

α)

β<-χ+ψ   ! (χωρίς να έχει πάρει τιμή η μεταβλητή χ)


β)

ΜΟ <- άθροισμα/πλήθος  ! (και ενώ το πλήθος δεν αποκλείεται να έχει την τιμή 0)


γ)

S<-0
i<-1
Όσο i<=100 επανάλαβε
  S<-S+i
Τέλος_επανάληψης
Εμφάνισε S
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: dipa57 στις 23 Απρ 2009, 07:40:32 ΜΜ
Στο β) να προσθέσω και το ότι, όταν ο ΜΟ να αναφέρεται σε ΑΚΕΡΑΙΕΣ ποσότητες, τον θεωρούν ΑΚΕΡΑΙΑ μεταβλητή.
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: tanius76 στις 29 Απρ 2009, 12:24:16 ΠΜ
Γεια και χαρά παιδιά! ;)
και χρόνια Πολλά!

Παραθέτω την παρακάτω πρόταση Σ ή Λ νομίζετε ότι πρέπει να βάλουμε.

1.   Η χρήση κλασματικής παράστασης σε μια εντολή , που ο παρονομαστής της για κάποιες τιμές μεταβλητών που περιέχονται στην παράσταση μπορεί να μηδενίζεται , αποτελεί λογικό λάθος.
?????
περιμένω τις απαντήσεις σας???
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: Καρκαμάνης Γεώργιος στις 29 Απρ 2009, 12:38:23 ΠΜ
Σ.
Πρέπει ο προγραμματιστής να φροντίσει να ελέγξει τις μεταβλητές του παρονομαστή, ώστε να μην τον μηδενίζουν.
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: Νίκος Αδαμόπουλος στις 29 Απρ 2009, 09:38:16 ΠΜ
Παράθεση από: tanius76 στις 29 Απρ 2009, 12:24:16 ΠΜ
Η χρήση κλασματικής παράστασης σε μια εντολή , που ο παρονομαστής της για κάποιες τιμές μεταβλητών που περιέχονται στην παράσταση μπορεί να μηδενίζεται, αποτελεί λογικό λάθος.

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

Αυτό εννοούσα και με το β) παράδειγμα στο αρχικό μήνυμα...
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: P.Tsiotakis στις 29 Απρ 2009, 01:35:45 ΜΜ
Εμένα δε μου αρέσει η ερώτηση.
Άρα θεωρώ την ερώτηση Λάθος :D
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: evry στις 29 Απρ 2009, 03:20:30 ΜΜ
και μένα δε μου αρέσει.
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: tanius76 στις 29 Απρ 2009, 10:33:14 ΜΜ
4.   Τα λογικά λάθη είναι συνήθως λάθη σχεδιασμού και δεν προκαλούν τη διακοπή της εκτέλεσης του προγράμματος.
(επαν πανελλήνιες 2002)
είναι σωστό οπως δώθηκε απο πανελλήνιες.
εμένα η απορία μου είναι πώς έαν έχω χρήση κλασματικής παράστασης σε μια εντολή
που ο παρονομαστής της για κάποιες τιμές μεταβλητών που περιέχονται στην παράσταση μπορεί να μηδενίζεται , εφόσον το θεωρούμε λογικό λάθος) τότε διακόπτεται η εκτέλεση του προγράμματος .
???
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: Νίκος Αδαμόπουλος στις 30 Απρ 2009, 12:58:17 ΠΜ
Παράθεση από: tanius76 στις 29 Απρ 2009, 10:33:14 ΜΜ
4.   Τα λογικά λάθη είναι συνήθως λάθη σχεδιασμού και δεν προκαλούν τη διακοπή της εκτέλεσης του προγράμματος.
(επαν πανελλήνιες 2002)
είναι σωστό οπως δώθηκε απο πανελλήνιες.
εμένα η απορία μου είναι πώς έαν έχω χρήση κλασματικής παράστασης σε μια εντολή
που ο παρονομαστής της για κάποιες τιμές μεταβλητών που περιέχονται στην παράσταση μπορεί να μηδενίζεται , εφόσον το θεωρούμε λογικό λάθος) τότε διακόπτεται η εκτέλεση του προγράμματος .
???

Ναι, αυτή η απορία είναι λογική, αν και όχι ξεκάθαρα διατυπωμένη (εννοώ η απορία!)...
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: Καρκαμάνης Γεώργιος στις 30 Απρ 2009, 08:53:05 ΠΜ
Παράθεση4.   Τα λογικά λάθη είναι συνήθως λάθη σχεδιασμού και δεν προκαλούν τη διακοπή της εκτέλεσης του προγράμματος.
(επαν πανελλήνιες 2002)
είναι σωστό οπως δώθηκε απο πανελλήνιες.
εμένα η απορία μου είναι πώς έαν έχω χρήση κλασματικής παράστασης σε μια εντολή
που ο παρονομαστής της για κάποιες τιμές μεταβλητών που περιέχονται στην παράσταση μπορεί να μηδενίζεται , εφόσον το θεωρούμε λογικό λάθος) τότε διακόπτεται η εκτέλεση του προγράμματος

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

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

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

Στηριζόμενοι σε αυτο σκεπτικό μπορουμε να χαρακτηρίσουμε την πρόταση ως Σ
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: lykos στις 01 Μαΐου 2009, 09:30:51 ΜΜ
Η απάντηση είναι Σ, αν και κατά την γνώμη μου η ερώτηση
ΠαράθεσηΗ χρήση κλασματικής παράστασης σε μια εντολή , ...
θάπρεπε νάναι: "Η χρήση κλασματικής παράστασης σε μια αριθμητική έκφραση, ..."

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

Δεν διακόπτεται οπωσδήποτε! Μπορεί να διακοπεί... (αν παρονομαστής = 0)
Ενώ σε συντακτικό λάθος διακόπτεται - πάντα! - ή μεταγλώττιση (όχι η εκτέλεση!)

Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: P.Tsiotakis στις 01 Μαΐου 2009, 10:36:02 ΜΜ
Στο κεφάλαιο 13 (τεκμηρίωση) που πλέον δεν είναι στη ύλη αναφέρονται σε τα γνωστά σε όλους μας λάθη χρόνου εκτέλεσης.

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

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

Χωρίς να αντικρούω τις παραπάνω αναφορές στα λογικά λάθη, θα προτιμούσα μόνο τέτοια που να εκτελούνται πέραν πάσης αμφιβολίας , αλλά να οδηγούν σε λανθασμένα αποτελέσματα. όπως το άθροισμα πίνακα και η διαίρεση με ΛΑΘΟΣ πλήθος για τον υπολογισμό του μέσου όρου.
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: pgrontas στις 02 Μαΐου 2009, 12:05:56 ΠΜ
Νομίζω ότι θα συμφωνήσουμε στα εξής:
Αν κάποιο πρόγραμμα έχει λογικό λάθος τότε δεν σταματάει υποχρεωτικά η εκτέλεση του, (μπορεί να δώσει λάθος τιμές).
Αν κάποιο πρόγραμμα σταματήσει την εκτέλεση του, τότε έχει λογικό λάθος (αν στα λογικά λάθη συμπεριλάβουμε και την μη συμμόρφωση στις προδιαγραφές γλώσσας προγραμματισμού και ΛΣ).

Παράθεση από: tanius76 στις 29 Απρ 2009, 10:33:14 ΜΜ
4.   Τα λογικά λάθη είναι συνήθως λάθη σχεδιασμού και δεν προκαλούν τη διακοπή της εκτέλεσης του προγράμματος.
(επαν πανελλήνιες 2002)
είναι σωστό οπως δώθηκε απο πανελλήνιες.

H ερώτηση είναι προβληματική. Η ερμηνεία της εξαρτάται από το πού πάει το συνήθως. Αν πάει μόνο στο λάθη σχεδιασμού, τότε η απάντηση είναι λάθος, γιατί ένα λογικό λάθος ναι μεν οφείλεται σε λάθος σχεδιασμό, αλλά μπορεί να προκαλέσει τον τερματισμό του προγράμματος.
Αν το συνήθως πάει σε όλη την υπόλοιπη πρόταση (που δεν κάθεται καλά συντακτικά εκτός αν το 'και' το ερμηνεύσουμε ως 'που') κλίνω προς το σωστό, αλλά πάλι είναι διφορούμενο (ποια είναι πιο πολλά τα προγράμματα : με λογικό λάθος που διακόπτουν ή αυτά που δεν διακόπτουν και πώς μπορεί ο μαθητής να το ξέρει).
Άλλη μια προσεγμένη επιλογή...
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: tanius76 στις 04 Μαΐου 2009, 07:44:23 ΜΜ
Ευχαριστώ πολύ για τις απαντήσεις σας!
Πιστεύω ότι το αναλύσαμε  καλά το θέμα!

Με εκτίμηση Τάνια
Τίτλος: Απ: Συντακτικά και Λογικά λάθη
Αποστολή από: Γιαννούλης Γιώργος στις 01 Φεβ 2010, 01:45:54 ΠΜ
Παράθεση από: Καρκαμάνης Γεώργιος στις 30 Απρ 2009, 08:53:05 ΠΜ
Αντίθετα ένα λογικό λάθος, δεν έχει να κάνει με την λανθασμένη σύνταξη μιας εντολής.( Η εντολή μπορεί να εκτελείται κανονικά ή να μην εκτελείται για ορισμένες μόνο τιμές των μεταβλητών αλλά να μην δίνει να αναμενόμενα αποτελεσματα.)


Δηλαδή αν μέσα στον κώδικα έχω κάπου αυτό :
χ<--α/0
τότε είναι λογικό η συντακτικό λάθος.
Πότε δεν πρόκειτε να δουλέψει. Παρόλα αυτά δεν το θεωρώ συντακτικό λάθος μιας και η σύνταξη του είναι ορθή. Διαιρεί μία μεταβλητή με μία σταθερα και την αναθέτει σε μια άλλη μεταβλητή...