Μετάβαση στο περιεχόμενο

Ουπς! Ένα λάθος

Δοκιμάζω, βλέπω τι έγινε, αλλάζω ένα πράγμα και ξαναδοκιμάζω.

20 λεπτά

Θα μάθεις να

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

Όλα τα προγράμματα έχουν λάθη

Γράφεις ένα πρόγραμμα για το ρομπότ, πατάς «Τρέξε», και το ρομπότ πάει αλλού. Ουπς!

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

Ένα λάθος σε πρόγραμμα οι προγραμματιστές το λένε bug (μπαγκ), που στα αγγλικά σημαίνει «ζουζούνι». Δεν είναι ντροπή να βρεις ένα. Το να βρίσκεις και να διορθώνεις λάθη είναι μέρος της δουλειάς.

Δοκιμάζω και βλέπω

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

Ρώτα τον εαυτό σου:

  • Πού ήθελα να πάει;
  • Πού πήγε στ' αλήθεια;
  • Σε ποια εντολή άρχισε να πηγαίνει αλλού;

Αν δεν πρόλαβες να δεις, τρέξ' το ξανά. Δεν κοστίζει τίποτα. Όσες φορές κι αν τρέξει, το πρόγραμμα κάνει ακριβώς τα ίδια. Κάθε φορά που το βλέπεις, μαθαίνεις κάτι παραπάνω.

Αυτό που βλέπεις σού δίνει συχνά και μια ιδέα για το τι να αλλάξεις:

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

Είναι ιδέες, όχι σίγουρες απαντήσεις. Γι' αυτό μετά την αλλαγή ξαναδοκιμάζεις.

Αλλάζω ένα πράγμα

Όταν βρεις πού πάει στραβά, ο πειρασμός είναι να τα σβήσεις όλα και να ξαναρχίσεις. Ή να αλλάξεις πέντε εντολές μαζί, μήπως και πετύχει.

Καλύτερα ένα πράγμα κάθε φορά. Έτσι, όταν ξαναδοκιμάσεις, ξέρεις τι έκανε η αλλαγή σου.

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

Ξαναδοκιμάζω

Μετά την αλλαγή, τρέχεις ξανά το πρόγραμμα. Τρία πράγματα μπορεί να γίνουν:

  • Δούλεψε. Μπράβο, το βρήκες.
  • Πήγε λίγο καλύτερα. Πλησίασε, αλλά κάτι ακόμα λείπει. Βλέπεις πάλι τι έγινε και αλλάζεις το επόμενο πράγμα.
  • Δεν άλλαξε τίποτα ή χειροτέρεψε. Η αλλαγή δεν ήταν η σωστή. Τη γυρίζεις πίσω και δοκιμάζεις κάτι άλλο.

Και στα τρία έμαθες κάτι. Ακόμα και μια αλλαγή που δεν πέτυχε σού λέει πού δεν είναι το λάθος.

Ο Άκης δοκιμάζει

Αυτό το πρόγραμμα έχει ένα λάθος βελάκι. Τρέξ' το, δες πού ξεφεύγει το ρομπότ, και άλλαξε μόνο εκείνο.

Ουπς! Πού πήγε;

Το ρομπότ πρέπει να περάσει γύρω από τον τοίχο και να σταματήσει στο αστέρι. Για να αλλάξεις μία εντολή, σβήσε από το τέλος ως εκείνη και ξαναγράψε τις υπόλοιπες.

Το πρόγραμμα

 

Αν κοιτάξεις προσεκτικά, το ρομπότ κάνει σωστά τις τέσσερις πρώτες εντολές: ανεβαίνει πάνω από τον τοίχο και τον προσπερνάει. Στην πέμπτη ανεβαίνει ξανά, ενώ έπρεπε να κατέβει πίσω στη σειρά του αστεριού. Μία εντολή άλλαξε, και όλο το τέλος πήγε αλλού.

Ας το κάνουμε μαζί

Η Μυρτώ το λύνει σιγά σιγά · Παράδειγμα 1

Το ρομπότ ξεκινάει σε άδειο πλέγμα. Το αστέρι είναι 2 τετράγωνα πάνω και 2 δεξιά. Το πρόγραμμα είναι: Πάνω, Πάνω, Δεξιά. Πώς το διορθώνουμε;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 2

Στο Scratch, ο γάτος του Νίκου πρέπει να κάνει 10 βήματα προς τα δεξιά όταν πατηθεί η σημαία. Όταν πατάει τη σημαία, ο γάτος κινείται, αλλά πολύ λίγο. Ο Νίκος θέλει να τα αλλάξει όλα. Τι του προτείνουμε;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Ασκήσεις

Διάλεξε τη σωστή απάντηση και πάτα «Έλεγξε». Στο τέλος θα βρεις και μερικές που τις απαντάς χωρίς επιλογές.
ΔιάλεξεΆσκηση 1 από 14
Το πρώτο σου πρόγραμμα δεν δούλεψε. Τι σημαίνει αυτό;

Τα κατάφερες;

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

Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.