7. Kod röd på våning 13

20

Nu är Random och Else färdiga med detektivskolans andra nivå och de har inte långt kvar förrän de får sina licenser. Men hur ska det gå, kommer de att klara Nordopolis lite klurigare uppdrag på nivå 3?

Brrring! Det kommer in ett larm från ett lager på våning 13. Någon måste dit och kolla vad som har hänt.

När larmet kommer anropas den robot som är närmast. I vissa fall är det farligt att undersöka själv, till exempel om det kan vara en inkräktare kvar i lokalen eller om det är risk för brand. Då är det ”kod röd”. På våning 100-102 kryllar det av detektiver och det går att få hjälp jättefort, så där kan roboten alltid undersöka själv.

För att robotarna Else och Random ska få rycka ut på larm programmeras de med nya regler. Vad de ska göra beror på vilken våning larmet är från och om det är ”kod röd”:

Om våning < 100 då
     Om kod röd då
           Anropa förstärkning
     Annars
           Undersök närmare

Om våning >=100 och våning <= 102 då
     Undersök närmare

Om våning >= 103
     Om kod röd då
           Anropa förstärkning
      Annars
           Undersök närmare

Frågor

  1. Vad händer om larmet kommer från våning 13 och det är kod röd?

  2. Vad händer om larmet kommer från våning 100 och det är kod röd?

  3. Robotdetektiverna bestämmer sig för att förenkla sina regler. Om det är ”kod röd” så ska förstärkning alltid anropas, oavsett vilket våningsplan de är på. Hur ser koden ut då?

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

Villkor används i programmering för att det ska kunna hända olika saker när ett program körs beroende på vad den som använder programmet gör. Om du programmerar spel i Scratch kanske du har använt villkor för att kolla om två sprajtar rör vid varandra om en sprajt är nära en viss koordinat.

Villkor används alltså för att programmet ska kunna välja mellan olika alternativ (om-då-annars). I denna utmaning är det extra tydligt eftersom ett beslutsträd formas av villkoren. Det kallas beslutsträd för att de olika alternativen formar grenar (det blir tydligare om du vänder på pappret).

Du kan lägga villkor i villkor som i exemplet ovan. Men det gäller att hålla tungan rätt i mun, ibland blir det svårt att hålla redan på vad som händer! Då är det bra att ha tänkt igenom koden innan du börjar programmera, så att du vet vilket alternativ som väljs när. Ofta kan du skriva villkor i villkor på olika sätt: Ska robotdetektiverna börja med att kolla våning eller kod röd – vilket blir lättast att förstå?