8. Debugga värmen

20

Någon har hackat värmesystemet och ändrat i koden! Fastän det bara är 12 grader Celcius i Nordopolis är värmen inte på. Varför slår värmen inte igång? Ingen har lyckats lösa problemet och robotdetektiverna får rycka ut. De misstänker att en hackare har varit i farten!

Här är koden som styr värmeläget. I den har hackaren ändrat ett tecken:

Temperatursensor = F

Om temperatur > 19
     Sätt värmeläge till 0

Om temperatur > 12 och temperatur <= 19
     Sätt värmeläge till 1

Om temperatur > 7 och temperatur <=12
     Sätt värmeläge till 2

Om temperatur <= 7
     Sätt värmeläge till 3

Robotarna kollar vad värmesystemet tror att temperaturen är: 54 grader Fahrenheit! Vad kan ha hänt?

Frågor

  1. Vad är det hackaren har ändrat i koden?

  2. Hur skulle problemet, buggen, kunna lösas?

Vad har detta med datorer och kod att göra?

Fel i programkod kan ta många olika former. Att felsöka ett program som inte fungerar kan vara frustrerande, men när du hittar felet blir du oftast desto gladare.

När du felsöker är det viktigt att du håller dig lugn, funderar på vad orsakerna till problemet kan vara och hur du kan testa dem. Det är också bra att anteckna vad du redan har testat. Ibland blir det lättare att hitta felet när du tar en paus eller om du ber om hjälp - för då måste du förklara vad du gjort för någon annan. Kanske kommer du då på felet själv!

Ibland är det svårt att testa program på förhand och konsekvenserna av fel kan bli väldigt stora. Ett exempel på det är Mars Climate Orbiter, en farkost som skickades upp för att ligga i omloppsbana runt Mars. Tyvärr krashade den på grund av att två team med programmerare hade använt olika enheter utan att de visste om det.