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