Difference between revisions of "While/fi"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{while}} <syntaxhighlight lang="pascal" enclose="none">while</syntaxhighlight> '''ehto-lauseke''' [[Do/fi|<syntaxhighlight lang="pascal" enclose="none">do</syntaxhighlight>]...")
 
 
Line 1: Line 1:
 
{{while}}
 
{{while}}
  
<syntaxhighlight lang="pascal" enclose="none">while</syntaxhighlight> '''ehto-lauseke''' [[Do/fi|<syntaxhighlight lang="pascal" enclose="none">do</syntaxhighlight>]] '''suoritettava lauseke''' (tai lohko).
+
<syntaxhighlight lang="pascal" inline>while</syntaxhighlight> '''ehto-lauseke''' [[Do/fi|<syntaxhighlight lang="pascal" inline>do</syntaxhighlight>]] '''suoritettava lauseke''' (tai lohko).
Tämän luupin yhteydessä toistetaan lauseketta niin kauan kuin ehdon arvo on [[True/fi|<syntaxhighlight lang="pascal" enclose="none">true</syntaxhighlight>]]. Ehto-lauseke arvioidaan ennen kutakin iterointia, määritetään, suoritetaanko seuraava [[Block|lohko]] (tai yksittäinen lauseke). Tämä on tärkein ero [[Repeat|<syntaxhighlight lang="pascal" enclose="none">repeat … until</syntaxhighlight>-silmukkaan]], jossa lohko suoritetaan joka tapauksessa, mutta seuraavat iteraatiot eivät välttämättä tapahdu.
+
Tämän luupin yhteydessä toistetaan lauseketta niin kauan kuin ehdon arvo on [[True/fi|<syntaxhighlight lang="pascal" inline>true</syntaxhighlight>]]. Ehto-lauseke arvioidaan ennen kutakin iterointia, määritetään, suoritetaanko seuraava [[Block|lohko]] (tai yksittäinen lauseke). Tämä on tärkein ero [[Repeat|<syntaxhighlight lang="pascal" inline>repeat … until</syntaxhighlight>-silmukkaan]], jossa lohko suoritetaan joka tapauksessa, mutta seuraavat iteraatiot eivät välttämättä tapahdu.
  
 
Seuraava esimerkki sisältää saavuttamattoman koodin:
 
Seuraava esimerkki sisältää saavuttamattoman koodin:
Line 17: Line 17:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Yleensä käytetään <syntaxhighlight lang="pascal" enclose="none">while</syntaxhighlight>-silmukoita, missä, toisin kuin [[For|<syntaxhighlight lang="pascal" enclose="none">for</syntaxhighlight>-silmukassa]], juoksevaa indeksi [[Variable|muuttujaa]] ei tarvita, suoritettua lohkoa ei voida päätellä indeksistä, jota on lisätty yhdellä tai vältetään [[Break|<syntaxhighlight lang="pascal" enclose="none">break</syntaxhighlight>-lausetta]] (joka yleensä ilmaisee huonoa ohjelmointityyliä).
+
Yleensä käytetään <syntaxhighlight lang="pascal" inline>while</syntaxhighlight>-silmukoita, missä, toisin kuin [[For|<syntaxhighlight lang="pascal" inline>for</syntaxhighlight>-silmukassa]], juoksevaa indeksi [[Variable|muuttujaa]] ei tarvita, suoritettua lohkoa ei voida päätellä indeksistä, jota on lisätty yhdellä tai vältetään [[Break|<syntaxhighlight lang="pascal" inline>break</syntaxhighlight>-lausetta]] (joka yleensä ilmaisee huonoa ohjelmointityyliä).
  
  

Latest revision as of 17:26, 6 August 2022

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