5.3 Silmukat
Hyvin
usein algoritmi tarvitsee toistoa: Esimerkiksi ohjeet (vuokaavio)
hiekkarannalla toimimiseksi jos nenä näyttää merelle
päin:
Kuva 5.3 do- silmukka ja do-while- silmukka
Ehtolause voi olla joko silmukan alussa: mahdollisuus ettei silmukan runkoa
tehdä yhtään kertaa. Ehto voi olla myös silmukan
jälkeen, jolloin silmukan runko tehdään vähintään
yhden kerran. Joissakin kielissä on lisäksi mahdollisuus silmukan
rungon keskeltä poistuminen.
Silmukoihin liittyy aina ohjelmoinnin eräs klassisimmista vaaroista:
päättymätön silmukka! Tämän takia silmukoita
tulee käsitellä todella huolella. Eräs oleellinen asia on aina
muistaa suorittaa silmukan rungossa jokin silmukan lopetusehtoon vaikuttava
toimenpide. Mitä tapahtuu muuten?
Myös silmukan suorituskertojen lukumäärän kanssa tulee olla
tarkkana. Silmukka tulee helposti suoritettua yhden kerran liikaa tai yhden
kerran liian vähän.
- Mitä eroa
on kahdella edellä esitetyllä "uimaan- meno" - algoritmilla?
Mitä ehtoja algoritmiin voisi vielä lisätä?
- Kirjoita algoritmi lukujen 1- 100 yhteenlaskemiseksi sekä do-
while- että while - silmukan avulla.