Løkker - Teknologi og produksjon (IM-MED vg2) - Ressurssamling - NDLA

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.

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. Mark Zuckerberg forklarer om iterasjoner hos Code.org på YouTube.

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.

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
1for (let i = 0;i<10;i++) {
2	// Kode som kjøres ti ganger
3}

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
1let teller = 0;
2
3while (teller <10) {
4// Kode som kjører ti ganger
5teller++;
6}

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
1let teller = 0;
2
3do { 
4    // Kode som kjører ti ganger
5    teller++;
6}
7while (teller<10)
Skrevet av Jan Frode Lindsø.
Sist faglig oppdatert 26.02.2020