While/fi

From Lazarus wiki
Jump to navigationJump to search

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

while ehto-lauseke do suoritettava lauseke (tai lohko). Tämän luupin yhteydessä toistetaan lauseketta niin kauan kuin ehdon arvo on true. Ehto-lauseke arvioidaan ennen kutakin iterointia, määritetään, suoritetaanko seuraava lohko (tai yksittäinen lauseke). Tämä on tärkein ero repeat until-silmukkaan, jossa lohko suoritetaan joka tapauksessa, mutta seuraavat iteraatiot eivät välttämättä tapahdu.

Seuraava esimerkki sisältää saavuttamattoman koodin:

1program whileFalse(input, output, stderr);
2
3begin
4	while false do
5	begin
6		writeLn('Tätä ei koskaan tulosteta');
7	end;
8end.

Yleensä käytetään while-silmukoita, missä, toisin kuin for-silmukassa, juoksevaa indeksi muuttujaa ei tarvita, suoritettua lohkoa ei voida päätellä indeksistä, jota on lisätty yhdellä tai vältetään break-lausetta (joka yleensä ilmaisee huonoa ohjelmointityyliä).


 1program whileDemo(input, output, stderr);
 2
 3var
 4	x: integer;
 5begin
 6	x := 1;
 7	
 8	// prints non-negative integer powers of two
 9	while x < high(x) div 2 do
10	begin
11		writeLn(x);
12		inc(x, x); // x := x + x
13	end;
14end.

Katso myös


Keywords: begindoelseendforifrepeatthenuntilwhile