Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

2. Funktiot ja kuvaajat

Funktioiden avulla ongelmat ratkeavat

Sana funktio tulee latinasta ”fungi” sanasta, joka tarkoittaa ”tehdä, toimia, toimittaa”. Matematiikassa funktiolla tarkoitetaan olioiden välisiä riippuvuussuhteita, eli sitä että funktio kuvaa säännön sille miten A:sta saadaan B. Käytännössä funktion avulla voidaan siis kuvata se laskusääntö, jonka avulla vaikka neliön sivun pituudesta x saadaan laskettua neliön pinta-ala A. Sivun pituutta tässä kutsutaan muuttujaksi ja neliöfunktion matemaattinen merkintä olisi A(x) = x * x. Pinta-alan A voi nyt laskea tämän säännön mukaisesti eri muuttujan arvoilla x. Näitä muuttujan arvoja kutsutaan argumenteiksi. Funktioilla voi myös olla monta muuttujaa, esim. suorakulmion pinta-alan funktiossa kanta x ja korkeus y. Erityistä funktioille on se, että se tuottaa aina saman tuloksen kun sitä kutsutaan samalla muuttujan arvoilla, eli joka kerta kun halutaan laskea neliön pinta-ala A(3), tulos on aina 9. Racket-ohjelmoinnissa funktiot näyttävät hieman erilaisilta kuin matematiikan merkinnöissä, mutta ne toimivat täysin samalla tavalla: niiden avulla esitetään yleinen sääntö muuttujien avulla, näitä funktioita voidaan kutsua eri argumenteilla ja funktio palauttaa aina paluuarvon.

Koska funktioiden avulla voidaan ilmoittaa riippuvuuksia, on käytännöllistä piirtää niistä kuvaajia. Kuvaajien avulla saamme visualisoitua sen miten riippuvuus käyttäytyy eri muuttujan arvoilla: ovatko suureet toisiinsa nähden suoraanverrannollisia, kääntäen verrannollisia jne. Kuvaajien avulla voidaan nopeasti nähdä milloin funktio saa maksimin tai minimin, milloin kahdella funktiolla on sama arvo (leikkauspiste) jne. Kuvaajien piirtämiseen Racket-kielellä tarvitset plot-kirjaston.

Jotkut asiat riippuvat toisistaan hyvinkin monimutkaisesti eikä sääntöä voida ilmoittaa yhdellä rivillä koodia vaan tulosta joudutaan laskemaan pienissä paloissa, useita kierroksia, ns. silmukassa. Tällaisia laskutoimituksia kutsutaan rekursiivisiksi. Rekursiivinen funktio kutsuu itse itseään, ja lopettaa silmukan toistamisen vasta sitten kun lasku on tullut valmiiksi. Nämä funktiot ovat erittäin kätevä antaa tietokoneen laskettaviksi, koska niiden laskeminen käsin olisi hyvin työlästä ja hidasta.

2.1. Funktion määrittely ja kuvaajan piirtäminen