Uendelig løkke

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg

En uendelig løkke er, i et computer-program, en sekvens af instruktioner, som udføres uden ende.

En løkke er en mængde instruktioner til CPU'en, som udføres så længe en bestemt betingelse er opfyldt. En uendelig løkke forekommer, hvis denne betingelse altid vil være opfyldt. Eksempelvis hvis vi laver et program, som starter ved 1 og tælle en op så længe tallet er større en 0 (nul). Et andet eksempel kan være, at flere funktioner kalder hinanden eller en enkel kalder sig selv.

I de fleste tilfælde med uendelige løkker, er disse bugs, som er det, man normalt tænker på i forbindelse med uendelige løkker, med der er visse situationer, hvor uendelige løkker er en nødvendighed. For eksempel en webserver, der uendeligt venter på en anmodning fra en klient.

Eksempler[redigér | redigér wikikode]

Et simpelt eksempel i BASIC:

 10 x = x + 1
 20 Print x
 30 GoTo 10

I ovenstående eksempel er løkken tydelig at se, da sidste linje udfører koden fra første linje.

Her er et eksempel på en for-løkke:

 for (i = 1; i > 0; i++)
 {
   print i;
 }

Denne løkke vil starte med at sætte variablen i til 1. Så længe i er større end nul, bliver koden kørt (print i), hvorefter i vil tælle én op. Da i altid er større end nul, kører løkken teoretisk set uendeligt. Det vil sige, praktisk talt stopper programmet, når i har nået sin maksimale integer-værdi.

En funktion, der kalder sig selv:

 function loekke ()
 {
   print "Dette er en uendelig løkke.";
   loekke();
 }

Denne funktion skriver en besked, hvorefter den samme funktion bliver kaldt igen. Ergo: funktionen kører uendeligt.