Tarkastellaan aluksi jo tuttua if-rakennetta:
if (rahaa > 100) { osta_levyke(); }
Tässä ohjelmanosassa suoritetaan lause (oikeastaan aliohjelman kutsu) osta_levyke() (jonka toteutuksesta ei tässä tarvitse välittää), mikäli muuttujalla rahaa on suurempi arvo kuin 100.
Kun if-sana korvataan sanalla while, saadaan ohjelmanosa:
while (rahaa > 100) { osta_levyke(); }
Kun ohjelmassa tullaan peräkkäisrakenteen ohjaamana while-lauseeseen, se toimii ensin kuten if-lause: aaltosulkeiden välissä olevat lauseet suoritetaan, mikäli ehto on tosi.
Kun on päästy while-lohkon loppuun, palataan while-rakenteen ehto-osaan tutkimaan ehtoa uudelleen.
Mikäli ehto on edelleen tosi, suoritetaan lauseet uudelleen.
Näin jatketaan, kunnes ehto muuttuu epätodeksi.
![]() | Mitä vikaa esimerkissä? |
![]() | Korjattu versio |