peda.net¤-mate… · web viewkopioi tekemiesi harjoitusten koodi ja tallenna word tiedostona,...
TRANSCRIPT
9 lk ohjelmointi Ohjelmointikielenä käytetään pythonia ja harjoitukset tehdään
osoitteessa http://sade-oppiminen.herokuapp.com Kopioi tekemiesi harjoitusten koodi ja tallenna word tiedostona,
jonka palautat pedanettiin.
Kertausta#Harjoitus1.
Tulosta oma nimesi (etunimi + sukunimi) Tulosta lause ”Tänään on maanantai.”
oMuistathan, miten ä-kirjain saatiin tulostettua?!
# Harjoitus 2. Apumuuttujat ja lukujen ja tekstin yhdistäminen Keksi kaksi muuttujaa (esim. luku1 ja luku2) ja anna niille arvot,
jotka ovat desimaalukuja. Määritä apumuuttujat summa, erotus, tulo, osamäärä ja potenssi. Tulosta apumuuttujien arvot.
oÄlä siis kirjoita laskutoimituksia suoraan luvuilla, vaan käytä muuttujien ja apumuuttujien nimiä.
Esim.
Tulosta myös erotus, tulo ja osamäärä, sekä potenssilasku, jossa luku1 on kantaluku ja luku2 eksponentti!
Kertaa luvun muuttaminen tekstiksi str( ) komennolla: Määritä vielä kolmas muuttuja (luku3). Kopioi alla olevan kuvan mukaiset koodit ja tutki tarkasti mitä eroa niillä ja niiden tulosteissa on.
Käytä määrittämiäsi muuttujia (luku1 ja luku2) ja apumuuttujia ja tulosta lause:
”Lukujen _______ ja _______ summa on _______, erotus on _______, tulo on _______ ja osamäärä on_______. ”
Viivoille pitää siis tulostua määrittelemiesi muuttujien ja apumuuttujien arvot. Kiinnitä huomiota siihen välilyönnit ovat oikeilla paikoilla (pilkun ja pisteen eteen ei tule välilyöntiä, jälkeen tulee).
Jakojäännöksen laskutoimitusmerkki on %. Määritä muuttujat (luku4 ja luku5), joille annat
kokonaislukuarvot siten, että luku4 > luku5. Määritä tarvittavat apumuuttujat ja tulosta niitä käyttäen
lause:
”Luku _____ jaettuna luvulla _____ on ______ ja jää ________.”
# Harjoitus 3. Neliöjuuri ja Pythagoraan lause Neliöjuuren määritelmä on, että √a = a
12, eli eksponenttina on
murtoluku ½. Yleisesti n√a = a1n.
Tutki tätä laskemalla pythonilla esim. lasku √25
Määritä muuttujat a ja b, jotka ovat suorakulmaisen kolmion kateetit.
Tee ohjelma, joka laskee suorakulmaisen kolmion hypotenuusan pituuden annetuilla kateettien arvoilla. Vinkki: Kopioi tekemäsi Pythagoraan lauseen ratkaisu seuraavaan harjoitukseen!
# Harjoitus 4. Ympyräkartion tilavuuden ja pinta-alan laskeminen Määritä apumuuttujat säde ja korkeus (voit merkitä niitä r ja
h) sekä pii. Anna piille arvo 3,141592654. Tee ohjelma, joka
o laskee ympyräkartion sivujanan pituuden syötetyillä säteen ja korkeuden arvoilla.
okäyttää laskemaansa sivujanan arvoa ja laskee ympyräkartion tilavuuden ja pinta-alan ja tulostaa tekstin:
”Jos ympyräkartion säde on _______ ja korkeus _______, on sen sivujanan pituus _______, pinta-ala _______ ja tilavuus_______.”
# Harjoitus 5. Näytölle tulostuva kysymys, vertailuoperaattorit ja ehtolause Kertaa input() toiminnon käyttö tekemällä alla olevan mallin
mukaan ohjelma, joka kysyy käyttäjän nimeä ja sen jälkeen tervehtii käyttäjää tämän nimellä.
Kertaa vertailuoperaattorit ja ehtorakenteen if - else käyttäminen. Tee ohjelma, joka tutkii, onko syötetty luku positiivinen vai negatiivinen ja tulostaa lauseen:”Luku ______ on positiivinen.” tai lauseen”Luku ______ on negatiivinen.”
# Harjoitus 6. Merkkijonon muuttaminen luvuksi Merkkijono muutetaan kokonaisluvuksi int-komennolla tai
desimaaliluvuksi float-komennolla. Esimerkiksi tehdään ohjelma, joka laskee käyttäjän antamien
lukujen tulon. Kirjoita ohjelma mallin mukaan ja kokeile sen toimimista.
Ohjelma ei toimi, koska ohjelma tulkitsee käyttäjän vastaukset merkkijonona, eikä pysty tekemään niillä laskutoimituksia.
Korjaa ohjelma niin, että käyttäjän antama vastaus muutetaan kokonaisluvuksi int-komennolla. Nyt ohjelma pystyy laskemaan tulon.
Muokkaa ohjelmaa vielä niin, että vastaus tulostuu kokonaisena lauseena:
# Harjoitus 7. Muutosprosentin laskeminenTee ohjelma, joka
kysyy käyttäjältä, mikä oli tuotteen hinta aluksi ja mitä se oli lopuksi. Muuta käyttäjän vastaus desimaaliluvuksi float-komennolla.
tutkii, onko hinta laskenut vai noussut. laskee, kuinka monta prosenttia hinta on muuttunut. tulostaa lauseen:
”Hinta on laskenut _______prosenttia.” tai lauseen”Hinta on noussut _______ prosenttia.”
Huom! Muutoksen pitää tulostua positiivisena, olipa hinta muuttunut mihin suuntaan hyvänsä!
Opitaan uutta# Harjoitus 8. For silmukkarakenne
Jos tiettyä komentoa halutaan toistaa useamman kerran, se voidaan sijoittaa silmukkarakenteen sisään.
Silmukkarakenteeseen kuuluvat komennot sisennetään. For silmukkarakenteeseen tarvitaan laskuri, joka laskee toistokertojen
lukumäärän. Toistojen lukumäärä ilmoitetaan komennolla range(). Kierrosten laskeminen alkaa nollasta ja päättyy yhteen ennen viimeistä arvoa, ellei muuta määrätä.
Silmukka eli toistorakenne for
Luku, josta Luku, jota ennen laskeminen alkaa. laskeminen päättyy.
Siirtymä lukujen välillä.
for laskuri in range(alku, loppu, askel):
Toistettavaksi haluttu tapahtuma.
Tutustu silmukkarakenteen ja range()-komennon käyttöön kopioimalla alla olevat koodit ja tutkimalla, mitä ohjelma tulostaa.
Silmukka toistetaan kolme kertaa.
Silmukka alkaa luvusta 1 ja päättyy yhden luvun ennen lukua 10.
Silmukka alkaa luvusta 0 ja päättyy yhden luvun ennen lukua 16. Siirtymä lukujen välillä on 3, eli ohjelma tulostaa joka kolmannen luvun.
Ohjelma tulostaa luvun viisi kertotaulun. Lukujono tulostuu yhdelle riville, kun tulostuskomennon lopussa on pilkku.
Ohjelma tulostaa lukuja alaspäin luvusta 10. Tulosteen luvut erotetaan pilkulla.
Tee for silmukkaa käyttäen ohjelma, joka tulostaa kaikki parilliset luvut väliltä 1-20 (myös luvun 20). Tulosta luvut samalle riville siten, että lukujen välissä on pilkku.
Tee ohjelma, joka tulostaa edellisen tehtävän luvut käänteisessä järjestyksessä, suurimmasta pienimpään.
Keksi, mikä on laskusääntö, jolla on saatu tulostettua alla oleva lukujono. Tee for silmukalla ohjelma, jolla saat saman tulosteen. Silmukan pitää siis sisältää jokin laskutoimitus, kuten edellisen sivun neljännessä esimerkissä.
# Harjoitus 9. Sisäkkäiset silmukkarakenteet Silmukkarakenteita voi kirjoittaa sisäkkäin. Ulompi silmukkarakenne
etenee vasta sitten, kun sisempää silmukkaa on toistettu haluttu määrä.
Tee ohjelma, joka kertoo luvut 1 – 4 luvuilla 5 ja 10. o Määritä uloimman silmukan silmukakkamuuttujaksi laskuri 1. Tämä
muodostaa luvut 1-4.o Määritä sisemmän silmukan silmukakkamuuttujaksi laskuri 2. Tämä
ottaa mukaan viidellä jaolliset luvut väliltä 1 – 10, jolloin kertojiksi saadaan luvut 5 ja 10.
o Tulosteeseen tulostetaan näkyviin kertolasku ja sen vastaus.
Sisäkkäiset silmukat
for laskuri1 in range(alku, loppu, askel):
for laskuri2 in range(alku, loppu, askel):
Toistettavaksi haluttavat tapahtumat.
oMalli halutusta tulosteesta ja tarvittavasta koodista:
Tee ohjelma, joka tulostaa kaikki kertotaulut 1 – 10. Tulosteessa pitää näkyä, mitkä luvut kerrotaan ja mikä on niiden vastaus. Esimerkiksi tulosteessa näkyy 7*8 =56.
# Harjoitus 10. Piirtämistä Turtle-ohjelmoinnilla Python-kielessä piirtämiseen käytetään niin sanottua Turtle-
ohjelmointia. Jotta Turtle-komennot ovat käytettävissä, pitää kyseinen kirjasta tuoda ohjelmaan import -toiminnolla. Ohjelman alussa luodaan myös piirtoalue ja annetaan konnalle nimi.
Kirjoita ohjelman alkuun seuraavat rivit:
Tee oheisen mallin mukaisesti ohjelma, joka piirtää suunnikkaan, jonka sivujen pituudet ovat 200 ja 150 yksikköä ja niiden välinen terävä kulma 30°.
Tee ohjelma, joka käyttää for-silmukkarakennetta ja piirtää neliön, jonka sivun pituus on 200 yksikköä. Määritä nyt sivun pituus vain yhden kerran!
# Harjoitus 11. Monikulmion piirtäminen Tee ohjelma, joka hyödyntää silmukkarakennetta ja piirtää halutun
säännöllisen monikulmion. o Piirrä ensin tasasivuinen kolmio. o Pyydä käyttäjältä tieto, kuinka monta kärkipistettä monikulmiossa
on. esim. kuusikulmiossa on kuusi kärkipistettä. oMuista muuntaa käyttäjän antamat vastaukset
kokonaislukumuuttujiksi (int).o Tee for silmukka, jota toistetaan kärkipisteiden lukumäärän verran.oMääritä eteenpäin liikuttava matka.oMääritä kääntymiskulma. Se saadaan jakamalla 360° kärkipisteiden
lukumäärällä.o Testaa ohjelma. o Kokeile ohjelman toiminta viisikulmiolla ja kahdeksankulmiolla.
Lisätehtävä: Tee ohjelma, joka tulostaa mallin mukaisen kuvion.
oKuvion perusmuoto on neliö, jonka sivun pituus on 150 yksikköä.
oNeliöitä on kuviossa kymmenen.oKun yksi neliö on valmis, käännytään 36° ja piirretään uusi neliö.oKääntyminen on osa ulompaa silmukkarakennetta.