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.

Eksempel Java 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

* 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++

void main(void) { int i = 0; while (i <= 100)

printf("%d ", i); i++;

Referencer

Kategori:Programmering