Ουπς! Ένα λάθος
Δοκιμάζω, βλέπω τι έγινε, αλλάζω ένα πράγμα και ξαναδοκιμάζω.
20 λεπτά
Θα μάθεις να
- Να δέχεσαι ότι τα λάθη στα προγράμματα είναι συνηθισμένα και διορθώνονται.
- Να τρέχεις ένα πρόγραμμα και να λες τι έκανε, σε σύγκριση με αυτό που ήθελες.
- Να αλλάζεις ένα μόνο πράγμα κάθε φορά και να ξαναδοκιμάζεις.
- Να διορθώνεις μια λάθος εντολή στο πρόγραμμα ενός ρομπότ.
Όλα τα προγράμματα έχουν λάθη
Γράφεις ένα πρόγραμμα για το ρομπότ, πατάς «Τρέξε», και το ρομπότ πάει αλλού. Ουπς!
Αυτό δεν σημαίνει ότι δεν τα καταφέρνεις. Συμβαίνει σε όλους, ακόμα και σε ανθρώπους που φτιάχνουν προγράμματα κάθε μέρα, για χρόνια. Τα πρώτα προγράμματα σχεδόν ποτέ δεν δουλεύουν με την πρώτη.
Ένα λάθος σε πρόγραμμα οι προγραμματιστές το λένε bug (μπαγκ), που στα αγγλικά σημαίνει «ζουζούνι». Δεν είναι ντροπή να βρεις ένα. Το να βρίσκεις και να διορθώνεις λάθη είναι μέρος της δουλειάς.
Δοκιμάζω και βλέπω
Το πρώτο βήμα είναι απλό, αλλά θέλει προσοχή: κοιτάζεις τι κάνει το πρόγραμμα. Όχι μόνο αν πέτυχε ή όχι, αλλά πώς κινήθηκε.
Ρώτα τον εαυτό σου:
- Πού ήθελα να πάει;
- Πού πήγε στ' αλήθεια;
- Σε ποια εντολή άρχισε να πηγαίνει αλλού;
Αν δεν πρόλαβες να δεις, τρέξ' το ξανά. Δεν κοστίζει τίποτα. Όσες φορές κι αν τρέξει, το πρόγραμμα κάνει ακριβώς τα ίδια. Κάθε φορά που το βλέπεις, μαθαίνεις κάτι παραπάνω.
Αυτό που βλέπεις σού δίνει συχνά και μια ιδέα για το τι να αλλάξεις:
| Τι είδα | Μια πρώτη ιδέα για αλλαγή |
|---|---|
| σταμάτησε ένα τετράγωνο πριν από το αστέρι | προσθέτω μία εντολή στο τέλος |
| πέρασε πάνω από το αστέρι και συνέχισε | σβήνω την τελευταία εντολή |
| κάποια στιγμή πήγε ανάποδα | αλλάζω εκείνο το βελάκι στο αντίθετο |
| δεν κουνήθηκε καθόλου | κοιτάζω αν ξεκινάει το πρόγραμμα, π.χ. αν υπάρχει καπέλο στο Scratch |
Είναι ιδέες, όχι σίγουρες απαντήσεις. Γι' αυτό μετά την αλλαγή ξαναδοκιμάζεις.
Αλλάζω ένα πράγμα
Όταν βρεις πού πάει στραβά, ο πειρασμός είναι να τα σβήσεις όλα και να ξαναρχίσεις. Ή να αλλάξεις πέντε εντολές μαζί, μήπως και πετύχει.
Καλύτερα ένα πράγμα κάθε φορά. Έτσι, όταν ξαναδοκιμάσεις, ξέρεις τι έκανε η αλλαγή σου.
| Αν αλλάξεις… | …και μετά δουλέψει | …και μετά δεν δουλέψει |
|---|---|---|
| ένα πράγμα | ξέρεις ποιο ήταν το λάθος | ξέρεις ότι δεν ήταν αυτό, και το γυρίζεις πίσω |
| πολλά πράγματα μαζί | δεν ξέρεις ποιο από όλα το διόρθωσε | δεν ξέρεις ποιο φταίει, ούτε αν χάλασες κάτι άλλο |
Ξαναδοκιμάζω
Μετά την αλλαγή, τρέχεις ξανά το πρόγραμμα. Τρία πράγματα μπορεί να γίνουν:
- Δούλεψε. Μπράβο, το βρήκες.
- Πήγε λίγο καλύτερα. Πλησίασε, αλλά κάτι ακόμα λείπει. Βλέπεις πάλι τι έγινε και αλλάζεις το επόμενο πράγμα.
- Δεν άλλαξε τίποτα ή χειροτέρεψε. Η αλλαγή δεν ήταν η σωστή. Τη γυρίζεις πίσω και δοκιμάζεις κάτι άλλο.
Και στα τρία έμαθες κάτι. Ακόμα και μια αλλαγή που δεν πέτυχε σού λέει πού δεν είναι το λάθος.
Ο Άκης δοκιμάζει
Αυτό το πρόγραμμα έχει ένα λάθος βελάκι. Τρέξ' το, δες πού ξεφεύγει το ρομπότ, και άλλαξε μόνο εκείνο.
Αν κοιτάξεις προσεκτικά, το ρομπότ κάνει σωστά τις τέσσερις πρώτες εντολές: ανεβαίνει πάνω από τον τοίχο και τον προσπερνάει. Στην πέμπτη ανεβαίνει ξανά, ενώ έπρεπε να κατέβει πίσω στη σειρά του αστεριού. Μία εντολή άλλαξε, και όλο το τέλος πήγε αλλού.
Ας το κάνουμε μαζί
Η Μυρτώ το λύνει σιγά σιγά · Παράδειγμα 1
Το ρομπότ ξεκινάει σε άδειο πλέγμα. Το αστέρι είναι 2 τετράγωνα πάνω και 2 δεξιά. Το πρόγραμμα είναι: Πάνω, Πάνω, Δεξιά. Πώς το διορθώνουμε;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Στο Scratch, ο γάτος του Νίκου πρέπει να κάνει 10 βήματα προς τα δεξιά όταν πατηθεί η σημαία. Όταν πατάει τη σημαία, ο γάτος κινείται, αλλά πολύ λίγο. Ο Νίκος θέλει να τα αλλάξει όλα. Τι του προτείνουμε;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Τα κατάφερες;
- Να δέχεσαι ότι τα λάθη στα προγράμματα είναι συνηθισμένα και διορθώνονται.
- Να τρέχεις ένα πρόγραμμα και να λες τι έκανε, σε σύγκριση με αυτό που ήθελες.
- Να αλλάζεις ένα μόνο πράγμα κάθε φορά και να ξαναδοκιμάζεις.
- Να διορθώνεις μια λάθος εντολή στο πρόγραμμα ενός ρομπότ.
Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.