Αποστολέας Θέμα: Συντακτικό ή Λογικό Λάθος  (Αναγνώστηκε 2311 φορές)

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 571
  • There can be only one...may it be AEPP.
Συντακτικό ή Λογικό Λάθος
« στις: 15 Απρ 2018, 08:06:48 μμ »
Το να κάνεις πράξεις σε στοιχεία ενός πίνακα που δεν υπάρχουν, δεν έχουν διαβαστεί είναι Λογικό λάθος ενώ το να ξεφύγεις από τα όρια ενός πίνακα κλπ είναι Συντακτικό λάθος;

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

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

 
« Τελευταία τροποποίηση: 15 Απρ 2018, 10:46:38 μμ από nikolasmer »
Μερεντίτης Νικόλαος
Πληροφορικός

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

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 883
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #1 στις: 15 Απρ 2018, 10:11:43 μμ »
Καλησπέρα

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

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 571
  • There can be only one...may it be AEPP.
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #2 στις: 15 Απρ 2018, 10:44:49 μμ »
Καλησπέρα

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

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6106
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #3 στις: 16 Απρ 2018, 09:51:27 πμ »
Κώδικας: ΓΛΩΣΣΑ
  1. ΠΡΟΓΡΑΜΜΑ Όρια
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ: α[10]
  4. ΑΡΧΗ
  5.   ΔΙΑΒΑΣΕ α[11]
  6.   ΓΡΑΨΕ α[1]
  7. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Γράφω το παραπάνω στο Διερμηνευτή. Πατάω Εκτέλεση και το πρόγραμμα εκτελείται, άρα δεν έχει συντακτικά λάθη. Συντακτικά λάθη λοιπόν είναι αυτά που εμποδίζουν εντελώς την μεταγλώττιση/εκτέλεση.
Στη συνέχεια η εκτέλεση σταματάει, αφού η γραμμή 5 εμφανίζει το παρακάτω λάθος χρόνου εκτέλεσης:
Ο 1ος δείκτης του πίνακα «α» έχει τιμή «11», δηλαδή είναι εκτός ορίων.
Ενώ η γραμμή 6 θα εμφάνιζε το παρακάτω λάθος χρόνου εκτέλεσης:
Έγινε προσπάθεια να διαβαστεί στοιχείο του πίνακα «α» χωρίς πρώτα να αρχικοποιηθεί.

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

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

bugman

  • Επισκέπτης
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #4 στις: 16 Απρ 2018, 11:26:44 πμ »
Θα πρόσθετα στα λογικά λάθη και αυτά που δεν βγάζουν λάθος στην εκτέλεση, αλλά η εκτέλεση  δεν δίνει το επιθυμητό αποτέλεσμα, δηλαδή κάνει κάτι άλλο. Ενδεχομένως για ένα σύνολο δεδομένων να μην υπάρχει λάθος,  ενώ για άλλο να υπάρχει.
Μέθοδοι για τον έλεγχο αναφέρονται ως Black Box Testing, Gray Box Testing και  White Box Testing. Το τελευταίο προϋποθέτει γνώση του κώδικα, και κάνει για αλγόριθμους, απαιτεί όμως ικανό δοκιμαστή,

Λάμπρος Παπαδόπουλος

  • Βετεράνος
  • ****
  • Μηνύματα: 63
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #5 στις: 16 Απρ 2018, 02:49:54 μμ »
Η διάκριση που έχω στο μυαλό μου είναι η εξής:

Συντακτικά λάθη : Λάθη "ορθογραφίας"...τα βρίσκει ο μεταγλωττιστής π.χ.: Μέχρι_όταν
Λάθη χρόνου εκτέλεσης ή σημασιολογίας : Σταματούν τη εκτέλεση του προγράμματος π.χ.: λάθος τύπος μεταβλητής
Λογικά λάθη : Δεν σταματούν την εκτέλεση του προγράμματος αλλά δίνουν λάθος αποτελέσματα π.χ.: θέλω να βρω
                    τον μέσο όρο δυο αριθμών και γράφω ΜΟ<-(α+β)/3

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 571
  • There can be only one...may it be AEPP.
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #6 στις: 17 Απρ 2018, 01:33:00 πμ »
Δεν οριοθετούμε και πάλι το συγκεκριμένο θέμα. Ευχαριστώ τους συναδέλφους για τις απαντήσεις αλλά συνεχίζω να μη θέλω να ξανά δω σε εξετάσεις το συγκεκριμένο θέμα. Απαίσιο ζήτημα ανούσιο για γ λυκείου όπως το θέμα με την τράπεζα προπερσυ και το θέμα με την goto προ δεκαετίας. Γιατί φοβάμαι ότι θα δούμε πάλι τέτοια...;
Μερεντίτης Νικόλαος
Πληροφορικός

Λάμπρος Παπαδόπουλος

  • Βετεράνος
  • ****
  • Μηνύματα: 63
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #7 στις: 18 Απρ 2018, 10:55:30 πμ »
Το να οριοθετήσουμε εμείς κάποιο θέμα δεν έχει πολύ μεγάλη αξία. Πάντα στην προσπάθεια να βρεθεί κάποιο πρωτότυπο θέμα θα υπάρχει η πιθανότητα ατυχήματος. Το μόνο ουσιαστικό που μπορεί να γίνει είναι να αλλάξει το μάθημα. Πιστεύω ότι για την ΑΕΠΠ έχει έλθει το τέλος εποχής.

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 571
  • There can be only one...may it be AEPP.
Απ: Συντακτικό ή Λογικό Λάθος
« Απάντηση #8 στις: 18 Απρ 2018, 11:06:19 πμ »
Το να οριοθετήσουμε εμείς κάποιο θέμα δεν έχει πολύ μεγάλη αξία. Πάντα στην προσπάθεια να βρεθεί κάποιο πρωτότυπο θέμα θα υπάρχει η πιθανότητα ατυχήματος. Το μόνο ουσιαστικό που μπορεί να γίνει είναι να αλλάξει το μάθημα. Πιστεύω ότι για την ΑΕΠΠ έχει έλθει το τέλος εποχής.
+1
Μερεντίτης Νικόλαος
Πληροφορικός