×

7. Lisää toistorakenteita

While-silmukka

While-silmukkaa toistetaan, kunnes ehdoksi asetettu parametri ei ole enää totta. Siksi while sopii hyvin tilanteisiin, joissa ei tiedetä kuinka monta kertaa jokin toimenpide pitää tehdä (vrt. for-silmukka), vaan samaa toistetaan, kunnes haluttu lopputulos on saavutettu. Mikäli ehto on tosi, sisennetyt rivit suoritetaan. Kun sisennetyt rivit on suoritettu, ohjelma tarkistaa, onko ehto vieläkin tosi. Jos on, sisennetyt rivit suoritetaan uudestaan. Näin jatketaan, kunnes ehto on epätosi ja ohjelmakoodia jatketaan silmukasta eteenpäin. While-silmukan perusrakenne on siis seuraava: 

While toistoehto: 

tee jotain

muokkaa ehtoa

Vaihtoehtoisesti ehdon ollessa aina tosi (True) silmukan voi pysäyttää if-rakenteen tai break-komennon avulla.

Tehtäviä 

1. Testaa esimerkkikoodia Esimerkki1.

(a.) Mitä ohjelma tekee? 

(b.) Miten saisit luvun 10 tulostumaan?  

2. Testaa esimerkkikoodia Esimerkki2.

(a.) Mitä ohjelma tekee? 

(b.) Vertaa koodia 1. tehtävään ja pohdi miten nämä eroavat.

3. Tee while-silmukkaa hyödyntämällä ohjelma,

(a.) joka tulostaa parilliset luvut 2, 4, 6, 8, 10.

(b.) joka tulostaa parittomat luvut 1,3,5,7,9.

Tee ohjelmat käyttämällä sekä tehtävän 1. että 2. tapaa

4.

(a.) Luo ohjelma, joka kysyy käyttäjältä salasanaa kunnes se on oikein.

(b.) Laajenna ohjelmaa siten, että ohjelma kysyy käyttäjältä sekä käyttäjätunnusta että salasanaa kunnes ne ovat oikein.

 5. Laitat säästöön 100 euroa ja saat korkoa joka vuosi 1 %. Esimerkiksi vuoden päästä koossa on 101 euroa ja kahden vuoden päästä koossa on 102.01 euroa. Monenko vuoden päästä säästössä oleva summa on ensimmäistä kertaa yli tuhat euroa?

6. Tee arvauspeli, jossa käyttäjällä on 5 arvausta yrittää keksiä luku väliltä 1-10.

7. Tee oma ohjelma, jossa hyödynnät jotakin toistorakennetta. Kerro käyttämällä kommentteja, mitä se tekee. 

Palautus

 Tallenna vastauksesi Classroomissa olevaan portfolioon. 

Opetellaan ohjelmoinnin alkeita; opetellaan loogista ajattelua ja harjoitellaan yksinkertaisen koodin kirjoittamista sekä syvennetään matematiikan osaamista oppilaiden kiinnostuksen mukaan. Tarkoituksena on opetella ohjelmoinnin alkeita ainakin yhdellä ohjelmointikielellä ja syventää matematiikan osaamista.