• Kilpikonnagrafiikkaa ja vuorovaikutteisuutta

Tavoitteet

Viime kerran tavoitteena oli

  • kerrata ylipäätään Python-ohjelmointia

  • kerrata kilpikonnagrafiikkaa

  • kerrata for-silmukka

  • opetella vakion käyttöä

  • harjoitella toimimaan etänä, jolloin ollaan yhteydessä verkon kautta toisiin (tämä on tavanomaista tämän päivän ohjelmointityössä)

Tällä kertaa edellisen kerran täydentämistä sekä Python-ohjelmoinnin perusteiden jatkamista

  • input

  • muuttujat

      • tyyppi

      • tyypinmuunnos (tarvitaan input-lauseen yhteydessä, mikäli luetaan lukuja)

  • omien funktioiden käyttö


Esimerkkikoodi viime kerran harjoitukseen 1

Tehtävänä oli piirtää tasasivuinen kolmio, jonka sivun pituus on sata.

Esimerkkikoodi viime kerran harjoitukseen 1 laajennettuna vakion käyttämisellä

Esimerkkikoodi input-komennosta, muuttujasta, tyypinmuunnoksesta ja funktiosta

Harjoituksia

Palauttaminen

Tee harjoitukset haluamassasi ympäristössä. Suositeltu tällä kertaa on Trinket.io. Sitä mukaa kuin koodisi valmistuvat, lähetä niistä kopio opettajalle Teamsissa henkilökohtaisessa keskustelussa. Lähetä kopio myös silloin, kun tarvitset vihjeitä tai apua koodin parantamiseen.

Kopio mieluiten tekstimuodossa (siis ei kuvana).

Viimekertaisten harjoitusten jatkaminen

Mikäli haluat jatkaa viimekertaisista harjoituksista, voit tehdä niin.

Harjoitus 1

Kopioi yllä oleva oleva mallikoodi Trinket.io:sta itsellesi ja muuta sitä siten, että lasketaan ympyrän kehän pituus, kun käyttäjältä kysytäänkin halkaisija, eikä sädettä.

Toteuta koodi siten, että kysyttyäsi halkaisijan ja muutettuasi sen liukuluvuksi jaa halkaisija kahdella. Seuraavassa osa koodista:

halkaisija = input("Anna ympyrän halkaisijan pituus")

halkaisija = float(halkaisija)

sade = halkaisija / 2.0

Harjoitus 2

Kopioi mallikoodi ja muuta se siten, että lasketaankin ympyrän pinta-ala, kun käyttäjältä kysytään ympyrän säde. Toteuta pinta-alan laskenta omassa funktiossaan, jonka nimi on laskeYmpyranPintaAla.

Ei haittaa, vaikka edellisen tehtävän funktio laskeYmpyranKehanPituus jäisikin koodiin. Sitä ei vain käytetä. Tämä koskee seuraaviakin harjoituksia. Funktioista onkin tarkoituksenmukaista laatia kirjasto, jota voi aina tarpeen mukaan käyttää.

Harjoitus 3

Kopioi edellinen harjoitus pohjaksi ohjelmalle, jolla lasketaan kuution tilavuus, kun käyttäjältä kysytään kuution särmän pituus.

Tilavuushan lasketaan korottamalla särmän pituus potenssiin kolme. Vaihtoehtoisesti voit laskea tilavuuden myös kaavalla: särmän pituus * särmän pituus * särmän pituus.

Harjoitus 4

Kopioi edellinen harjoitus pohjaksi ohjelmalle, jolla lasketaan suorakulmaisen särmiön tilavuus, kun käyttäjältä kysytään suorakulmaisen särmiön kolmen erisuuntaisen sivun pituus.

  • Tilavuushan lasketaan kaavalla: pituus * leveys * korkeus

Esimerkkejä suorakulmaisista särmiöistä ovat kahvipaketti tai tulitikkuaski.

Harjoitus 5

Laadi ohjelma, jolla lasketaan ympyräkartion tilavuus, kun käyttäjältä kysytään pohjaympyrän säde ja kartion korkeus.

Harjoitus 6

Laadi ohjelma, jossa käyttäjä valitsee ensin, haluaako hän laskea kuution, suorakulmaisen särmiön vai ympyräkartion tilavuuden ja sitten ohjelmassa kysytään laskemiseen tarvittavat tiedot.

Materiaaleja

Teemu Sirkiän pdf-dokumentti Ohjelmoinnin perusteet Pythonilla. Mm. for-silmukasta on hyvät kuvaukset.

Turtle-grafiikan dokumentaatio.