Hopp til innhold

Fagartikkel

Løkker

En av styrkene ved programmering er at du kan programmere datamaskinen til å gjenta den samme operasjonen flere ganger. Dersom du skal skrive kode som gjentar seg selv, bruker du løkker ("loops" på engelsk). Vi skiller i hovedsak mellom for- og while-løkker.

LK20
En løkke i en berg-og-dal-bane med en vogn med mennesker som kjører hurtig rundt. Foto.

En løkke er en kontrollstruktur som kjører kode et gitt antall ganger. Vi kaller hver gang løkken kjøres for en iterasjon ("iteration" på engelsk). Dersom løkken kjøres ti ganger, sier vi at den har ti iterasjoner.

Ofte er vi i situasjoner der vi må repetere en handling. Dersom en datamaskin skulle ha valgt varer fra ei handleliste, hadde den måttet gå gjennom hver enkelt vare i butikken og sammenlignet den med handlelista. Nedenfor kan du se et eksempel på hvordan løkken ville ha sett ut.

Flytskjema for handlekurv. Illustrasjon.

Flytskjema for handlekurv. Illustrasjon.

For-løkker

For-løkker bruker du dersom du ønsker at noe skal gjenta seg selv et gitt antall ganger. Nedenfor ser du et eksempel på hvordan en slik løkke kan se ut:

Javascript

1
2
3
for (let i = 0;i<10;i++) {
	// Kode som kjøres ti ganger
}

I dette tilfellet har vi deklarert en variabel som heter i. Denne variabelen bruker du som en teller som holder oversikt over alle rundene løkken blir kjørt. Hver slik runde kaller vi en iterasjon. Det neste som skjer, er at vi sjekker om i er mindre enn 10. Dersom betingelsen er oppfylt, så kjøres koden. Til slutt så setter vi i++, som vil si at vi øker variabelen i med 1. Vi kaller dette for en inkrementering. For hver iterasjon vil altså variabelen i øke med 1, og vi vil sjekke om i er mindre enn 10. Når variabelen i er 10 eller høyere, vil løkken slutte å kjøre.

While-løkker

En while-løkke bruker du når du ikke vet hvor mange ganger løkken skal gå i forkant. Den kan også egne seg dersom betingelsen ikke baserer seg på tall, eller når du ikke vet hvor mange ganger loopen skal kjøre.

Javascript

1
2
3
4
5
6
let teller = 0;

while (teller <10) {
// Kode som kjører ti ganger
teller++;
}

En annen versjon av while-løkken er do-while-løkken. Da vil koden som skal kjøres, komme først og betingelsen til slutt. Dette gjør at koden kjører minst én gang selv om betingelsen er usann ("false" på engelsk).

Javascript

1
2
3
4
5
6
7
let teller = 0;

do { 
    // Kode som kjører ti ganger
    teller++;
}
while (teller<10)
Sist oppdatert 26.02.2020
Skrevet av Jan Frode Lindsø

Læringsressurser

Programmering