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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: soutan στις 23 Μαΐου 2018, 01:22:41 ΠΜ

Τίτλος: Απορια συντακτικου-λογικου λαθους
Αποστολή από: soutan στις 23 Μαΐου 2018, 01:22:41 ΠΜ
Καλησπερα σε ολους,
Θα ηθελα να με βοηθησετε στο εξης:

Για Ι απο 1 μεχρι 10
   Διαβασε Χ
   Σ <- Σ+Χ
Τελος_επαναληψης

Η μη αρχικοποιηση του αθροιστη αποτελει συντακτικο ή λογικο λαθος και γιατι;
Ποιο κριτηριο παραβιαζεται;

Ευχαριστω εκ των προτερων,
Γιωργος
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pvs στις 23 Μαΐου 2018, 07:29:11 ΠΜ
Η μη αρχικοποίηση του αθροιστή θα οδηγήσει στη μη μεταγλώττιση του προγράμματος συνεπώς κατά την άποψή μου θεωρώ ότι υπάρχει συντακτικό λάθος.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 08:25:34 ΠΜ
καθαρα συντακτικο λαθος αφου οταν μια μεταβλητη δεν αρχικοποιειται το προγραμμα δεν μπορει να τρεξει και μαλιστα θα επισημανει και το λαθος.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Λαμπράκης Μανώλης στις 23 Μαΐου 2018, 08:44:53 ΠΜ
Καλημέρα σε όλους

εγώ θα το έλεγα λάθος χρόνου εκτέλεσης .. μεταγλώτιση καθώς δεν υπάρχει "λάθος γραμμένη εντολή" αυστηρά με τον ορισμό,   αλλά δεν θα υπάρξει αποτέλεσμα .. νομίζω αφού δεν διδάσκονται τα παιδά την κατηγορία αυτή υπάρχουν αυτές οι περιπτώσεις που μπερδεύουν .. εγώ θα έλεγα πως και περυσι στις εξετάσεις το λάθος με το mod που είχε στο β2 ως λογικό, πάλι λάθος χρόνου εκτέλεσης θα το έλεγα εγώ ... τώρα τι να πω :)
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 09:04:31 ΠΜ
Είναι ξεκάθαρα λογικό λάθος αφού παραβιάζεται το κριτήριο της καθοριστικότητας.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:17:23 ΠΜ
λογικο λαθος ειναι κατι που δεν εμποδιζει το προγραμμα να τρεξει αλλα δεν λυνει σωστα το προβλημα που εχεις.πχ αν μου ζηταει ενα ερωτημα να βρω το μεσο ορο των βαθμων σε 10 μαθηματα και εγω κανω μο<-αθροισμα*10 αντι για μο<-αθροισμα/10 τοτε αυτο ειναι λογικο λαθος.το προγραμμα θα τρεξει κανονικα αλλα δεν θα μου βγαλει τη λυση που θελω.οταν δεν αρχικοποιειται μια μεταβλητη ειναι σαν να ξεχασω να την δηλωσω η σαν να κανω διαιρεση με το 0.δεν δινω δηλαδη τα σωστα εργαλεια στο προγραμμα μου για να τρεξει .οποτε ειναι ξεκαθαρα συντακτικο λαθος
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:22:59 ΠΜ
Παράθεση από: pgrontas στις 23 Μαΐου 2018, 09:04:31 ΠΜ
Είναι ξεκάθαρα λογικό λάθος αφού παραβιάζεται το κριτήριο της καθοριστικότητας.
συντακτικο εννοεις
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 09:29:18 ΠΜ
Παράθεση από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:22:59 ΠΜ
συντακτικο εννοεις
Εννοώ λογικό.
Ποιος συντακτικός κανόνας παραβιάζεται;

Παράθεση από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:17:23 ΠΜ
λογικο λαθος ειναι κατι που δεν εμποδιζει το προγραμμα να τρεξει αλλα δεν λυνει σωστα το προβλημα που εχεις.πχ αν μου ζηταει ενα ερωτημα να βρω το μεσο ορο των βαθμων σε 10 μαθηματα και εγω κανω μο<-αθροισμα*10 αντι για μο<-αθροισμα/10 τοτε αυτο ειναι λογικο λαθος.το προγραμμα θα τρεξει κανονικα αλλα δεν θα μου βγαλει τη λυση που θελω.οταν δεν αρχικοποιειται μια μεταβλητη ειναι σαν να ξεχασω να την δηλωσω η σαν να κανω διαιρεση με το 0.δεν δινω δηλαδη τα σωστα εργαλεια στο προγραμμα μου για να τρεξει .οποτε ειναι ξεκαθαρα συντακτικο λαθος
Με βαση την σκέψη σου η διαιρεση με το μηδεν ειναι συνταντικό λάθος;;;
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:32:02 ΠΜ
αντιγραφω απο το βιβλιο
Λογικά λάθη

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

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

οταν δεν εχεις αρχικοποιησει μια μεταβλητη το προγραμμα διακοπτεται και επισημαινει το λαθος μπορεις να το δοκιμασεις ακομα και στη γλωσσομαθεια.η διαιρεση με το 0 φυσικα και ειναι συντακτικο λαθος
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 09:37:17 ΠΜ
Κατά την εκτέλεση δεν γίνεται η διακοπή και στις δύο περιπτώσεις;

Δηλαδή μου λες ότι ο μεταγλωττιστής μπορεί να εντοπίσει αν υπάρχει διαιρεση με το 0 ή μη αρχικοποίηση μεταβλητής πριν τρέξει το πρόγραμμα.
Συγχαρητήρια έλυσες το πρόβλημα του τερματισμού.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:41:23 ΠΜ
δεν νομιζω οτι ειρωνευτικα καποιον για να δεχομαι αυτη την ειρωνια αλλα το προσπερνω.δεν το αναγνωριζει απο πριν αλλα το αναγνωριζει κατα την εκτελεση.οταν υπαρχει λογικο λαθος δεν το αναγνωριζει ουτε κατα την εκτελεση ουτε ποτε.στελνω ολο το αποσπασμα
Σε ένα πρόγραμμα είναι δυνατό να παρουσιαστούν διαφορετικής μορφής λάθη, τα οποία μπορούν να χωριστούν σε τρεις βασικές κατηγορίες.

Λάθη κατά την υλοποίηση

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

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

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

Λάθη κατά την εκτέλεση

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

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

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

Λογικά λάθη

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

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

στα λογικα ξεκαθαρα λεει"δεν ανιχνευει κανενα συντακτικο λαθος ΚΑΙ κατα την εκτελεση του προγραμματος ΔΕΝ παρουσιαζονται ανεπιθυμητες καταστασεις σφαλματων".την ωρα που παει να διαιρεσει με το 0 η να προσθεσει κατι χωρις να εχει αρχικοποιηθει βαραει σφαλμα αρα ΔΕΝ ΕΙΝΑΙ ΛΟΓΙΚΟ ΛΑΘΟΣ.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:56:12 ΠΜ
Παράθεση από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:41:23 ΠΜ
δεν νομιζω οτι ειρωνευτικα καποιον για να δεχομαι αυτη την ειρωνια αλλα το προσπερνω.δεν το αναγνωριζει απο πριν αλλα το αναγνωριζει κατα την εκτελεση.οταν υπαρχει λογικο λαθος δεν το αναγνωριζει ουτε κατα την εκτελεση ουτε ποτε.στελνω ολο το αποσπασμα
Σε ένα πρόγραμμα είναι δυνατό να παρουσιαστούν διαφορετικής μορφής λάθη, τα οποία μπορούν να χωριστούν σε τρεις βασικές κατηγορίες.

Λάθη κατά την υλοποίηση

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

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

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

Λάθη κατά την εκτέλεση

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

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

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

Λογικά λάθη

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

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

στα λογικα ξεκαθαρα λεει"δεν ανιχνευει κανενα συντακτικο λαθος ΚΑΙ κατα την εκτελεση του προγραμματος ΔΕΝ παρουσιαζονται ανεπιθυμητες καταστασεις σφαλματων".την ωρα που παει να διαιρεσει με το 0 η να προσθεσει κατι χωρις να εχει αρχικοποιηθει βαραει σφαλμα αρα ΔΕΝ ΕΙΝΑΙ ΛΟΓΙΚΟ ΛΑΘΟΣ.οταν παραβιαζεται καποιο κριτηριο τοτε ειναι προφανες οτι ειναι συντακτικο λαθος γιατι κανουμε κατι που απαγορευεται!!!οταν ομως καποιος αντι για διαιρεση που πρεπει να κανει για να βρει το μεσο ορο  κανει πολλαπλασιασμο δεν απαγορευεται απλα ειναι λαθος
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 10:07:48 ΠΜ
Αν δεν κάνω λάθος το απόσπασμα είναι εκτός ύλης. Επίσης δεν βλέπω να ορίζει τα συντακτικά λάθη. Άρα σύμφωνα με αυτό δεν υπάρχουν ( ; )

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

Από τα λάθη λοιπόν που αναφέρονται στο Κεφ. 6 είναι ξεκάθαρα λογικό λάθος.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 10:19:18 ΠΜ
εγω θυμαμαι οταν τα εκανα αυτα που πανε χρονια αναφερομασταν μονο σε συντακτικα και λογικα λαθη βαζοντας της 2 πρωτες κατηγοριες στα συντακτικα.το κριτηριο που παραβιαζεται ειναι αυτο της καθοριστικοτητας μιας και το Σ δεν εχει οριστει.μαλιστα ο διερμηνευτης που εκτελει και ελεγχει σειρα σειρα μπορει να το βρει.απο τη στιγμη λοιπον που ο υπολογιστης μας μπορει να βρει καποιο λαθος αυτο δεν ειναι λογικο και μπαινει στην κατηγορια των συντακτικων λαθων.ο υπολογιστης το πρωτο πραγμα που εμαθα απο το σχολειο μεχρι το πανεπιστημιο που εβγαλα ειναι οτι ειναι"χαζος" και δεν μπορει να αναγνωρισει λογικα λαθη.μη αναμενομενα αποτελεσματα ειναι πχ αν ο μεσος ορος οταν το αριστα ειναι το 20 να βγει 80 πχ.με τη μεθοδο της ατοπου απαγωγης λοιπον και αν υποθεσουμε οτι εχουμε μονο τις κατηγοριες λογικο,συντακτικο συμπεραινουμε πανευκολα οτι οταν κατι παραβιαζεται,οταν για κατι μας ενημερωνει ο υπολογιστης μας το οποιο ειναι συγκεκριμενο τοτε αυτο δεν ειναι λογικο λαθος.διαιρεση με το 0 δεν οριζεται και ακομα δεν μπορεις να αυξησεις κατι που δεν εχει οριστει που δεν εχει καθοριστει δηλαδη.αρα το κριτηριο της καθοριστικοτητας παραβιαζεται.τα λογικα λαθη δεν παραβιαζουν κριτηρια παρα μονο την κοινη λογικη.η διαιρεση με το 0 θα ηταν λογικο λαθος ισως 50 χρονια πριν που οι υπολογιστες δεν μπορουσαν να μας προειδοποιησουν για αυτο και επρεπε να το βρουμε μονοι μας.οτι βρισκει ο υπολογιστης δεν ανηκει στην κατηγορια του λογικου λαθους γιατι τοτε δεν θα μπορουσε να το βρει.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 10:25:17 ΠΜ
Μα δεν το βρίσκει ούτε το αναγνωρίζει!!! Το λάθος προκύπτει από αδυναμία εκτέλεσης της εντολής.
Άλλωστε τα κριτήρια των αλγορίθμων προκύπτουν από την κοινη λογική...
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 10:37:14 ΠΜ
λοιπον ετρεξα αυτο το προγραμμα στη c
int main()
{
   float x;
   x = 5 / 0;
   printf("%f\n", x);
   

    return 0;
}

απο κατω στο error checking βγαζει αυτο

warning : division by zero και τη σειρα στην οποια υπαρχει το λαθος

ακομα ετρεξα αυτο

int main()
{
   float x;
   x = x + 5;
   printf("%f\n", x);
   

    return 0;
}


και μου εβγαλε το εξης:run-time check failure the variable x is being used without being initialized

συντακτικα λοιπον μιας και νομιζω οτι ειναι ξεκαθαρο και για τους 2 μας οτι ο υπολογιστης δεν μπορει να αναγνωρισει λογικα λαθη.χαιρομαι που βοηθησα
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 10:48:13 ΠΜ
Πάντως δεν εχεις απαντησει ποιος συντακτικός κανονας παραβιαζεται.

Επίσης δεν δοκιμαζεις να βαλεις διαιρεση με παρονομαστη μεταβλητη που εισαγει ο χρηστης να δούμε τι θα βγαλει;

Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Λαμπράκης Μανώλης στις 23 Μαΐου 2018, 11:00:05 ΠΜ
run-time check failure --> σφάλμα χρόνου εκτέλεσης .... επιμένω και εγώ ....χεχεχεχε
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 11:04:59 ΠΜ
Λοιπόν επειδή κούρασε το θέμα αν και δεν μου αρέσει να κάνω quote το βιβλίο στην ενότητα 6.7 λέει ότι

"Τα λογικά λάθη εμφανίζονται μόνο στην εκτέλεση, ενώ τα συντακτικά λάθη στο στάδιο της μεταγλώττισης."

Άρα μιλάμε για λογικό λάθος.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 11:09:03 ΠΜ
τι να πω νομιζω οτι η συζητηση ειναι ανουσια.το βιβλιο ειναι απλα οτι να ναι.αλλα οσοι ειστε καθηγητες λογικο ειναι να το ακολουθατε γιατι ποτε δεν ξερεις τι πεφτει στις πανελληνιες.το βιβλιο ομως αυτο που κανει ειναι να φασκει και να αντιφασκει.ξεκαθαριζει απολυτα ομως οτι τα λογικα λαθη δεν διακοπτουν την λειτουργια του προγραμματος.αυτο τερματιζεται κανονικα απλα με λαθος αποτελεσματα.οταν εσυ λες στο χρηστη να δωσει εναν αριθμο χ και εσυ πχ θα του βγαλεις το αποτελεσμα 5/χ  τοτε  εισαι εσυ υπευθυνος να προστατεψεις το χρηστη απο την επιλογη να πατησει 0.οταν αυτος το εκτελεσει το προγραμμα θα εχει φυγει απο τα χερια σου αρα επαφιεται στη δικη σου λογικη να παρεις τα καταλληλα μετρα μιας και η προταση γραψε 5/χ δεν ειναι λαθος για τον υπολογιστη  ο οποιος δεν εχει το μυαλο να διακρινει περιπτωσεις.στην περιπτωση αυτη λοιπον το λαθος ειναι λογικο.αυτα ειναι ομως ψιλλα γραμματα και δεν θελω να σε μπερδεψω περισσοτερο.εσυ ακολουθησε το βιβλιο και να ελπιζεις οτι δεν θα πεσει κατι διφορουμενο.αλλα εκτος μαθηματος στον προγραμματισμο με τον οποιο ασχολουμαι χρονια ισχυουν αυτα που σου ειπα.στα λογικα λαθη ο αλγοριθμος ξεκινα και τελειωνει κανονικοτατα.οταν κατι τον εμποδιζει να τελειωσει παραβιαζει καποιο κριτηριο οπως αυτο της καθοριστικοτητας που λες οτι δεν απαντησα για το ποιος κανονας παραβιαζεται αρα το λαθος ειναι οτιδηποτε αλλο εκτος απο λογικο.οποτε οταν εχεις 2 επιλογες και η μια ειναι λογικο διαλεγεις τη δευτερη οποτε τα λαθη χρονου εκτελεσης αναγκαστικα τα βαζουμε εκει εκτος αν εισαι τιποτα ταξιδιωτης του χρονου απο το 50000Μ.Χ και στην εποχη σου οι υπολογιστες αναγνωριζουν λογικα λαθη οποτε παω πασο :D
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 11:32:54 ΠΜ
τελος για να εξηγησω ακομα μια φορα τη λογικη μου να υπαρχει.εχουμε 3 ειδων λαθη.τα συντακτικα,τα λαθη χρονου εκτελεσης και τα λογικα.
τα πρωτα 2 ειδη λαθων εχουν το κοινο οτι μπορουν να ανιχνευτουν απο εναν υπολογιστη ειτε κατα τη μεταγλωτιση ειτε κατα τη διαρκεια εκτελεσης και ο αλγοριθμος διακοπτεται.τα λογικα λαθη ειναι τα μονα που δεν μπορουν να ανιχνευτουν απο τον υπολογιστη και δεν κανουν τον αλγοριθμο να διακοπει.βλεπουμε λοιπον οτι η βασικη διαφορα των λογικων με των αλλων 2 ειναι οτι ο υπολογιστης στην περιπτωση τους δεν μπορει να κανει απολυτως τιποτα για να μας προειδοποιησει.εγω λοιπον προσωπικα οταν μου βγαλουν τη δευτερη κατηγορια και μου πουν αναγκαστικα ταξινομησε το σε λογικο η συντακτικο θα κρινω με βαση αυτο το κριτηριο.με προειδοποιει καποια στιγμη ο υπολογιστης μου για το τι λαθος εχω κανει?συντακτικο.δεν μου λεει τιποτα αλλα τα αποτελεσματα ειναι ακυρα?λογικο.καπου θα θελα να προσθεσω και εκανα αφαιρεση πχ.τα λογικα λαθη λοιπον οντως γινονται κατα την εκτελεση του προγραμματος και ειναι αυτα που παραγουν λαθος αποτελεσματα χωρις εμενα να με προειδοποιησει καποιος παρα μονο η λογικη μου
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: petrosp13 στις 23 Μαΐου 2018, 12:18:45 ΜΜ
Η εντολή

χ <-- χ + 1

με το χ να μην έχει προηγούμενη τιμή, τι λάθος είναι;

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

Ας ορίσουμε πρώτα το εξής:
Ο μεταγλωττιστής μας θα ανιχνεύει πιθανές διαιρέσεις με το μηδέν ή μη αρχικοποιήσεις μεταβλητών;
Αν ναι, τότε θεωρείται συντακτικό
Αν όχι, μάλλον είναι ασαφές αν είναι λογικό ή runtime
Λογικό είναι σίγουρα γιατί είναι παράλειψη του προγραμματισή
Επειδή όμως κάνει το πρόγραμμα να crash, τότε δεν είναι ένα κοινό λογικό λάθος που απλά εμφανίζει λάθος αποτέλεσμα
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 12:39:52 ΜΜ
κανονικα η διαιρεση με το μηδεν οπως και η μη αρχικοποιηση μεταβλητης ανηκουν στην κατηγορια λαθη κατα την εκτελεση.το κοινο με τα συντακτικα και τα λαθη κατα την εκτελεση ειναι οτι ο υπολογιστης  θα σε προειδοποιησει ακριβως για το που υπαρχει το λαθος ειτε στην αρχη ειτε κατα την εκτελεση.το λογικο λαθος ειναι οταν ο προγραμματιστης εχει μονο τον εαυτο του να του πει οτι κατι παει στραβα.η διαφωνια δεν θα υπηρχε αν υπηρχε η κατηγορια λαθη κατα την εκτελεση απλα εμεις μιλουσαμε αν σου εδιναν αναγκαστικα συντακτικα η λογικα λαθη που θα τα τοποθετουσες.αν ξεπερασουμε το γεγονος οτι οι τυποι που εγραψαν το βιβλιο οταν θελουν να απενεργοποιησουν τον υπολογιστη τους τον τραβανε απο την πριζα,μπορουμε να πουμε οτι τα λαθη κατα την εκτελεση τα ταξινομει ο καθενας αυτοβουλως οπου θελει.προσοχη!!αυτο που λεει το βιβλιο οτι τα λογικα λαθη συμβαινουν κατα την εκτελεση σημαινει πχ οτι οταν μεσα σε μια for αντι για προσθεση κανω πολλαπλασιασμο τοτε το λαθος αυτο που γινεται κατα την εκτελεση θα επιδρασει στα τελικα αποτελεσματα.οι υπολογιστες σαν χαζοι που ειναι δεν εχουν λογικη και γνωριζουν μονο συγκεκριμενα πραγματα.οποτε αυτο τουλαχιστον θα επρεπε να εννοει το βιβλιο οταν λεει οτι τα λογικα γινονται κατα την εκτελεση.αλλα ειπαμε το τραβανε απο την πριζα οποτε ποτε δεν ξερεις.με την παροδο των χρονων φυσικα και την αναπτυξη της τεχνητης νοημοσυνης καποια λαθη που τωρα πρεπει να τα διορθωσουμε μονοι μας ,στο μελλον μπορει να μας βοηθαει ο υπολογιστης μας αλλα εκει παμε σε αλλα μονοπατια που ξεφευγουν απο τα πλαισια του μαθηματος.επαφιεται λοιπον στον καθε καθηγητη στο ποσο θελει να εμβαθυνει και να μαθει στους μαθητες του πραγματα η απλα θα παπαγαλισει το βιβλιο λεγοντας"το βιβλιο ετσι λεει αυτο γραψτε"και θα εχει το κεφαλι του ησυχο.εγω ειμαι της αποψης οτι οπου μονο το μυαλο σου μπορει να σε προειδοποιησει τοτε εχεις κανει λογικο λαθος.πριν καποια χρονια πχ στις περισσοτερες γλωσσες του προγραμματισμου μπορει να μην εβγαζε λαθος αν δεν ειχες αρχικοποιησει μια μεταβλητη και την χρησιμοποιουσες ετσι και απλα να κρασαρε αφηνοντας εσενα να βγαλεις το φιδι απο την τρυπα.τωρα πια ομως σε προειδοποιει αμεσως αρα για μενα δεν ειναι λογικο λαθος αφου αν ηταν ο υπολογιστης απλα θα το αγνοουσε και μπορει απλα να κρασαρε χωρις να σου πει το λογο.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: pgrontas στις 23 Μαΐου 2018, 01:26:31 ΜΜ
Τελευταίο μήνυμα από μένα.

Ας μην μείνουμε μόνο στην περίπτωση όπου το x<-x+1 είναι σε μια δομή ακολουθίας όπου ξεκάθαρα δεν υπάρχει νωρίτερα αρχικοποίηση. Μπορεί το x να παίρνει αρχική τιμή μέσα σε πολύπλοκες δομές επιλογής που το αν θα εκτελεστούν εξαρτάται ίσως και από τον χρήστη. Το ίδιο ισχύει και στην περίπτωση της διαίρεσης με το 0.

Ο 'μεταγλωττιστής' εδώ μπορεί απλά (στην καλύτερη περίπτωση) να σε προειδοποιήσει και όχι να είναι σίγουρος. Αυτή η επισήμανση έχει τεράστια διαφορά από τα τυπικά λάθη κατά την μεταγλώττιση. Κανένας μεταγλωττιστής δεν μπορεί να ξέρει σίγουρα αν θα  εμφανιστεί τέτοιο λάθος ώστε να το πιάσει και αυτό δεν θα γίνει ούτε το 50000 μΧ γιατί αντιτίθεται στο θεώρημα του Rice και αν κάτι τέτοιο συμβεί θα σημαίνει ότι το πρόβλημα τερματισμού είναι επιλύσιμο.

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

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

Επειδή λοιπόν οφείλεται σε παράλειψη του προγραμματιστή και όχι σε παραβίαση κάποιου συντακτικού κανόνας μιας γλώσσας προγραμματισμού είναι λογικά λάθη.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: P.Tsiotakis στις 23 Μαΐου 2018, 02:28:59 ΜΜ
κατα τη γνώμη μου είναι λάθος χρόνου εκτέλεσης
άλλωστε δεν είναι απαραίτητο να είναι συντακτικό ή λογικό.
αν μια μεταβλητή δηλωθεί αλλα δεν αρχικοποιηθεί ουτε χρησιμοποιηθεί υπάρχει λάθος;

δεν είναι ποτέ εύκολο να οριζεις κατι. αν δεν το κάνεις σωστα ή δεν υποστηριχθεί σωστά μπορεί να διαλυθεί, ακόμη κι αν είναι ένα ολόκληρο μάθημα. Έτσι πιστεύω εγώ, αλλά είμαι απλά εγώ
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: angrits στις 23 Μαΐου 2018, 05:05:24 ΜΜ
Καλησπέρα.
Να δούμε λίγο το θέμα Β2 που μπήκε πέρσυ (2017) και έχει να κάνει με την συζήτηση:

1.Πρόγραμμα Αριθμοί
2.Μεταβλητές
3.Πραγματικές: Χ
4. Ακέραιες: Ρ, i
5. Αρχή
6. Ρ<--0
7. Για i από 1 μέχρι 10
8.Διάβασε Χ
9.Αν Χ MOD 3 = 0  Ή MOD 5 = 0 τότε
10.Ρ<--Ρ*Χ
11.Τέλος_επανάληψης
12.Τέλος_επανάληψης
13.Γράψε Ρ
14.Τέλος_προγράμματος 

Έπρεπε να βρούμε τα συντακτικά και τα λογικά λάθοι. Η λύση που υπάρχουν στο διαδίκτυο είναι είναι η ακόλουθη:
Γραμμή 3: Συντακτικό
Γραμμή 6: Λογικό
Γραμμή 8: Λογικό
Γραμμή 9: Συντακτικό
Γραμμή 9: Λογικό
Γραμμή 11: Συντακτικό
Στην 3 γραμμή σίγουρα δεν παραβιάζεται κάτι. Με το σκεπτικό όμως ότι στην γραμμή 9 δεν μπορεί να γίνει <πραγρατικος>  MOD <ακέραιος> το βγάζει συντακτικό. Αντίθετα στην 8 γραμμή βγάζει λάθος λογικό και δεν έχω καταλάβει ακόμα για ποιο λόγο είναι λάθος. Μήπως γιατί το έχουμε δηλώσει πραγματικό; Είναι γενικά θέμα που έκαψε πέρσυ και θέλει συζήτηση.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: GB στις 23 Μαΐου 2018, 07:11:02 ΜΜ
Παράθεση από: angrits στις 23 Μαΐου 2018, 05:05:24 ΜΜ
Στην 3 γραμμή σίγουρα δεν παραβιάζεται κάτι. Με το σκεπτικό όμως ότι στην γραμμή 9 δεν μπορεί να γίνει <πραγρατικος>  MOD <ακέραιος> το βγάζει συντακτικό. Αντίθετα στην 8 γραμμή βγάζει λάθος λογικό και δεν έχω καταλάβει ακόμα για ποιο λόγο είναι λάθος. Μήπως γιατί το έχουμε δηλώσει πραγματικό; Είναι γενικά θέμα που έκαψε πέρσυ και θέλει συζήτηση.

Στην εκφώνηση της άσκησης λέει ότι το πρόγραμμα διαβάζει θετικούς αριθμούς. Στην γραμμή 8 δεν εξασφαλίζεται ότι θα πληκτρολογηθούν από τον χρήστη μόνο θετικοί.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 07:30:18 ΜΜ
εγω μια τελευταια ερωτηση εχω να κανω.υπαρχει καποιος εδω περα που να πιστευει οτι ο υπολογιστης μπορει να σε προειδοποιησει συγκεκριμενα και να διακοπει η εκτελεση του προγραμματος για καποιο λογικο λαθος?ειλικρινα ρωταω και ας μου δωσει καποιος ενα παραδειγμα.τα λαθη που συζηταμε ειναι λαθη χρονου εκτελεσης.τα λαθη χρονου εκτελεσης εχουν κοινο με τα λογικα λαθη οτι συμβαινουν κατα την εκτελεση του προγραμματος ενω τα συντακτικα λαθη πριν αυτο εκτελεστει. τα λαθη χρονου εκτελεσης με τα συντακτικα λαθη εχουν το κοινο οτι ο υπολογιστης σε προειδοποιει για το που ειναι το λαθος ενω στα λογικα οχι.αν λοιπον εχουμε 2 κατηγοριες μονο συντακτικα και λογικα επαφιεται στον προγραμματιστη για το που θα καταταξει ενα λαθος κατα την εκτελεση και συνηθως παιζει ρολο η εμπειρια του.τα λογικα λαθη ειναι τα πιο δυσκολα να διορθωθουν οποτε αν εμενα ο υπολογιστης μου μου πει που εχω κανει λαθος δεν το θεωρω δυσκολο να το διορθωσω.στα λαθη κατα την εκτελεση παραβιαζεται καποιο κριτηριο,στα συντακτικα καποιος συντακτικος κανονας ενω στα λογικα οχι.οταν παραβιαζεται κατι ο υπολογιστης εχει τη δυνατοτητα να σου πει τι ειναι αυτο που φταιει οποτε δεν ειναι καθολου δυσκολο να το διορθωσεις.σε καποιες περιεργες καταστασεις που ο υπολογιστης δεν μπορει να σε προειδοποιησει τι παει στραβα εγω το θεωρω λογικο λαθος γιατι ειναι πιο δυσκολο να το διορθωσει καποιος.οποτε για να καταληξουμε.αν καποιος κρινει με βαση το κριτηριο που συμβαινουν τα λαθη στην αρχη η κατα την εκτελεση τοτε τα λαθη κατα την εκτελεση μπορουν να θεωρηθουν λογικα.αν καποιος κρινει με βαση το κριτηριο αν παραβιαζεται κατι (συντακτικος κανονας η κριτηριο) η οχι τοτε τα λαθη κατα την εκτελεση τις περισσοτερες φορες που σε προειδοποιει ο υπολογιστης μπορεις να τα πεις συντακτικα αν δεν σου δινει την αλλη επιλογη.δεν νομιζω οτι θα πεσει κατι που θα μπερδεψει τοσο τους μαθητες και αν πεσει λογικα θα τους δινει την επιλογη "λαθη κατα την εκτελεση"και οχι τις αλλες 2 μονο γιατι παιζει ρολο και η εμπειρια.
πχ χ<-5/0 ο υπολογιστης θα σε προειδοποιησει ομως χ<-5/υ και περιμενεις απο καποιο χρηστη τον υ ο υπολογιστης δεν θα σε προειδοποιησει γιατι θεωρειται σχεδιαστικο λαθος αρα λογικο λαθος.
ενα τελευταιο παραδειγμα

προγραμμα ασκηση
μεταβλητες
ακεραιες: pinak[3],ι
αρχη
γραψε "γεια"
για ι απο 1  μεχρι 4
pinak[ι]<-ι
τελος_επαναληψης
τελος_προγραμματος

λαθος που συμβαινει κατα το χρονο εκτελεσης και ο υπολογιστης σε προειδοποιει.αν σας εδινα επιλογη λογικο και συντακτικο μονο που θα το κατατασατε?η c θα εκτυπωσει το "γεια" και οταν παει στη για θα διακοπει ο αλγοριθμος εμφανιζοντας το μυνημα"run time check failure:stack around x was corrupted"
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: angrits στις 23 Μαΐου 2018, 07:31:03 ΜΜ
Παράθεση από: GB στις 23 Μαΐου 2018, 07:11:02 ΜΜ
Στην εκφώνηση της άσκησης λέει ότι το πρόγραμμα διαβάζει θετικούς αριθμούς. Στην γραμμή 8 δεν εξασφαλίζεται ότι θα πληκτρολογηθούν από τον χρήστη μόνο θετικοί.

Συμφωνώ αν και ο έλεγχος τιμής δεν είναι απαραίτητα "Λάθος" καθώς πολλές ασκήσεις δεν το ζητούν. Βέβαια μας λέει στην εκφώνηση ότι διαβάζει θετικές τιμές και σίγουρα γι'αυτό το έλαβε ως λογικό λάθος. Οι ασάφιες πάντως στο θέμα τον λαθών είναι από τα κακά του μαθήματος που δυστυχώς δεν έχουμε πάρει διευκρινίσεις. Το καλύτερο πιστεύω που έχουν να κάνουν οι μαθητές είναι να βρίσκουν το σωστό και αναλόγος τι αλλάζουν να κατηγοριοποιούν τα λάθη σε λογικά και συντακτικά. Πχ στην γραμμή 3 έπρεπε να είναι ΑΚΕΡΑΙΟΣ γι'αυτό το έβγαλε συντακτικό λάθος.
Άρα πιστεύω ότι η μή αρχικοποίηση τιμής (για το Σ<-Σ+Χ) θεωρείτε συντακτικό λάθος καθώς ο μεταγλωτιστής καταλαβαίνει μία τιμη "κενη" που αυτό απαγορεύετε.
Ερώτηση: Στο γέμισμα ενός πίνακα, αν η Για ή οποιαδήποτε άλλη επανάληψη βγει εκτός των ορίων του πίνακα τι λάθος θεωρείτε;
Συντακτικό  λάθος στην δήλωση του πίνακα στο τμήμα δηλώσεων ή μήπως συντακτικο-λογικό λάθος στις επαναλήψεις; Ή και τα δύο;
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: angrits στις 23 Μαΐου 2018, 07:45:28 ΜΜ
Παράθεση από: Κωστας τζιαννης στις 23 Μαΐου 2018, 07:30:18 ΜΜ
εγω μια τελευταια ερωτηση εχω να κανω.υπαρχει καποιος εδω περα που να πιστευει οτι ο υπολογιστης μπορει να σε προειδοποιησει συγκεκριμενα και να διακοπει η εκτελεση του προγραμματος για καποιο λογικο λαθος?ειλικρινα ρωταω και ας μου δωσει καποιος ενα παραδειγμα.
Ανάλογα τον μεταγλωτιστή  :D Αν εννοείς ότι τα λογικά λάθοι εξαρτώνται από εμάς συφωνώ μαζί σου. Αν όμως θεωρήσουμε ότι ένας ατέρμονας βρόγχος  είναι λογικό λάθος, πολύ μεταγλωτιστές αν καταλάβουν overflow θα σταματήσουν. Άρα να το παρουμε σαν συντακτικό λάθος;
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 07:53:58 ΜΜ
Παράθεση από: angrits στις 23 Μαΐου 2018, 07:45:28 ΜΜ
Ανάλογα τον μεταγλωτιστή  :D Αν εννοείς ότι τα λογικά λάθοι εξαρτώνται από εμάς συφωνώ μαζί σου. Αν όμως θεωρήσουμε ότι ένας ατέρμονας βρόγχος  είναι λογικό λάθος, πολύ μεταγλωτιστές αν καταλάβουν overflow θα σταματήσουν. Άρα να το παρουμε σαν συντακτικό λάθος;

για μενα παιζει ρολο η εμπειρια και η εξελιξη της τεχνολογιας.κανονικα ειναι λαθος χρονου εκτελεσης και αν πεσει πανελληνιες ειναι λαθος να δωσουν μονο συντακτικο και λογικο λαθος σαν επιλογη.απλα εδω κανουμε μια περισσοτερο φιλοσοφικη συζητηση θα μπορουσαμε να πουμε χαχ.εγω οτι μπορει να βρει ο υπολογιστης μου δεν το θεωρω λογικο λαθος γιατι λογικα λαθη μπορουν να επιλυουν μονο οι ανθρωποι.για  να ειμαι τυπικος λοιπον και να καταληξω θεωρω οτι με την εξελιξη της τεχνολογιας καποια λαθη που παλιοτερα θεωρουνταν λογικα τωρα πια θεωρουνται λαθη κατα το χρονο εκτελεσης αφου οσο προχωραει η τεχνολογια οι υπολογιστες 'καταλαβαινουν' ολοενα και περισσοτερα
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: angrits στις 23 Μαΐου 2018, 08:07:52 ΜΜ
Παράθεση από: Κωστας τζιαννης στις 23 Μαΐου 2018, 07:53:58 ΜΜ
για μενα παιζει ρολο η εμπειρια και η εξελιξη της τεχνολογιας.κανονικα ειναι λαθος χρονου εκτελεσης και αν πεσει πανελληνιες ειναι λαθος να δωσουν μονο συντακτικο και λογικο λαθος σαν επιλογη.απλα εδω κανουμε μια περισσοτερο φιλοσοφικη συζητηση θα μπορουσαμε να πουμε χαχ.εγω οτι μπορει να βρει ο υπολογιστης μου δεν το θεωρω λογικο λαθος γιατι λογικα λαθη μπορουν να επιλυουν μονο οι ανθρωποι.

Σίγουρα υπάρχουν πολλών ειδών λάθοι όπως και σφάλματα στον προγραμματισμό. Αλλά δυστυχώς έχουμε να επιλέξουμε ανάμεσα στα Συντακτικά και στα Λογικά στο συγκεκριμένο μάθημα. Όσα βλέπω και από το περσυνό θέμα Β2 (στην αρχή το είχα βγάλει όλο συντακτικό γιατι οι χαρακτήρες ήταν πεζοί), όσα έχω συζητήσει με συναδέλφουν το μόνο που μπορώ να συμβουλεύσω έναν μαθητή είναι ότι δεν βγάζει νόημα για τον ίδιο είναι λογικό λάθος (διαίρεση με μηδέν), ότι δεν βγάζει νόημα για τον μεταγλωτιστή είναι συντακτικό. Και πάλι αν μπεί παρόμοιο θέμα πάλι λάθος θα το λύσω.
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 08:14:51 ΜΜ
Παράθεση από: angrits στις 23 Μαΐου 2018, 08:07:52 ΜΜ
Σίγουρα υπάρχουν πολλών ειδών λάθοι όπως και σφάλματα στον προγραμματισμό. Αλλά δυστυχώς έχουμε να επιλέξουμε ανάμεσα στα Συντακτικά και στα Λογικά στο συγκεκριμένο μάθημα. Όσα βλέπω και από το περσυνό θέμα Β2 (στην αρχή το είχα βγάλει όλο συντακτικό γιατι οι χαρακτήρες ήταν πεζοί), όσα έχω συζητήσει με συναδέλφουν το μόνο που μπορώ να συμβουλεύσω έναν μαθητή είναι ότι δεν βγάζει νόημα για τον ίδιο είναι λογικό λάθος (διαίρεση με μηδέν), ότι δεν βγάζει νόημα για τον μεταγλωτηστή είναι συντακτικό. Και πάλι αν μπεί παρόμοιο θέμα πάλι λάθος θα το λύσω.

για μενα το μεγιστο κριτηριο οπως ειπα ειναι αν για κατι σε βοηθαει ο υπολογιστης η οχι.επειδη ομως παιζει ρολο η εμπειρια οταν πας με αυτο το κριτηριο και οι μαθητες δεν εχουν καθολου εμπειρια οι περισσοτεροι ισως το βιβλιο για να μην τους ταλαιπωρησει τους λεει απλα οτι αν υπαρχει καθαρα συντακτικο λαθος ειναι συντακτικο και οποιαδηποτε αλλη περιπτωση(παραβιαση κριτηριου,παραξενα αποτελεσματα η διακοπη αλγοριθμου) θεωρειται λογικο λαθος.ειναι ενας απλοικος ορισμος που ειναι για μενα λαθος στην ουσια του αλλα εχει φτιαχτει ακριβως εξαιτιας της απειριας των μαθητων.οποτε συμφωνα με το βιβλιο λαθη οπως διαιρεση με το μηδεν ατερμονες βροχοι κτλ κτλ θεωρουνται λογικα λαθη
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: angrits στις 23 Μαΐου 2018, 08:35:49 ΜΜ
Παράθεση από: Κωστας τζιαννης στις 23 Μαΐου 2018, 08:14:51 ΜΜ
για μενα το μεγιστο κριτηριο οπως ειπα ειναι αν για κατι σε βοηθαει ο υπολογιστης η οχι.επειδη ομως παιζει ρολο η εμπειρια οταν πας με αυτο το κριτηριο και οι μαθητες δεν εχουν καθολου εμπειρια οι περισσοτεροι ισως το βιβλιο για να μην τους ταλαιπωρησει τους λεει απλα οτι αν υπαρχει καθαρα συντακτικο λαθος ειναι συντακτικο και οποιαδηποτε αλλη περιπτωση(παραβιαση κριτηριου,παραξενα αποτελεσματα η διακοπη αλγοριθμου) θεωρειται λογικο λαθος.ειναι ενας απλοικος ορισμος που ειναι για μενα λαθος στην ουσια του αλλα εχει φτιαχτει ακριβως εξαιτιας της απειριας των μαθητων.οποτε συμφωνα με το βιβλιο λαθη οπως διαιρεση με το μηδεν ατερμονες βροχοι κτλ κτλ θεωρουνται λογικα λαθη
Θα συμφωνήσω. Πολλές φορές είναι και πως δωθεί η άσκηση. Πολλοί μαθητές καταλαβαίνουν τα συντακτικά λάθοι ότι είναι λάθοι που γράφουμε πχ : ΠΡΟΓΡΑΜΜΑ 1ΑΣΚ--> Συντακτικό λάθος.
Συντακτικό λάθος όμως μπορεί να θεωρηθεί και η λάθος σειρά που βάζουμε εντολές.
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10
   ΑΝ <> ΤΟΤΕ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ

Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: Κωστας τζιαννης στις 23 Μαΐου 2018, 09:15:48 ΜΜ
αν θες να εξηγησεις στους μαθητες σου γιατι το παραδειγμα αυτο ειναι συντακτικο λαθος απλα θα τους πεις οτι η αν δεν συντασεται ετσι καθως απαιτει συνθηκη(εκτος αν με το <> εννοεις συνθηκη και οχι διαφορο οποτε δεν υπαρχει λαθος) και οτι η εσωτερικη δομη κλεινει παντα πριν την εξωτερικη  γιατι ετσι εχει οριστει στο συντακτικο των προγραμματιστικων γλωσσων
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: petrosp13 στις 23 Μαΐου 2018, 10:17:59 ΜΜ
Παράθεση από: GB στις 23 Μαΐου 2018, 07:11:02 ΜΜ
Στην εκφώνηση της άσκησης λέει ότι το πρόγραμμα διαβάζει θετικούς αριθμούς. Στην γραμμή 8 δεν εξασφαλίζεται ότι θα πληκτρολογηθούν από τον χρήστη μόνο θετικοί.

Το ότι θα διαβάζει μόνο θετικούς είναι για να μπορεί να οριστεί πράξη mod και όχι για να κάνουμε έλεγχο
Εδώ δεν υπάρχει λογικό λάθος για μένα
Δεν ζητάει να προσθέσουμε γραμμές, ζητάει να διορθώσουμε τις υπάρχουσες γραμμές
Και ένα ακόμα στοιχείο είναι ότι οι μονάδες είναι 10 και υπάρχουν ήδη 5 προφανή λάθη..
Τίτλος: Απ: Απορια συντακτικου-λογικου λαθους
Αποστολή από: angrits στις 24 Μαΐου 2018, 04:29:40 ΜΜ
Παράθεση από: petrosp13 στις 23 Μαΐου 2018, 10:17:59 ΜΜ
Το ότι θα διαβάζει μόνο θετικούς είναι για να μπορεί να οριστεί πράξη mod και όχι για να κάνουμε έλεγχο
Εδώ δεν υπάρχει λογικό λάθος για μένα
Δεν ζητάει να προσθέσουμε γραμμές, ζητάει να διορθώσουμε τις υπάρχουσες γραμμές
Και ένα ακόμα στοιχείο είναι ότι οι μονάδες είναι 10 και υπάρχουν ήδη 5 προφανή λάθη..

Σε αυτό μπερδεύτηκα και εγώ. Μπορούμε να προσθέσουμε και γραμμές;