Loopar – kod som repeteras

En loop är väldigt användbar inom programmering eftersom det är ett sätt att tala om att kod ska upprepas. Istället för att skriva samma kod flera gånger, kan du skriva en loop för att repetera samma kod så många gånger du vill.

Här kommer ett exempel. Du har en robot som ska steka pannkakor åt dig. Du har fem gäster på besök och alla vill ha pannkakor. Så här skulle det kunna se ut när du ber roboten att laga en pannkaka:

Screen Shot 2017 02 10 At 155805

Koden gör att roboten lagar en pannkaka. Men vad jobbigt det blir att behöva skriva all kod fyra gånger för att få fyra pannkakor! Tänk om dina gäster vill ha fyra pannkakor var? Då måste du skriva koden 20 gånger. Hur ska du hinna äta själv?

Det finns en lösning och det är att använda en loop! Loopen gör så att koden upprepas och körs om utan att du behöver skriva om alla rader kod igen. Så för att få din robot att laga 20 pannkakor är det enda du behöver göra att lägga till en loop innan koden:

Screen Shot 2017 02 10 At 164445

Kan du komma på någonting som du själv gör varje dag och som kan vara en loop? Det kan till exempel vara när du sitter och äter fil med flingor. Varje gång du stoppar ner skeden och tar nya flingor till munnen så gör du en rörelse exakt likadant, om och om igen ända tills skålen är tom.

Hur länge ska koden repeteras?

Loopar är även användbara när du inte vet exakt hur många gånger du vill upprepa din kod. Säg att din kompis vill låna din pannkaksrobot. Då behöver kompisen bara ändra en sak i koden, nämligen siffran 20, till det antal pannkakor som din kompis vill ha. Om din kompis vill programmera roboten att laga 100 pannkakor blir den nog väldigt glad över att bara behöva ändra på siffran 20 till 100, istället för att själv skriva koden hundra gånger.

Loopar kan upprepa koden:

  • Ett bestämt antal gånger som du anger som värde
  • Tills något händer som kan avgöras med sant eller falskt, om-då
  • För alltid

När du ber pannkaksroboten att göra 20 pannkakor ger du ett bestämt värde som är 20.

Om du vill att roboten ska göra pannkakor tills något händer, kan du till exempel be roboten att fråga dig: “Är du fortfarande hungrig?”. Om du svarar ja så tolkar roboten det som sant, alltså lagar den fler. Om du svarar nej så tolkar roboten det som falskt och slutar laga pannkakor. Du kan också programmera den att fortsätta tills det inte finns någon pannkakssmet kvar att laga.

Loop1

Om du har programmerat pannkaksroboten så att den ska fortsätta för alltid så lagar den fler, och fler, och fler… oändligt många pannkakor!

Loop3

Fundera på:

  • Finns det någonting som du gör dagligen som skulle behöva programmeras som en loop ifall du var en robot? 
  • Kan du komma på något som du skulle vilja programmera en robot eller en dator till att göra i loopar?
Har du kommentarer till materialet på den här sidan? Mejla info@kodcentrum.se