Funktio Scratch-Python

Python-klubi_banneri_iso

turtle_vasemmalle_animation_xsmall Edellinen Etusivu  Seuraava turtle_oikealle_animation_xsmall

Funktio Scratch-Python

Funktio on ohjelmoinnissa eräänlainen aliohjelma, jota voidaan kutsua suorittamaan siihen ohjelmoidut tehtävät. Funktioihin voi syöttää arvoja, joita kutsutaan parametreiksi. Arvojen avulla pääsee vaikuttamaan funktion lopputulokseen. (Ohjelmointisanasto Aalto[1], Ohjelmointi- ja tietokonealan sanasto[2])

Funktion luominen Scratch-ohjelmassa

Funktio luodaan Scratch-ohjelmassa “Lisää lohkoja” -valikossa.

lisaa_lohkoja.png Pythonissa uusi funktio luodaan näin: def funktion_nimi():

Esimerkkinä tehdään funktio, joka tekee suorakulmia. Suorakulmaan voi antaa arvoja:
1. x- ja y-koordinaatit, jotka määrittävät, minne suorakulmio piirretään näyttämöllä.
2. Kanta ja korkeus, jotka määrittävät suorakulmion koon.
3. Väri, joka määrittää, millä värillä suorakulmio piirretään näyttämölle.

Ensiksi valitaan “Tee lohko”.

Funktio_tee_lohko.png

Annetaan funktiolle nimi “Suorakulmio”:

Funktio_annetaan_nimi.png Pythonissa sama kävisi näin: def Suorakulmio():

Seuraavaksi klikataan “Vaihtoehdot” vieressä olevaa kolmiota, jolloin näkymä laajenee. Valitaan “Teksti”:

Funktio_valitaan_Teksti.png

Kirjoitetaan tekstiksi “x”:

Funktio_teksti_x.png

Seuraavaksi valitaan “Lisää numerosyöttö:” -kuvake:

Funktio_numerosyotto.png

Kirjoitetaan numerosyöttöön “x”:

Funktio_numerosyotto_x.png

Lisätään uusi teksti ja kirjoitetaan siihen “y”:

Funktio_teksti_y.png

Lisätään uusi numerosyöttö ja kirjoitetaan siihen “y”:

Funktio_numerosyotto_y

Tehdään samat asiat vielä nimillä “kanta”, “korkeus” ja “väri”:

Funktio_x_y_kanta_korkeus_vari.png Pythonissa sama asia tehtäisiin näin: def Suorakulmio(x, y, kanta, korkeus, väri):

Klikataan “OK”.

Seuraavaksi teemme funktiota ohjaavan koodin. Lisätään koodiin aluksi “kynä ylös” -palikka, jotta piirtäminen ei ala liian aikaisin:

Funktio_kyna_ylos.png

Seuraavaksi laitetaan “aseta kynälle väri” -palikka ja raahataan siihen violetista “määrittele…” -palikasta sininen “väri” -parametri. Se kloonautuu automaattisesti. Tämä asettaa värin, jolla suorakulmio piirretään. Esim. “0” on punainen, “70” vihreä ja “130” punainen. Lopputulos näyttää tältä:

Funktio_aseta_kynalle_vari

Seuraavaksi laitetaan “mene kohtaan x: y:” -palikka ja raahataan siihen violetista “määrittele…” -palikasta siniset “x”- ja “y” -parametrit. Tämä määrittää, mihin kohtaan suorakulmio piirretään x- ja y-koordinaateilla:

Funktio_mene_kohtaan.png

Seuraavaksi laitetaan “kynä alas” -palikka.

Funktio_kyna_alas.png

Seuraavaksi laitetaan “muuta x:n arvoa” -palikka ja raahataan siihen sininen “kanta” -parametri. Tämä piirtää suorakulmion kannan halutun pituiseksi.

Funtio_muuta_x_arvoa.png

Seuraavaksi laitetaan “odota 1 sekuntia” -palikka, jotta silmä ehtii nähdä piirtämisen eri vaiheet paremmin:

Funktio_odota_1_sekuntia.png

Seuraavaksi tehdään samat asiat “muuta y:n arvoa” -palikan, “korkeus” -parametrin ja “odota 1 sekuntia” -palikan kanssa:

Funktio_muuta_y_arvoa

Seuraavaksi laitetaan “muuta x:n arvoa” -palikka uudestaan, mutta tällä kertaa tehdään “kanta” parametrista negatiivinen arvo näin:

Funktio_muuta_x_arvoa_neg.png

Seuraavaksi tehdään sama asia “muuta y:n arvoa” -palikalle ja “korkeus” -parametrille:

Funktio_muuta_y_arvoa_negat.png

Lopuksi lisätään vielä “kynä ylös” -palikka, jotta piirtäminen päättyisi:

Funktio_koko_koodi_suorakulmio.png Pythonissa sama kävisi näin:

import turtle
import time

kilpis = turtle.Turtle()

def Suorakulmio(x, y, kanta, korkeus, vari):
  kilpis.penup()
  kilpis.color(vari)
  kilpis.goto(x, y)
  pos = kilpis.position()
  time.sleep(1)
  kilpis.pendown()
  kilpis.forward(kanta)
  time.sleep(1)
  kilpis.left(90)
  kilpis.forward(korkeus)
  time.sleep(1)
  kilpis.left(90)
  kilpis.forward(kanta)
  time.sleep(1)
  kilpis.left(90)
  kilpis.forward(korkeus)
  time.sleep(1)
  kilpis.penup()
  kilpis.left(90)
  kilpis.hideturtle()
  
Suorakulmio(0, 0, 100, 70, "blue")

Uusi palikka näyttää tältä. Numeroita muuttamalla saa piirrettyä halutun kokoisia ja värisiä suorakulmioita näyttämölle:

Funktio_Suorakulmio-palikka.png Pythonissa se näyttäisi tältä: Suorakulmio(0, 0, 100, 70, "blue")

 

Lähteet


  1. Sanasto — Ohjelmointi 1, kurssimateriaali. Katsottu 9.5.2016 20:25. https://greengoblin.cs.hut.fi/o1_s2014/course/yleista/sanasto.html  ↩
  2. OHJELMOINTI JA TIETOKONEALAN SANAKIRJA. Katsottu 9.5.2016 20:28.http://www.netikka.net/herala/Sanak.html  ↩