Γενικό Λύκειο > Εισαγωγή στοιχείων, εμφάνιση και υπολογισμοί

Συντακτικό ή Λογικό Λάθος

(1/2) > >>

nikolasmer:
Το να κάνεις πράξεις σε στοιχεία ενός πίνακα που δεν υπάρχουν, δεν έχουν διαβαστεί είναι Λογικό λάθος ενώ το να ξεφύγεις από τα όρια ενός πίνακα κλπ είναι Συντακτικό λάθος;

Γενικότερα να οριοθετήσουμε λίγο το τι μπορεί να ζητηθεί σε θέμα "Βρείτε τα λογικά και συντακτικά λάθη του παρακάτω κώδικα..." γιατί το τοπίο είναι λίγο αχανές. Και φοβάμαι μήπως πέσουμε σε περίπτωση όπως του 2017 και ψάχνουμε για το αν θα έπρεπε να διαβάσουμε με αμυντικό προγραμματισμό τη τάδε μεταβλητή ή την δείνα και το αν αυτό είναι λογικό λάθος ή όχι. 
Ίσως "Βρείτε τα 5 λογικά και 5 συντακτικά λάθη στον παρακάτω κώδικα....." (Μονάδες 10) ίσως να είναι καλύτερη διατύπωση.

Από τη άλλη ....γιατί να μπει τέτοιο θέμα. Συντακτικά και λογικά και κολοκύθια με τη ρίγανη.

 

Λαμπράκης Μανώλης:
Καλησπέρα

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

nikolasmer:

--- Παράθεση από: Λαμπράκης Μανώλης στις 15 Απρ 2018, 10:11:43 μμ ---Καλησπέρα

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

--- Τέλος παράθεσης ---
Ευχαριστώ πάρα πολύ συνάδελφε για την απάντηση .

alkisg:

--- Κώδικας: ΓΛΩΣΣΑ ---ΠΡΟΓΡΑΜΜΑ ΌριαΜΕΤΑΒΛΗΤΕΣ  ΑΚΕΡΑΙΕΣ: α[10] ΑΡΧΗ  ΔΙΑΒΑΣΕ α[11]   ΓΡΑΨΕ α[1] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Γράφω το παραπάνω στο Διερμηνευτή. Πατάω Εκτέλεση και το πρόγραμμα εκτελείται, άρα δεν έχει συντακτικά λάθη. Συντακτικά λάθη λοιπόν είναι αυτά που εμποδίζουν εντελώς την μεταγλώττιση/εκτέλεση.
Στη συνέχεια η εκτέλεση σταματάει, αφού η γραμμή 5 εμφανίζει το παρακάτω λάθος χρόνου εκτέλεσης:
Ο 1ος δείκτης του πίνακα «α» έχει τιμή «11», δηλαδή είναι εκτός ορίων.
Ενώ η γραμμή 6 θα εμφάνιζε το παρακάτω λάθος χρόνου εκτέλεσης:
Έγινε προσπάθεια να διαβαστεί στοιχείο του πίνακα «α» χωρίς πρώτα να αρχικοποιηθεί.

Και τα δύο είναι ταυτόχρονα και λογικά λάθη.

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

bugman:
Θα πρόσθετα στα λογικά λάθη και αυτά που δεν βγάζουν λάθος στην εκτέλεση, αλλά η εκτέλεση  δεν δίνει το επιθυμητό αποτέλεσμα, δηλαδή κάνει κάτι άλλο. Ενδεχομένως για ένα σύνολο δεδομένων να μην υπάρχει λάθος,  ενώ για άλλο να υπάρχει.
Μέθοδοι για τον έλεγχο αναφέρονται ως Black Box Testing, Gray Box Testing και  White Box Testing. Το τελευταίο προϋποθέτει γνώση του κώδικα, και κάνει για αλγόριθμους, απαιτεί όμως ικανό δοκιμαστή,

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση