Hopp til innhald
Fagartikkel

Lykkjer

Ein av styrkane ved programmering er at du kan programmere datamaskina til å gjenta den same operasjonen fleire gonger. Dersom du skal skrive kode som gjentek seg sjølv, bruker du lykkjer ("loops" på engelsk). Vi skil i hovudsak mellom for- og while-lykkjer.

Ei lykkje er ein kontrollstruktur som køyrer kode eit gitt tal gonger. Vi kallar kvar gong lykkja blir køyrd for ein iterasjon ("iteration" på engelsk). Dersom lykkja blir køyrd ti gonger, seier vi at ho har ti iterasjonar. Mark Zuckerberg forklarer om iterasjonar hos Code.org på YouTube.

Ofte er vi i situasjonar der vi må repetere ei handling. Dersom ei datamaskin skulle ha valt varer frå ei handleliste, hadde den måtta gå gjennom kvar enkelt vare i butikken og samanlikna ho med handlelista. Nedanfor kan du sjå eit eksempel på korleis lykkja ville ha sett ut.

For-lykkjer

For-lykkjer bruker du dersom du ønskjer at noko skal gjenta seg sjølv eit gitt tal gonger. Nedanfor ser du eit eksempel på korleis ei slik lykkje kan sjå ut:

Javascript
1for (let i = 0;i<10;i++) {
2	// Kode som blir køyrt ti gonger
3}

I dette tilfellet har vi deklarert ein variabel som heiter i. Denne variabelen bruker du som ein teljar som held oversikt over alle rundane lykkja blir køyrd. Kvar slik runde kallar vi ein iterasjon. Det neste som skjer, er at vi sjekkar om i er mindre enn 10. Dersom vilkåret er oppfylt, så blir koden køyrd. Til slutt så set vi i++, som vil seie at vi aukar variabelen i med 1. Vi kallar dette for ein inkrementering. For kvar iterasjon vil altså variabelen i auke med 1, og vi vil sjekke om i er mindre enn 10. Når variabelen i er 10 eller høgare, vil lykkja slutte å køyre.

While-lykkjer

Ei while-lykkje bruker du når du ikkje veit kor mange gonger lykkja skal gå i forkant. Ho kan òg eigne seg dersom vilkåret ikkje baserer seg på tal, eller når du ikkje veit kor mange gonger loopen skal køyre.

Javascript
1let teljar = 0;
2
3while (teljar <10) {
4// Kode som køyrer ti gonger
5teljar++;
6}

Ein annan versjon av while-lykkja er do-while-lykkja. Då vil koden som skal køyrast, kome først og vilkåret til slutt. Dette gjer at koden køyrer minst éin gong sjølv om vilkåret er usant ("false" på engelsk).

Javascript
1let teljar = 0;
2
3do { 
4// Kode som køyrer ti gonger
5teljar++;
6}
7while (teljar<10)