Programmeringskurs: 3.1 Hva er løkker?
Loop de' loop
Tenk deg at du er på tivoli og kjører en berg- og dal-bane som har en loop som tar deg rundt og rundt mange ganger. Mens du sitter der, oppdager du at det er et hull i lommen hvor du har 20 kronestykker. Hver gang du er på toppen av loopen detter en krone ut av lommen. Berg- og dal-bane kontrolløren synes dette er så morsomt, at han sender deg rundt i loopen helt til det ikke er flere kronestykker igjen i lomma.
Dette likner ganske mye på hvordan en løkke fungerer i et dataprogram. Så lenge en forutsetning er til stede, for eksempel at du har kronestykker i lomma, utføres en eller annen handling. Vi kan skrive koden omtrent slik:
Det engelske ordet for løkke er loop. Med løkker kan vi lage programmer som gjør det datamaskiner er best på og som er veldig kjedelig å gjøre manuelt. En datamaskin blir ikke lei, og kan raskt gjøre den samme handlingen tusenvis av ganger. |
du har 20 kroner
så lenge du har kroner igjen:
#\quad#kjør en runde i loopen
#\quad#en krone detter ut
Handlingene #\texttt{kjør en runde i loopen}# og #\texttt{en krone detter ut}# gjentas helt til lomma er tom for kronestykker.
Det fins to typer løkker, for- og while-løkker, og vi skal se på begge disse i det som kommer.
Forskjellen mellom de to er at for-løkker brukes når vi vil gjennomføre den samme handlingen på et strukturert objekt slik som en liste. Vi vet da på forhånd hvor mange ganger handlingene skal repeteres. Når vi ikke har et slikt strukturert objekt eller vet på forhånd hvor mange ganger vi bør gjenta handlingen bruker vi while. While-løkker repeterer koden så lenge en betingelse er oppfylt.
Løkker brukes for å repeterer en del av koden i et program.
for-løkker repeterer koden for hvert element i et eller annet objekt.
while-løkker repeterer koden så lenge en betingelse er sann.