torstai 17. joulukuuta 2015

Funktiotunti Tesomalla (jatko)

Jatkoimme 8lk kanssa polynomifunktioihin tutustumista. Kerroin, että polynomifunktioilla voidaan mallintaa vaikka lasten pituuskasvua ja muita oikean elämän ilmiöitä. Selitin, että erilaiset funktiot käyttäytyvät eri tavalla riippuen siitä ilmiöstä jota ne mallintavat. Sitten lähdimme tutustumaan erilaisiin polynomeihin.

Koska oppilaat eivät olleet vielä käyneet polynomeja matematiikan tunnilla niin selitin lyhyesti mikä on polynomi, termi, kerroin, muuttuja, vakio, ensimmäisen ja toiseen asteen polynomi. Sitten teimme funktiot seuraaville polynomeille (yksi funktio kerrallaan):

Koodina nämä näyttäisivät tältä:

(define (p1 x)
    (* 2 x))

(define (p2 x)
    (+ (* -2 x) 3))

(define (p3 x)
    (+ (- (expt x 2)) -3))

Jokaisen funktion koodaamisen jälkeen testasimme sitä interaktioikkunassa:

> (p1 4)
> (p2 10)
> (p3 3)

Ja testaamisen jälkeen teimme piirsimme niiden kuvaajat plot2D - kirjaston avulla (require teachpacks/plot2D):

 (plot2D (list (func p1 0 10)
               (func p2 0 10)
               (func p3 0 10)))


Tässä tuli testattua nyt sekin, että koodaamalla voi opiskella myös hyvin perinteisesti matematiikkaa. Toki mitään WOW-efektiä tässä ei tietenkään synny, ei opettajan eikä oppilaankaan taholta, kuvaajia kun voi piirtää monella muullakin ohjelmalla. Toki tässä on se hyöty, että ei tarvitse opetella montaa ohjelmaa kun samalla ohjelmalla voi hoitaa kaiken (ohjelmointi, kuvaajat jne.)

Vielä kun jostain löytäisi ne polynomifunktiot, jotka mallintavat niitä oikeita pituuskäyriä niin olisi saanut tämänkin asian lähemmäksi todellisuutta...

Ei kommentteja:

Lähetä kommentti