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:

program whileFalse(input, output, stderr);

begin
	while false do
	begin
		writeLn('Tätä ei koskaan tulosteta');
	end;
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ä).


program whileDemo(input, output, stderr);

var
	x: integer;
begin
	x := 1;
	
	// prints non-negative integer powers of two
	while x < high(x) div 2 do
	begin
		writeLn(x);
		inc(x, x); // x := x + x
	end;
end.

Katso myös


Keywords: begindoelseendforifrepeatthenuntilwhile