4. På patrull

Svårighetsgrad:

Else och Random är klara med detektivskolans första nivå. Nu får de börja komma ut på riktiga uppdrag, men de har fortfarande en del kvar att lära innan de får sin detektivlicens. Dags för nivå 2!

En gång om dagen patrullerar en robotdetektiv igenom alla 200 våningar i Nordopolis. Den letar efter spår till några av de vanligaste typerna av brott i Nordopolis. Idag är det Elses tur att patrullera.

Korridor Hiss

Huvudkorridoren går ett helt varv inuti Nordopolis, en huvudkorridor på varje våningsplan. Bilden visar ungefär hur huvudkorridoren ser ut. Det finns hissar i varje hörn, men bilden visar bara den hiss som Else använder just nu.

Blocken nedan visar den kod som körs för att ta sig runt vid patrulleringen. Samtidigt körs en annan kod för att leta spår. Det har blivit fyra fel, “buggar", i koden som används för att patrullera. Kan du hitta dem?

Kodblock Utmaning 4

Frågor

  1. Kan du hitta de fyra buggarna i koden? Hur ser koden ut när den är fixad?
  2. När koden är fixad, hur många gånger kommer kommandot “Gå 50 meter” att utföras?
  3. Skapa en ny bugg (ett fel) i koden. Visa för en kompis. Kan den hitta buggen?

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

När det blir fel i kod brukar man kalla det för en bugg. Det kommer från engelskans bug, det vill säga insekt. Ordet har faktiskt använts för fel i maskiner redan innan vi hade datorer och programkod, det användes bland annat av den amerikanske uppfinnaren Thomas Edison på 1800-talet. Det är oklart om ordet kommer sig från insekter som krupit in i maskinerna, eller för att ordet också kan betyda monster!

För att hitta buggar i ett program kan du köra programmet “i huvudet” och fundera på vad som händer i varje steg. Här kan det krävas både fantasi och vana, du blir bättre ju mer du övar! Kör du istället ett program för att hitta fel gäller det att vara uppmärksam på hur det du ser hänger ihop med koden: I vilket steg i koden är det som det inte blir som du tänkt dig?

Har du kommentarer till materialet på den här sidan? Mejla info@kodcentrum.se