Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

1.3 Kulmakerroin ja vakiotermi

Suoraan verrannollisuus on kahden suureen välinen riippuvuus, jossa suureiden välinen suhde pysyy aina samana. Jos toinen suure kolminkertaistuu, myös toinen suure kolminkertaistuu. Vastaavasti jos toinen suure puolittuu, myös toinen puolittuu.

Suoraan verrannollisuuden kuvaaja koordinaatistossa on suora, joka kulkee origon kautta. Alle on piirretty omenoiden määrän ja niistä maksettavan hinnan välinen riippuvuus. Kuvaajalta voidaan lukea esimerkiksi kuinka paljon maksaa 4 kiloa omenoita tai kuinka paljon omenoita voi ostaa 5 eurolla, kun kilohinta on 2 €.

Mitä enemmän y:n arvo kasvaa x:n kasvaessa, sitä jyrkemmin kuvaaja nousee vasemmalta oikealle tarkasteltaessa. Tämän x:n edessä olevan kertoimen nimi on kulmakerroin. Kulmakerroin lyhennetään usein kirjaimeksi k.

Ylläolevassa kuvissa on kuusi suoraa. Jyrkimmin nousee suora y = 4x, koska sillä on suurin kulmakerroin (k = 4). Kun kulmakerroin on negatiivinen, suora laskee oikealta vasemmalle tarkasteltaessa. Jyrkimmin laskee suora y = –5x, koska sillä on pienin kulmakerroin (k = –5). Suoran kulmakerroin voi olla myös nolla. Tällöin suora kulkee vaakasuoraan.

Lineaarinen riippuvuus kahden suureen välillä tarkoittaa suoraviivaista riippuvuutta. Riippuvuuden kuvaaja on suora, mutta suora ei välttämättä kulje origon kautta. Suoran yhtälössä on nyt kaksi lukua: kulmakerroin (k) joka määrittää suoran nousevuuden tai laskevuuden sekä vakiotermi (b), joka nostaa tai laskee suoraa koordinaatistossa.

Suoran yhtälön ratkaistu muoto:

Vakiotermi määrittää y-akselin leikkauspisteen sijainnin: x:n ollessa 0, ainut y:n arvoon vaikuttava tekijä on vakiotermi. Mikäli vakiotermi on arvoltaan vaikkapa 5, suora leikkaa y-akselin kohdassa (0, 5) riippumatta kulmakertoimen arvosta.

Ylläolevassa kuvassa on kolme suoraa. Niiden kaikkien kulmakerroin on 2, joten ne nousevat yhtä jyrkästi (ne ovat yhdensuuntaisia). Suoran y = 2x +4 vakiotermi on 4, joten suora leikkaa y-akselin kohdassa (0, 4). Suoralla y = 2x ei näy vakiotermiä laisinkaan, sen arvo on nolla, joten suora leikkaa y-akselin kohdassa (0, 0).

Esimerkki 1.

Mikä on suoran kulmakerroin, vakiotermi, missä pisteessä suora leikkaa y-akselin, ja onko suora nouseva vai laskeva?

    1. y =  –4x +5
    2. y = 3x
    3. y = 2x – 3

Vastaukset:

    1. k =–4, b = 5, leikkauspiste (0, 5), laskeva
    2. k = 3, b = 0, leikkauspiste (0, 0), nouseva
    3. k = 2, b = –3, leikkauspiste (0,  –3), nouseva

 

Suoran yhtälöä voidaan analysoida Pythonin avulla. Tätä varten se pitää syöttää merkkijonona, joka pilkotaan osiksi tiettyjen merkkien kohdalta. Koska suoran yleinen muoto on y = kx + b, merkkijono kannattaa katkaista =-merkin sekä x:n kohdalta. Näin saadaan poimittua osat y, k ja b, joista y:tä ei tarvita analysointiin. Merkkijonon katkaiseminen tietyn merkin kohdalta onnistuu split() komennolla. Komento luo uudet merkkijonot, joissa katkaiseva merkki ei enää näy, ja tekee niistä listan. Split ei siis muokkaa alkuperäistä merkkijonoa. Siksi lista kannattaa tallentaa johonkin muuttujaan.

Esimerkki 2.

Pilkotaan sana ’esimerkki’ e-kirjaimien kohdalta. E-kirjaimet eivät tule pilkottuihin osiin mukaan.

Tuloste:

Esimerkki 3.

Poimitaan pilkotusta merkkijonosta tietty osa sen indeksin avulla. Huomioi että indeksointi alkaa nollasta eikä ykkösestä.

Tuloste:

 

Rakennettaessa monimutkaisempaa koodia kannattaa usein lähteä liikkeelle yksinkertaisesta perustapauksesta, jolle on helppo rakentaa toimiva koodi. Pikkuhiljaa koodia monipuolistetaan. Usein koodin on tarkoitus toimia hieman eri tavoin riippuen siitä, minkälaista tietoa ohjelmalle syötetään. Tällainen toiminnallisuus toteutetaan if – elif – else –haarojen avulla.

Seuraavassa esimerkissä esitetään, miten suoran yhtälöstä saadaan selville kulmakerroin ja vakiotermi. Esimerkki on pätkitty eri versioihin, jotta koodin kehittyminen yhä paremmaksi näkyy selvästi.

Esimerkki 4. Etsitään suoran y = 3x – 5 kulmakerroin ja vakiotermi.

Versio 1: Suoran yhtälö täytyy katkaista kahdesti. Ensimmäinen katkaisu kannattaa tehdä = merkin kohdalta.

Tuloste:

Versio 2. Koska alkuosaa (eli pelkkä y) ei tarvita, poimitaan vain loppuosa indeksin avulla. Loppuosan indeksi on 1 (koska indeksointi alkaa nollasta):

Tuloste:

Versio 3. Loppuosa pitää katkaista x:n kohdalta jolloin saadaan erotettua kulmakerroin k ja vakiotermi b. Poimitaan ne, tallennetaan muuttujiin ja tulostetaan:

Tuloste:

Versio 4: Kulmakerroin ja vakiotermiä tulostettaessa mahdolliset välilyönnit lisäävät turhia merkkejä tulostukseen. Ne saadaan pois muokkaamalla alkuperäistä suoran yhtälöä replace-komennolla. Nyt välilyönti ’ ’ korvataan tyhjällä ”:

Tuloste:

Versio 5. Suoran yhtälössä ei aina ole vakiotermiä. Tällöin muuttujaan b ei tallennu mitään (rivi b = loppuosa.split(’x’)[1]). Tyhjän merkkijonon pituus on nolla. Merkkijonon pituuden saa selville len()-komennolla. Lisätään koodiin ehto (rivit 27-28), jolla puuttuvaksi vakiotermiksi määritellään nolla:

Tuloste:

Versio 6. Jos suora on x-askelin suuntainen (esim suora y = –2), siltä puuttuu kokonaan kulmakerroin (sen arvo on nolla). Suoran yhtälössä ei esiinny termiä x laisinkaan. Tällöin rivi b = loppuosa.split(’x’)[1] aiheuttaa virheen, koska muuttujassa loppuosa on vain yksi merkkijono; –2, eikä kirjainta x laisinkaan. Korjataan koodi siten, että jos muuttuja loppuosa ei sisällä kirjainta x (rivi 25), niin k:n arvoksi asetetaan nolla (rivi 26) ja vakiotermi osa suoraan sama kuin muuttuja loppuosa (rivi 27). Muutoin (rivi 28)  k ja b määritellään kuten aiemminkin (rivit 29-30).

Tuloste:

Versio 7. Tehdään vielä muutos y-akselin suuntaisia suoria ajatellen (esim x = 3). Virheilmoitusta ei tule, mutta k:n ja b:n arvot ovat silti väärin. Kulmakertoimen arvoa ei voida määritellä, se on ääretön eli ∞. Koodin muokkauksessa apuna on se tieto, että muuttuja suora ei sisällä y-merkkiä laisinkaan. Lisätään ehtolause, jolla tutkitaan on muuttujassa suora merkkiä y (rivi 44). Jos merkkiä ’y’ ei ole, ilmoitetaan k:n arvoksi ääretön ja vakiotermiä ei ole olemassa (rivit 45 – 46). Samalla aikaisempi if –haara muuttuu elif-haaraksi (rivi 47).

Tuloste:

Versio 8. Viimeistellään koodi ajatellen suoria y = x ja y = –x. Ylläoleva koodi antaisi niille kulmakertoimen arvoksi tyhjän sekä pelkän miinuksen. Muutokset ovat riveillä 76 – 79.

 

Harjoituksia kulmakertoimesta ja vakiotermistä.

1. Mitä seuraavan koodin riville 29 tulee kirjoittaa, jotta ohjelma toimisi oikein (käyttäjältä kysytään kulmakertoimen arvo, joka jälkeen ohjelma piirtää suoran)

 

2. Mitkä ovat seuraavien suorien kulmakertoimet ja vakiotermit? Tarkista tulos kopioimalla esimerkin 4 versio 8 koodi, ja vaihda suoran yhtälö.

    1. y = –2x + 4
    2. y = x
    3. y = 5x – 2
    4. y = –x
    5. y = 4
    6. x = 2

 

3. Alla on erään pelin ohjelmakoodi.

    1. Mitä suure on koodin muuttuja v? (riveillä 9, 21 jne)?
    2. Tutustu ensin alla olevaan koodiin. Random-, while- ja if-else-rakenteita voit kerrata 7-luokan materiaalista.
    3. Kopioi koodi ja aja ohjelma. Peli päättyy, kun olet vastannut 10 kertaa oikein kulmakerrointa, suoran kulkua ja vakiotermiä koskeviin kysymyksiin. Peli toimii myös repl.it:ssä.

 

Ratkaisut:

  1.  y = int(k)
    1. k = –2, b = 4
    2. k = 1, b = 0
    3. k = 5, b = –2
    4. k = -1, b = 0
    5. k = 0, b = 4
    6. k = ∞, b = ei ole