
9. luokka
IT
python ohjelmointi for-silmukka
Monissa ohjelmissa on tavoitteena, että saadaan tietokone toistamaan samaa asiaa automaattisesti. Tämä tarkoittaa usein, että ohjelmassa on silmukka, jonka sisällä on toistettava koodi.
For-silmukka
Tällä tunnilla käydään läpi for-silmukkaa, jossa ohjelma käy läpi joukon tietoa ja suorittaa jokaisen kohdalla saman koodin. for-silmukassa on etukäteen oltava tiedossa toistokertojen määrä. For-silmukan rakenne on seuraava:
for i in alkiot:
tee alkioille jotain
For-silmukan toistojen lukumäärä voidaan määritellä range() -funktiolla. Esimerkiksi range(n) tarkoittaa, että silmukka käy läpi n ensimmäistä kokonaislukua nollasta alkaen eli luvut 0….n-1. Sen sijaan range(a,b) tarkoittaa että käydään läpi luvut a:sta b-1:n. Merkintä range(a,b,c) tarkoittaa, että luku kasvaa vielä c:llä joka askeleen jälkeen.
Tehtäviä
1. Testaa esimerkkikoodia Esimerkki1.
(a.) Mitä ohjelma tekee? Mitä etua koodista on?
(b.) Miksi toinen rivi on sisennetty?
2. Testaa esimerkkikoodia Esimerkki2.
(a.) Mitä ohjelma tekee? Mitä etua koodista on?
(b.) Miksi on luotu muuttuja summa.
(c.) Mitä tarkoittaa merkintä += ?
3. Tee for-silmukkaa käyttämällä ohjelma,
(a.) joka tulostaa luvut 1,2,3,...,10
(b.) joka tulostaa parilliset luvut 2, 4, 6, 8, 10.
(c.) joka tulostaa parittomat luvut 1,3,5,7,9.
4. Tee ohjelma, joka laskee neliöiden summan 12+22+32+...+502 (vastaukseksi pitäisi tulla 42 925)
5. Tee ohjelma, joka kysyy käyttäjältä luvun (1-10) ja tulostaa ko. luvun kertotaulun. Esimerkiksi käyttäjän syöttäessä 7 ohjelma tulostaa:
7 * 0 = 0
7 * 1 = 7
...
7 * 9 = 63
7 * 10 = 70
6. Tee ohjelma, joka tulostaa luvut 1...50 niin, että joka toinen luku on pienin luku, jota ei ole vielä tulostettu, ja joka toinen luku on suurin luku, jota ei ole vielä tulostettu.
Ohjelman tulee siis tulostaa luvut järjestyksessä 1, 50, 2, 49, 3, 48, jne.
7. Fibonaccin lukujonossa ideana on laskea yhteen kaksi edellistä lukua, ja näin saada seuraavan luvun arvo. Fibonaccin lukujonon ensimmäiset kymmenen lukua järjestyksessä ovat 0, 1, 1, 2, 3, 5, 8, 13, 21, 34. Tee ohjelma, joka tulostaa Fibonaccin lukujonon ensimmäiset 50 lukua.
Vinkki: Fibonaccin lukujonon kaksi ensimmäistä lukua ovat 0 ja 1. Kannattaa ehkä lähteä liikkeelle tekemällä muuttujat a=0 ja b=1.
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.