(MOJYR) Sisällysluettelo (MOJYR)... 1 1. Taustaa... 1 2. MOJYR-ohjelma... 2 2.1 Ohjelman asentaminen... 2 2.2 Käyttöliittymä... 2 3. Puumalli... 3 4. MOJYR-ohjelman ominaisuudet... 5 4.1 Yhtälön muodostaminen... 5 4.2 Muunnokset... 6 4.3 Vaakamalli... 7 4.4 Kuvaajat... 7 4.5 Vertailu... 8 5. Ohjelmointi... 9 Liitteet...11 1. Taustaa Opetus-ja kulttuuriministeriön rahoittaman LUMA SUOMI kehittämisohjelman yhtenä hankkeena on tammikuussa 2015 käynnistynyt, jossa kehitellään yläkouluun sopivaa oppimateriaalia yhtälönratkaisuun liittyen. Ohjelman tavoitteena on lisätä lasten ja nuorten motivaatiota opiskella luonnontieteitä ja matematiikkaa sekä uudistaa näiden aineiden opetusta vuodesta 2016 lähtien käyttöön otettavan uuden opetussuunnitelman mukaan. Ohjelmointi kuuluu syksystä 2016 lähtien uuteen opetussuunnitelmaan ja pääsääntöisesti ohjelmointia tullaan opettamaan matematiikan yhteydessä. Joustavan yhtälönratkaisun hankkeessa ohjelmointiin liittyviä taitoja harjoitellaan tietokoneavusteisesti hanketta varten kehitellyn MATLAB-pohjaan perustuvan tietokoneohjelman avulla. Tavoitteena on herättää oppilaiden kiinnostus ohjelmointiin matemaattisesti tutussa ympäristössä ja samalla kehittää oppilaiden yhtälönratkaisutaitoja. 1
2. MOJYR-ohjelma 2.1 Ohjelman asentaminen Joustavan yhtälönratkaisun hanketta varten kehitetty ohjelma perustuu MATLAB-tietokoneohjelmistoon http://se.mathworks.com/products/matlab/, joka sisältää myös ohjelmointiympäristön. Ohjelman asentamiseksi ei tarvita MATLAB-ohjelmistoa, vaan ohjelma voidaan ajaa itsenäisenä sovelluksena lataamalla MATLAB-kirjasto (MATLAB Compiler Runtime) MCR, joka voidaan lataa sivustolta http://se.mathworks.com/products/compiler/mcr/index.html (koko n. 0,5 Gt). Ohjelmaa varten vaaditaan MCR versio R2015b (9.0). Windows-käyttöjärjestelmää käyttävät voivat valita 32-bittisen MCR-version. Asennuksen aikana vaaditaan ylläpitäjän oikeudet. Asennuksen jälkeen voidaan ladata MOJYR-ohjelmassa tarvittavat tiedostot ja käynnistää ohjelma MOJYR.exe tiedostolla. 2.2 Käyttöliittymä Ohjelman käyttöliittymä on esitetty alla olevassa kuvassa. Ohjelman käyttöliittymä rakentuu erilaisista tiloista, joista tärkeimpiä ovat oikeassa laidassa oleva Muunnokset -tila sekä keskellä oleva Yhtälöt - tila. Vasemmassa laidassa oleva tila voidaan vaihtaa toiseksi. Vaihtoehtoisia tiloja ovat: Vaa at. Kuvaajat, Puut ja Vertailu Näytä -> Optionsvalikosta voit vaihtaa esimerkiksi fontin asetuksia Moodi-tilasta voit valita, tarkasteletko yhtälön vasenta/oikeaa lauseketta tai kokonaista YYhtälöt-tilasssa näet ohjelman tekemän yhtälön Muunnokset-tilassa näet kirjoittamasi komennot. Voit myös kirjoittaa suoraan tähän komentoja olevaan Muunnokset tilaan voit kirjoittaa erilaisia Puut-tilan voit vaihtaa Näytä-valikosta toiseksi. Vaihtoehtoja ovat puut, vaa at, kuvaajat ja vertailu Ilmoitukset-tilassa näet mahdolliset virheilmoitukset ja ohjelman tekemien laskujen lukumäärän Muunnokset-tilassa voit kirjoittaa erilaisia komentoja, joita ohjelma suorittaa. Ohjelma suorittaa komennon kun valitset Syötä 2
3. Puumalli Joustavan yhtälönratkaisun projektissa lausekkeen rakennetta havainnollistetaan ns. puumallin (engl. expression tree) avulla, jolla on keskeinen rooli myös MOJYR-ohjelmassa. Jokaista lausekkeeseen kuuluvaa osaa merkitään noodin (engl. node) avulla, joka on operaatiota (esim. yhteenlasku tai kertolasku) kuvaava symboli sekä noodiin kuuluvien lapsien (engl. child) avulla, joita ovat operaation kuuluvat osat. Yhteenlaskuun kuuluvia osia nimitetään termeiksi ja kertolaskuun kuuluvia osia tekijöiksi. Kuvassa 1 on esitetty puumallin rakenne. Kahden termin ja summa Kahden termin ja erotus Kahden termin ja osamäärä Kahden tekijän ja tulo Kuva 1. Puumallin keskeiset käsitteet Jokaiseen noodiin kuuluu vähintään yksi tai useampi lapsi, jonka seurauksena puumallin ulkoinen rakenne on alaspäin haarautuva, jonka juurena eli ylimpänä kohtana on se noodi, joka tulee laskujärjestyksessä viimeisenä. Vastaavasti puumallissa alimmat noodit ovat niitä operaatioita, jotka lausekkeessa tulevat laskujärjestyksessä ensimmäisinä. Kuvassa 2 on esitetty, kuinka lauseke voidaan muodostaa puumallista. Joustavan yhtälönratkaisun luvussa 1 puumallia on käsitelty tarkemmin. 3
2 3 2( 3) 2 2 2 Kuva 2. Lausekkeen muodostaminen puumallista MOJYR-ohjelmassa yhtälöitä ratkaistaan tekemällä sille sallittuja muunnoksia, joista osa vaatii toimiakseen erilaisia määritteitä. Näitä määritteitä havainnollistetaan polkurakenteen avulla, jota on helpointa käsitellä puumallin avulla. Jokainen lausekkeen osa on merkitty polkumuodossa niin, että jokainen osa on numeroitu vasemmalta oikealle 1,2,3 Vastaavasti esimerkiksi noodiin 1 kuuluvia lapsia merkitään 1.1, 1.2, 1.3 0 1 2 1.1 1.2 1.3 2.1 2.2 2.3 1.1.1 1.1.2 1.1.3 Esimerkki. Lausekkeen polkuargumentit 1 0 3 Polku 0 2 1 Polku 1 x Polku 2 Polku 3 3.1 3.2 2 Polku 3.1 3 Polku 3.2 4
Esimerkki. Puumalli lausekkeesta ( ) ( ) 0 1.1 1 1.3 2 1.2 2.1 2.2 1.2.1 1.2.2 2.1.1 2.1.2 4. MOJYR-ohjelman ominaisuudet 4.1 Yhtälön muodostaminen Lausekkeet ja niistä muodostetut yhtälöt ovat MOJYR-ohjelman keskeisin matemaattinen sisältö. Ratkaistava yhtälö voidaan valita valmiina olevista vaihtoehdoista tai se voidaan myös luoda itse syöttämällä Muunnokset tilaan Yhtalo( ; ) haluttu yhtälö siten, että yhtälön vasen puoli sijoitetaan ensimmäisten -merkkien väliin ja oikea puoli vastaavasti toisten -merkkien väliin. Yhtälöt -tilassa voidaan myös tarkastella erikseen yhtälön vasemman puolen tai oikean puolen lauseketta valitsemalla yläpalkista Moodi -tilasta Lauseke (vasen), Lauseke (oikea) tai Yhtälö. Yhtälö voidaan muodostaa myös helposti valitsemalla aluksi: Tiedosto -> Uusi. Tämän jälkeen yhtälö voidaan kirjoittaa Muunnokset tilaan Yhtalo( 0 ; 0 ) korvaamalla luvut 0 yhtälön vasemmalla ja oikealla puolella. Esimerkki. Ohjelman avulla halutaan ratkaista yhtälö 23(1)=7 Muunnokset-tilaan kirjoitetaan komento: Yhtalo( 2*x3*(x1) ; 7 ) Huom! Ohjelmaa varten kertolaskua merkitään aina *-symbolilla ja vastaavasti jakolaskua /-komennolla. 5
Yhtälön muodostamisen jälkeen valitaan haluttu esitysmuoto, joka voidaan halutessa vaihtaa myös toiseksi. Esitysmuoto vaihdetaan valitsemalla yläpalkista Näytä ja valitaan joko vaa at, kuvaajat, puut tai vertailu. 4.2 Muunnokset Yhtälön muodostamisen jälkeen sille voidaan tehdä sallittuja muunnoksia, joista tärkeimpiä ovat: lisääminen/vähentäminen, kertominen/jakaminen ja samanmuotoisten termien yhdistäminen. Samanmuotoisten termien yhdistäminen onnistuu ohjelmassa laske-komennolla, joka vaatii määritteiksi polun sekä ensimmäisen ja toisen laskettavan termin. Ohjelma yhdistää termit siihen kuuluvan operaation avulla jos termit ovat keskenään samanmuotoisia. Lisääminen, vähentäminen, kertominen ja jakaminen ovat esimerkkejä sellaisista muunnoksista, jotka eivät tarvitse erillisiä polkumääritteitä. Esimerkiksi yhtälön kertominen puolittain kolmella onnistuu muunnoksella kerro(3). Liitteenä olevassa taulukossa on esitetty ohjelmassa käytettyjä muunnoksia. Esimerkki 3. Lausekkeen sieventäminen MOJYR-ohjelmalla MOJYR-ohjelman avulla halutaan laskea lausekkeessa 12 toinen ja kolmas termi yhteen. Määritetään ensin polkuargumentit puumallin avulla: 0 1 2 3 4 5 Toisen termin polkuargumentti on siis 2 ja kolmannen 3 eli ohjelmalle annettava komento olisi: 12 122 laske(; 0; 2; 3) Luku 0 tarkoittaa laske muunnoksessa sitä noodia, minkä lapsia yhteenlaskettavat termit ovat. Tällä noodilla on yhteensä viisi lasta, joiden paikat on numeroitu yhdestä viiteen. Jos seuraavaksi haluttaisiin laskea yhteen termit 1 (polkuargumentti 1) ja 2 (polkuargumentti 3) niin ohjelmalle annettava komento olisi: 6
122 32 laske(; 0; 1; 3) Seuraava komento voisi olla laske(; 0; 2; 3), jolloin ohjelma laskisi yhteen termit 2 ja ja sievennetty lauseke olisi 33 4.3 Vaakamalli Puumallin ohella yhtälöä voidaan havainnollistaa myös vaakamallin avulla. Vaakamallin tarkoituksena on havainnollistaa, että yhtälön täytyy pysyä tasapainossa kun siihen tehdään erilaisia muunnoksia. Ohjelmassa käytetyssä vaakamallissa termejä kuvataan erilaisten värikoodattujen kuvioiden avulla, joiden selitykset näkyvät vasemmassa alalaidassa. Vaakamallin periaate on esitetty kuvassa 3. Kuva. MOJYR-ohjelman vaakamalli Yksittäiset termit, kuten kuvassa 3 7 ja 5x merkitään vaakamallissa 1 värikoodattuina palloina, joiden lukumäärä vastaa termien lukumäärää. Vaihtoehtoisessa vaakamallissa 2 termien lukumäärä ilmaistaan pallon kokona. Sulkulausekkeet merkitään värikoodattuina säkkeinä, joiden lukumäärä ilmaistaan samalla tavalla kuin yksittäisten termien tapauksessa. Yhtälön ratkaiseminen voidaan aloittaa myös tekemällä muutoksia suoraan vaakamalliin klikkaamalla vaakamallin symboleita hiiren oikealla painikkeella, jolloin avautuu omaan ikkunaan mahdollisia operaatioita, joita kyseiseen termiin voidaan tehdä. Esimerkiksi klikkaamalla termiä 2( 1) voidaan valita komento: Avaa säkit: osita toinen termi, jolloin ohjelma poistaa sulkeet ja saadaan uusi termi 2 2 1. Termejä voidaan myös esimerkiksi laskea vaakamallissa yhteen. Jotta ohjelma suorittaisi halutun operaation, Muunnoksen syöttö tilasta voidaan tarkistaa, että polun ja termien argumentit ovat oikein. (Termien numerointi on vasemmalta oikealle 1,2,3, ) 4.4 Kuvaajat 7
Yhtälön malliksi voidaan myös valita kuvaajat, jolloin ohjelma piirtää yhtälön vasemmasta ja oikeasta puolesta kuvaajat samaan koordinaatistoon, jolloin yhtälön ratkaisu löytyy kuvaajien leikkauspisteestä. Klikkaamalla koordinaatistoa, saadaan suurennos kuvaajista. Kuvaajien tarkoituksena on havainnollistaa, kuinka yhtälön ratkaisu voidaan löytää myös graafisesti. Kuvaajien leikkauskohdan koordinaatteja ei voi kuitenkaan määrittää, vaan käyttäjän on ratkaistava yhtälö algebrallisesti. Kuva. Kuvaajat. 4.5 Vertailu Joustavan yhtälönratkaisun projektin keskeisenä tavoitteena on saada oppilaat ymmärtämään, että matematiikassa on tärkeää oppia löytämään ja vertailemaan useita ratkaistutapoja. Yhtälönratkaisussa erilaisten ratkaisutapojen rinnakkaisen vertailun on todettu edistävän matemaattista ymmärrystä (ks. http://ouluma.fi/joustava-yhtalonratkaisu/hankkeen-taustaa/) Ohjelmalla voidaan harjoitella joustavien ratkaisutapojen vertailua vaihtamalla representaatioksi Vertailu, jolloin voidaan verrata kahdessa vierekkäisessä ikkunassa kahta erilaista ratkaisutapaa samasta yhtälöstä. Vertailun periaate on esitetty kuvassa 5. 8
Kuva 5. Vertailu. Vertailussa voidaan käyttää hyödyksi Tietokone 1 - ja Tietokone 2 ominaisuuksia. Tietokone voi vertailutilassa ratkaista yhtälön välivaiheineen ja käyttäjä voi ratkaista yhtälön käyttäen erilaista lähestymistapaa. 5. Ohjelmointi Ohjelmointina voidaan pitää ohjelmointikielelle käännettyjen ohjeiden antamista tietokoneelle. Ohjelmoinnissa tarvitaan loogisia päättelytaitoja ja kykyä ratkaista ongelmia luovasti. Samat taidot ovat myös matematiikassa tärkeitä ja MOJYR-ohjelman avulla pyritään kehittämään ohjelmointiin matemaattisessa ympäristössä. Lausekkeesta muodostettu puumalli täydennettynä polkurakenteella muodostaa MOJYR-ohjelman tietorakenteen. Puumalli on yleisesti ohjelmoinnissa käytetty tietorakenne ja MOJYR-ohjelmassa sitä käytetään myös lausekkeen rakenteen havainnollistamiseen. Tämä rakenne mahdollistaa sen, että ohjelman käyttäjä pystyy operoimaan kahdesta lausekkeesta muodostettua yhtälöä niin, että myös ohjelma ymmärtää käyttäjän suorittamat komennot. Yhtälöön tehdyistä muunnoksista ja niihin kuuluvista polkumääritteistä muodostuu ohjelmointikieli, jota sekä ohjelma, että käyttäjä ymmärtävät. Ohjelmassa on mahdollista myös tallentaa muunnokset erillisenä skriptinä, joka sisältää käyttäjän muodostaman komentorivin. 9
Esimerkki. Yhtälön ( ) = ratkaisu skriptimuodossa Skripti Skripti-201510811455.244 Selitys Tallennettu skripti Yhtalo('3*(x2)', '15') Muodostetaan yhtälö 3( 2)= 15 osita(vas; ; 2) laske(vas; 2; 1; 2) vahenna(6) laske(vas; ; 2; 3) laske(oik; ; 1; 2) Avataan sulkeet Lasketaan kertolasku 3 2 Vähennetään 6 yhtälön molemmilta puolilta Lasketaan yhtälön vasemmalla puolella 6 6 Lasketaan yhtälön oikealla puolella 15 6 poistaneutraalialkio(vas; ; 2) Poistetaan yhtälön vasemmalta puolelta 0 jaa(3) Jaetaan yhtälön molempia puolia kolmella laske(vas; ; 1; 3) Lasketaan yhtälön vasemmalla puolella 3/3 laske(oik; ; 1; 2) Lasketaan yhtälön oikealla puolella 9/3 poistaneutraalialkio(vas; ; 1) Poistetaan lopuksi tulon neutraalialkio 1 Alla olevassa kuvassa on esitetty MOJYR-ohjelman tekemänä sama ratkaisu kuin edellisessä esimerkissä. Kuva Yhtälön 3( 2)= 15 ratkaisu MOJYR-ohjelmalla 10
Liitteet laske vaihda yhdista osita Muunnos Selitys Suorittaa kahden termin (argumenttina polku) välisen operaation. Vaihtaa kahden termin paikkaa keskenään Yhdistää samanmuotoisia termejä Kertoo sulut auki sulkujen edessä olevalla tekijällä ositaoikealta eriyta poistaturhasulku Kertoo sulut auki sulkujen jälkeen olevalla tekijällä Eriyttää termejä muodostamalla sulkulausekkeita Poistaa ylimääräiset sulut poistaneutraalialkio Poistaa neutraalialkion (kertolaskuissa 1 ja yhteenlaskuissa 0) poistanollallakertominen Nollalla kertomisen tuloksena saadaan 0 jako2murtoluku vahennys2negatiivinen #kumoavasenpienempi #kumoaoikeapienempi lisaa vahenna kerro jaa Yhdistää samanmuotoisia termejä yhtälön molemmilta puolilta Yhdistää samanmuotoisia termejä yhtälön molemmilta puolilta Lisää halutun termin yhtälön molemmille puolille Vähentää halutun termin yhtälön molemmilta puolilta Kertoo yhtälön molempia puolia halutulla termillä Jakaa yhtälön molempia puolia halutulla termillä 11