Trinket ja Turtle

Tavoitteet:

1) Tutustua Trinket-ohjelmointiympäristöön, tehdä oma Trinket-tunnus, tehdä remixejä valmiista koodeista, laatia omaa koodia sekä mahdollisesti jakaa koodia muille käyttäjille.

2) Perehtyä Pythonin grafiikkakirjastoon, joka otetaan käyttöön lisäämällä koodin alkuun import turtle tai from turtle import *. Valitse mieluummin jälkimmäinen.

Ennen tunnuksen tekemistä - tutustu Trinketiin

  1. "Aja" koodia eli valitse valikosta Run ja katso mitä siitä seuraa.

  2. Tee koodiin ainakin seuraavat muutokset (arvosana 8):

        1. Muuta vihreän ympyrän väri punaiseksi.

        2. Muuta ympyröiden paikkoja silminnähtävästi. Huomaa, että piirtoalueen leveyden ja korkeuden arvot vaihtelevat -200 - 200.

        3. Muuta piirtämiseen käytetty aika kaksinkertaiseksi.

        4. Muuta englanninkielinen teksti suomenkieliseksi

  3. Pohdi, mikä Tommyn merkitys on ohjelmakoodissa. (Tämä on hyödyllistä ymmärtää ainakin jossain määrin - opettaja puhuu vielä asiasta.)

  4. Lisätehtävät (arvosana 10)

        1. Sijoita edellisessä kohdassa kaksi (2) ympyröiden paikat piirtoalueen kulmiin.

              1. Muuta koodia lisäksi niin, ettei siirtymisestä jää jälkeä eli piirretään pelkästään täytetyt ympyrät kulmiin.

        2. Sijoita kääntämäsi teksti alueen yläosaan

        3. Sijoita lopuksi kilpikonna tähän asti vapaaksi jääneeseen kulmaan.

Näytä opettajalle, miten muutokset onnistuivat.


Valitse MENUsta Reset, jos koodi meni epäkuntoon ja aloita uudelleen alusta.

Tee sitten oma tunnus Trinketiin

Mene Trinketin sivulle ja rekisteröi uusi tunnus.

Kannattaa ilmoittaa toimiva sähköpostiosoite. Vahvista tunnuksesi linkillä, joka lähetetään sähköpostiin.

Trinket on ohjelmointiympäristö aivan kuten Python IDLE

Voit käyttää Trinketiä "pilvestä" eli netistä. Se onnistuu siis mm. Chromebookilla. Käytämme tällä kurssilla molempia ympäristöjä.

Netissä toimivaan Trinket-ympäristöön pääset tästä linkistä. Kokeile, miten voit valita MENUsta toiminnon Fullscreen (katso aiemmasta kuvasta).

Kun teet omia koodeja, valitse Python

Trinketin maksuton Python-tulkki on sukupolvea 2. IDLEssä on kolmannen sukupolven tulkki.

Vanhempi tulkki ja suppeammat kirjastot eivät kuitenkaan rajoita opiskelua ja oppimista!

Yksi ero saattaa tulla nopeasti vastaan:

PYTHON 2: print "Terve maailma!"

PYTHON 3: print ("Terve maailma")

Python 2:ssa print oli komento, Python 3:ssa siitä on tehty funktio, mitä ilmaisee sulkeiden käyttö.

Saatat törmätä johonkin muuhunkin versioristiriitaan, mutta siitä ei tarvitse olla etukäteen huolissaan. Tämäkin kuuluu ohjelmointiin, sillä kaikki aktiivisessa käytössä olevat ohjelmistotyökalut ovat jatkuvassa muutoksen tilassa.

Esimerkkiohjelman (alla) muuntelu ja täydentäminen

  1. Muuta paikkaa, johon goto-komennolla siirrytään.

  2. Jatka päätepisteestä johonkin uuteen paikkaan vaakasuunnassa.

  3. Jatka uuteen paikkaan pystysuunnassa.

  4. Luo uusi Turtle-tyyppinen olio nimeltään q.

  5. Käske q paikkaan (-100, -100).

  6. Tallenna työsi Trinketiin nimellä Ensimmäinen olio-ohjelma. Kun olet jatkanut toisen tekemästä koodista, kutsutaan tallentamaasi työtäsi remixiksi.

  7. Esittele työsi opettajalle palautetta ja arviointia varten.

Kokeile seuraavaa koodia. Lue koodi ja kommentit huolellisesti

Viivaa voi piirrellä käyttämättä olioita kuten edellä ja ymmärtämättä olioista mitään.

Olioperustainen ohjelmistokehitys on kuitenkin eräs tämän päivän merkittävimmistä ohjelmointiparadigmoista eli lähestymistavoista ohjelmointiin. Kannattaa siis ryhtyä perehtymään olio-ohjelmointiin ja piirrellä viivoja hallitusti olioiden avulla.

TEHTÄVÄ: Muuta seuraavaa koodia siten, että rivillä 23 käsketäänkin oliota jatkamaan piirtämistä. Huomaathan eron!

Koodaa tehokkaasti!

Pelkkä olion käyttäminen ei takaa koodin ammattimaisuutta; viivaa voi piirrellä yksioikoisesti latomalla peräkkäin erilaisia komentoja.

Tämä ei ole kuitenkaan järkevää koodin toistamista. Saman voi toteuttaa tehokkaammin silmukoiden avulla. Tutki oheista koodia ja katso, miten silmukkaa on käytetty.

TEHTÄVÄ: Muuta koodia siten, että pentagonien (viisikulmioiden) sijasta piirretään heksagoneja (kuusikulmiota). Huomannet hyödyn, miksi kannattaa suunnitella koodi tehokkaaksi. Näytä opettajalle työsi tulos.

Loput oppitunnin harjoitustehtävistä

Tallenna kaikki työsi!

Työt voi tehdä joko Trinketissä tai Python IDLEssä. Voit valita, kumman sarjan teet. Voit toki tehdä kummatkin!

Esittele työsi opettajalle sitä mukaa kuin ne valmistuvat: saat palautteen ja työsi merkitään arviointia varten muistiin.

Arvosanan 8½ vaatimukset

  1. Tee ohjelma, joka piirtää tasasivuisen kolmion.

  2. Tee ohjelma, joka piirtää vierekkäin kaksi neliötä.

  3. Tee ohjelma, joka piirtää 8×8-ruudukon. Hyvässä ratkaisussa ei ole peräkkäin pitkä liuta viivanpiirtämiskomentoja vaan silmukkarakenne.

  4. Tee ohjelma, joka piirtää mahdollisimman hienon kuvion.

Arvosanan 10 vaatimukset (sisältää omatoimista selvää ottamista mm. dokumentaatioista)

  1. Tee ohjelma, joka piirtää minkä tahansa tasasivuisen monikulmion. Kulmien määrä annetaan muuttujassa.

  2. Tee ohjelma, joka piirtää vierekkäin muuttujassa annetun määrän neliöitä.

  3. Tee ohjelma, joka piirtää sisäkkäin muuttujassa annetun määrän neliöitä.

  4. Tee ohjelma, joka piirtää 8×8-shakkilaudan. Erota valkeat ja mustat ruudut haluamallasi tavalla.

  5. Muuta edelliset tehtävät 6 - 8 vuorovaikutteisiksi niin, että käyttäjä voi antaa määrän.

Jos aikaa jää, paranna tehtävän 9 koodia sekä visuaalista ratkaisua.


Opettajalle

Alla paperille tulostettava lomake harjoitusten kirjanpitoa varten oppitunnin aikana. Lomakkeen (tiedoston) saa myös kopioida opetuskäyttöön.

Trinket ja Turtle -oppitunnin harjoitusseuranta