Εκσφαλμάτωση
Συντακτικά και λογικά λάθη — και ο πίνακας τιμών που τα βρίσκει.
30 λεπτά
Θα μάθεις να
- Να ξεχωρίζεις τα συντακτικά, τα λογικά και τα λάθη εκτέλεσης.
- Να εντοπίζεις λογικό λάθος με πίνακα τιμών.
- Να αναφέρεις τις τεχνικές και τα εργαλεία εκσφαλμάτωσης.
- Να σχεδιάζεις έλεγχο με ακραίες τιμές.
Τρία είδη λαθών
| Είδος | Πότε εμφανίζεται | Ποιος το βρίσκει |
|---|---|---|
| Συντακτικό | στη μεταγλώττιση | ο μεταγλωττιστής, αυτόματα |
| Λάθος εκτέλεσης | ενώ το πρόγραμμα τρέχει | το ίδιο το σύστημα, διακόπτοντας |
| Λογικό | ποτέ — το πρόγραμμα τρέχει κανονικά | μόνο εσύ |
- Συντακτικό: παράβαση των κανόνων της γλώσσας. Ξεχασμένο
ΤΕΛΟΣ_ΑΝ, μεταβλητή που δεν δηλώθηκε, εκχώρηση σε σταθερά. - Λάθος εκτέλεσης: η σύνταξη είναι σωστή αλλά η ενέργεια αδύνατη. Διαίρεση με μηδέν, δείκτης πίνακα εκτός ορίων.
- Λογικό: όλα νόμιμα, το αποτέλεσμα λάθος. Λάθος τελεστής, λάθος σειρά εντολών, λάθος όριο βρόχου.
Ένα λογικό λάθος, βήμα βήμα
ΔΙΑΒΑΣΕ nS ← 0i ← 1ΟΣΟ i < n ΕΠΑΝΑΛΑΒΕS ← S + ii ← i + 1ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΓΡΑΨΕ S
Το πρόγραμμα μεταγλωττίζεται καθαρά, τρέχει, τερματίζει και τυπώνει έναν αριθμό. Με n = 5 τυπώνει , ενώ η σωστή απάντηση είναι .
Τεχνικές εκσφαλμάτωσης
| Τεχνική | Τι κάνει |
|---|---|
| Ξηρή εκτέλεση (πίνακας τιμών) | εκτέλεση στο χαρτί, χωρίς υπολογιστή |
| Εκτυπώσεις ελέγχου | προσωρινές ΓΡΑΨΕ σε κρίσιμα σημεία |
| Σημεία διακοπής | το πρόγραμμα σταματά σε γραμμή που όρισες |
| Βηματική εκτέλεση | μία εντολή τη φορά |
| Παρακολούθηση μεταβλητών | οι τιμές φαίνονται ζωντανά όσο τρέχει |
Έλεγχος με ακραίες τιμές
Ένα πρόγραμμα που δουλεύει με «κανονικά» δεδομένα δεν έχει ελεγχθεί. Οι τιμές που αξίζει να δοκιμαστούν:
- Τα όρια: η πρώτη και η τελευταία έγκυρη τιμή.
- Ακριβώς έξω από τα όρια: μία λιγότερη και μία περισσότερη.
- Το μηδέν και οι αρνητικοί, όπου έχουν νόημα.
- Το άδειο σύνολο: μηδέν δεδομένα.
- Ένα μόνο στοιχείο, που σπάει τους βρόχους σύγκρισης ζευγών.
Λυμένα παραδείγματα
Παράδειγμα 1
Το πρόγραμμα τυπώνει 10 αντί για 15 στο άθροισμα 1 έως 5. Τι είδους λάθος, και πού;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Κατάταξε τα λάθη: (α) ξεχασμένο ΤΕΛΟΣ_ΑΝ, (β) διαίρεση με μηδέν, (γ) πρόσθεση αντί για αφαίρεση.
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 3
Ποια δεδομένα θα δοκίμαζες σε πρόγραμμα που βρίσκει τον μέσο όρο ν αριθμών;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 4
Γιατί ο πίνακας τιμών βρίσκει λάθη που ο μεταγλωττιστής δεν βρίσκει;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Από την πιο απλή στην πιο δύσκολη. Κρυμμένη είναι μόνο η απάντηση — ο δρόμος ως εκεί είναι δική σου δουλειά.
Ποιο είδος λάθους δεν το εντοπίζει κανένα εργαλείο αυτόματα;
Τεστ
Δεν μετράει βαθμός — μετράει να δεις τι κατάλαβες. Προσπέρασε όποια θες και γύρνα πίσω όποτε θες.
Ερώτηση 1 από 8
Τα κατάφερες;
- Να ξεχωρίζεις τα συντακτικά, τα λογικά και τα λάθη εκτέλεσης.
- Να εντοπίζεις λογικό λάθος με πίνακα τιμών.
- Να αναφέρεις τις τεχνικές και τα εργαλεία εκσφαλμάτωσης.
- Να σχεδιάζεις έλεγχο με ακραίες τιμές.
Κάνε το τεστ πιο πάνω και θα δεις εδώ πού στέκεσαι.