While-løkke
En while-løkke er et begreb inden for programmering, som betegner en bestemt type af løkke. Begrebet stammer fra det engelske ord while, som betyder mens/medens, hvilket er fordi løkken gentager sig imens betingelsen er sand. While-løkken bruger man for det meste, når man ikke ved, hvor mange gennemløb man skal have af sine beregninger. Princippet bag en while-løkke er, at operationerne inde i selve løkken skal gennemløbes så længe et vist stop-kriterium er sandt.
En løkke af formen while(true)
vil altså være en uendelig løkke medmindre, at løkken brydes på anden vis. Derimod vil while(false)
aldrig vil blive gennemløbet. I mange tilfælde er stop-kriteriet et boolsk udtryk, men nogle sprog tillader andre udtryk som for eksempel C der bruger heltal hvor nul svarer til falsk og alle ikke-nul værdier svarer til sandt[1].
Eksempel
[redigér | rediger kildetekst]Java
[redigér | rediger kildetekst]Her er et eksempel på, hvordan man i Java kan udskrive alle værdier af i, så længe i² er mindre end hundrede:
public class WhileTest
{
public static void main(args[] a)
{
int i = 1;
while (i * i < 100)
{
System.out.print(i + " ");
i++;
}
}
}
Outputtet for dette program vil således blive:
1 2 3 4 5 6 7 8 9
COBOL
[redigér | rediger kildetekst] * Variabeldefinitioner er udeladt
PROCEDURE-DIVISION.
MOVE 1 TO IDX
COMPUTE ( RES = IDX * IDX )
PERFORM UNTIL RES >= 100
DISPLAY IDX
ADD 1 TO IDX
COMPUTE ( RES = IDX * IDX )
END-PERFORM
STOP-RUN.
I COBOL kan man ikke lave beregninger i en betingelse, så de må laves på forhånd.
C/C++
[redigér | rediger kildetekst] void main(void)
{
int i = 0;
while (i <= 100)
{
printf("%d ", i);
i++;
}
}
Referencer
[redigér | rediger kildetekst]- ^ Kernighan, Brain W.; Ritchie, Dennis M. (1988). The C Programming Language (2nd udgave). Prentice Hall. s. 56. ISBN 0-13-110362-8.