Τι είδους λάθος είναι;

Ξεκίνησε από Περγαντής Νικόλαος, 18 Δεκ 2019, 12:04:48 ΜΜ

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

Περγαντής Νικόλαος

Καλημέρα σας
Σε περίπτωση που σε κώδικα υπάρχει λάθος που παραβιάζει την περατότητα
π.χ. ΔΙΑΒΑΣΕ χ
  ΟΣΟ χ <> 0 ΕΠΑΝΑΛΑΒΕ
    ΓΡΑΨΕ χ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Τι είδους λάθος είναι;
α. Λάθος κατά την υλοποίηση
β. Λάθος κατά την εκτέλεση
γ. Λογικό λάθος

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

alkisg

Λάθος κατά την εκτέλεση όπως είπες θα συνέβαινε μόνο αν το πρόγραμμα τερματιζόταν αντικανονικά. Άρα είναι "γ" χωρίς να είναι "β".
Το "α" τι διαφορά έχει από το "γ";

Δες λίγο και την εικόνα σε αυτό το μήνυμα: https://alkisg.mysch.gr/steki/index.php?topic=7966.msg87761#msg87761
Το λάθος που περιγράφεις ανήκει στην κίτρινη περιοχή. Είναι λογικό λάθος που δεν προκαλεί λάθος χρόνου εκτέλεσης.

Αν ήταν λογικό λάθος που να προκαλούσε ταυτόχρονα και λάθος εκτέλεσης (και "β" και "γ"), τότε θα άνηκε στην πράσινη περιοχή.

Περγαντής Νικόλαος

Ευχαριστώ και καλή σου μέρα

P.Tsiotakis

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

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

Στην περίπτωση της ΑΕΠΠ, ο ατέρμων βρόχος είναι λάθος και δεν οδηγεί σε κώδικα που εκτελείται, ούτε παράγει έξοδο. Προσωπικά δεν θεωρώ συνεπές να διακριθεί  η κατηγοριοποίηση με βάση τις συνέπειες στον εκτελούμενο κώδικα (αν είναι logical error ή run time error). Γι αυτό κατά τη γνώμη μου, αποτελεί λάθος κατά την εκτέλεση, όπως και η καθοριστικότητα.

Οι αναφορές στο Διαδίκτυο για debugging δεν αναφέρονται καθαρά σε λογικά λάθη ή semantic errors (άλλωστε δεν είναι πάντοτε ίδιο context με αυτό της ΑΕΠΠ), ούτε και στο νέο σχολικό βιβλίο οι συγγραφείς πήραν θέση.

akalest0s

Παράθεση από: Παναγιώτης Τσιωτάκης στις 18 Δεκ 2019, 08:21:08 ΜΜ
το θεμα συζητήθηκε και το καλοκαίρι
Συζητήθηκε, αλλά αν καταλαβαίνω σωστά, πλήρης συμφωνία δεν υπήρξε...
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

tanius76

Τι λάθος πιστεύετε ότι είναι το παρακάτω:
Εισαγωγή ενός γράμματος κατά την ανάγνωση ενός ακεραίου αριθμού;

petrosp13

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

fan

Καλησπέρα λαθος κατά το πέρασμα παραμέτρων σε υποπρόγραμμα πχ άλλοι τυποι πραγματικών και τυπικών παραμέτρων είναι και αυτό λάθος κατά την εκτέλεση;

petrosp13

Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής