While/fi

From Free Pascal wiki

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:

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

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ä).


 1 program whileDemo(input, output, stderr);
 2 
 3 var
 4 	x: integer;
 5 begin
 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;
14 end.

Katso myös


Keywords: begindoelseendforifrepeatthenuntilwhile