
För-loop (programmering)

Uppgradera för mer innehåll
Sant eller falskt? Det finns flera olika sätt att repetera kod.
Lina har programmerat sin robot att ge Maria och Leon chokladbitar. Maria förbättrade Linas program, och nu behöver det inte startas om gång på gång. Så här ser pseudokoden ut just nu: Så länge som det finns chokladbitar i asken, alltså så länge variabeln chokladbitar är större än noll, delar roboten ut choklad till Maria och Leon. Maria har använt sig av en “så länge”-loop. Lina känner till ett sätt att göra koden ännu bättre.
Eftersom Lina vet att en nyöppnad chokladask innehåller tio bitar så behöver det inte matas in varje gång. Istället kan hon använda en annan typ av loop, som ska upprepas, itereras, tio gånger. Den här typen av loop itereras från ett startvärde till ett slutvärde för en variabel. Instruktionerna inuti loopen utförs bara när variabeln är mellan startvärdet och slutvärdet. Hon använder variabelnamnet “i”, som i iterera.
Linas pseudokod ser ut så här: för alla värden på variabeln “i” från ett startvärde till ett slutvärde, ska instruktionerna inuti loopen utföras. I instruktionen för loopen talar Lina om startvärdet, ett. När loopen startar har variabeln “i” värdet ett. Hon skriver “från ett”. Hon vill att instruktionerna i loopen ska utföras tio gånger så Lina skriver “tio” som slutvärde.
Varje gång instruktionerna i loopen upprepas, itereras, ska variabeln “i” öka med ett. Så, Lina bestämmer storleken på varje steg i sin kod till: ett. Det här är en för-loop. Och den utförs för alla värden från och med startvärdet ett till och med slutvärdet tio. När programmet använde en “så länge-loop” behövdes en instruktion inuti loopen som minskade antalet chokladbitar med ett.
Men när Lina använder en “för-loop” så behövs inte den instruktionen. Hon kan ta bort den. Den nya pseudokoden ser ut så här: Lina testar den “för” loop hon har skrivit. När “för”-loopen startar har variabeln “i” värdet ett. Instruktionerna i loopen utförs...
och programmet går tillbaka till loopens topp. Nu utförs den här delen av instruktionen: som ökar värdet på variabeln “i” med ett steg. Ett plus ett blir två. Två är fortfarande mellan ett och tio, instruktionerna i loopen utförs... och programmet går tillbaka till loopens topp.
Och på nytt ökar värdet på “i” med ett. Nu är värdet tre. Tre hör till “alla värden på i från ett till tio”. Och så håller loopen på medan variabeln “i” har värdet fyra, fem, sex, sju, åtta, nio och tio. När “i” ändrar värde till elva...
så hör inte variabelns värde till “alla värden från ett till tio”. Loopen avslutas, och programmet går vidare. I det här fallet, finns inga fler instruktioner, och programmet avslutas. Vi jämför “för-loopen” med Marias “så länge-loop” Lina har ersatt tre instruktioner, med en enda. Färre instruktioner gör koden mer lättläst.
Koden blir snyggare.