
Om (programmering)

Uppgradera för mer innehåll
Sant eller falskt? Instruktionerna till robotens program kallas för pseudokod.
Jag har fått en chokladask. Vill ni ha? Ja! Fast bara ljusa. Jag vill bara ha mörka.
Här är en mörk chokladbit. Ljus choklad! Då gillar du den, Maria. En till... Här...
Ja med… Mer…! Men hallå! Ni kan ju ta själva. Jag tänker inte plocka chokladbitar till er... Fast min robot kanske kan göra det!
Mäh, roboten vet ju inte vad vi har för smak. Den vet ju inte vilken choklad vi gillar. Den kan lära sig. Lina ska lära roboten att dela ut choklad till rätt person. Maria gillar ljus choklad.
Det är hennes krav för att hon alls ska äta den. Leons krav för att han ska äta sin chokladbit är att den är mörk. Kraven styr vad roboten ska göra. De styr villkoren. Ett villkor kan bara vara sant eller falskt, uppfyllt eller inte uppfyllt, aldrig något mitt emellan.
Nu ska Lina förklara för roboten vad den ska göra. Roboten måste ha allt tydligt förklarat. Instruktionerna kallas för pseudokoden till Linas program. Pseudokoden ser ut så här: Plocka upp en chokladbit. Om det är ljus choklad ge chokladen till Maria.
Om det är mörk choklad ge chokladen till Leon. Lina drar in de här två raderna i pseudokoden. Varför då? För att göra det tydligare hur villkoren styr roboten. Roboten läser den här “om”-instruktionen.
Om villkoret är sant utförs nästa instruktion. Om villkoret är falskt, hoppar roboten över alla instruktioner som hör till den “om”-raden. Instruktionen “Ge Maria choklad” utförs bara om villkoret “ljus choklad” är sant. Instruktionen “Ge Leon choklad” utförs bara om villkoret “mörk choklad” är sant. När Lina drar in de två raderna i pseudokoden syns det tydligare hur villkoren “ljus” eller “mörk” choklad styr vilka instruktioner som ska utföras.
Nu ska vi se om roboten lärt sig något. Roboten plockar upp en chokladbit. Det är en mörk chokladbit och det första villkoret är... falskt. Roboten hoppar över instruktionen att ge Maria choklad.
Sen kommer nästa rad. Villkoret är mörk choklad. Det villkoret är sant. Roboten har en mörk chokladbit i handen. Då utför roboten instruktionen på nästa rad, och ger chokladbiten till Leon.
Maria fick ingen choklad så hon startar om robotens program. Roboten plockar upp en ny chokladbit. Den här gången är det en ljus chokladbit och det första villkoret är… sant. Roboten ger därför chokladen till Maria. Programmet fortsätter till nästa rad och roboten står där med en tom hand.
Den har ingen chokladbit alls! Är villkoret “mörk choklad” då sant eller falskt? Vi sa att villkor i programmering bara kan vara antingen sanna eller falska, och inget mittemellan. Ingen choklad betyder då att villkoret “Mörk choklad” är falskt, för det finns ju ingen choklad! Så programmet hoppar över instruktionen att ge Leon choklad och stannar. Genom att använda villkor kan roboten ge Maria och Leon den choklad de tycker är godast.
Alla är nöjda och glada. Duktig robot!