LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 MatemaattinenOhjelmointijaYhtälönratkaisu(MOJYR) Sisällysluettelo Matemaattinen Ohjelmointi ja Yhtälönratkaisu (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 ’Joustava yhtälönratkaisu’, 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 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 2.MOJYR-ohjelma 2.1Ohjelmanasentaminen 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.2Kä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 Puut-tilan voit vaihtaa Näytä-valikosta toiseksi. Vaihtoehtoja ovat puut, vaa’at, kuvaajat ja vertailu 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 Ilmoitukset-tilassa näet mahdolliset virheilmoitukset ja ohjelman tekemien laskujen lukumäärän Muunnokset-tilassa näet kirjoittamasi komennot. Voit myös kirjoittaa suoraan tähän komentoja olevaan Muunnokset – tilaan voit kirjoittaa erilaisia Muunnokset-tilassa voit kirjoittaa erilaisia komentoja, joita ohjelma suorittaa. Ohjelma suorittaa komennon kun valitset ”Syötä” 2 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 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 Kahden termin ja erotus − · · 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 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 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 1.1.1 2 1.1 1.2 1.1.2 1.1.3 Esimerkki. Lausekkeen + + 2 ∙ 2.1 2.2 3 3.1 2.3 polkuargumentit 0 + 1 1.3 ∙ 3.2 + Polku 0 1 x · Polku 1 Polku 2 Polku 3 2 3 Polku 3.1 Polku 3.2 4 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu Esimerkki. Puumalli lausekkeesta ( 1 1.1 1.2 + + )+( + + + ) 0 + 1.3 1.2.2 2 2.1 ∙ 1.2.1 8.10.2015 14:53 ∙ 2.1.1 2.2 2.1.2 4.MOJYR-ohjelmanominaisuudet 4.1Yhtälönmuodostaminen 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ö 2 + 3( + 1) = 7 Muunnokset-tilaan kirjoitetaan komento: Yhtalo(’2*x+3*(x+1)’;’7’) Huom! Ohjelmaa varten kertolaskua merkitään aina *-symbolilla ja vastaavasti jakolaskua /-komennolla. 5 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 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.2Muunnokset 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 1 + + Määritetään ensin polkuargumentit puumallin avulla: +2+ toinen ja kolmas termi yhteen. 0 + 1 2 3 4 5 Toisen termin polkuargumentti on siis 2 ja kolmannen 3 eli ohjelmalle annettava komento olisi: 1+ + +2+ laske(; 0; 2; 3) 1+2 +2+ 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 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 1+2 +2+ 3+2 + 8.10.2015 14:53 laske(; 0; 1; 3) Seuraava komento voisi olla laske(; 0; 2; 3), jolloin ohjelma laskisi yhteen termit 2 ja lauseke olisi 3 + 3 ja sievennetty 4.3Vaakamalli 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.4Kuvaajat 7 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 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.5Vertailu 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 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 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 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu Esimerkki. Yhtälön ( + ) = 8.10.2015 14:53 ratkaisu skriptimuodossa Skripti Selitys Skripti-201510811455.244 Tallennettu skripti Yhtalo('3*(x+2)', '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 poistaNeutraalialkio(vas; ; 2) Lasketaan yhtälön oikealla puolella 15 − 6 jaa(3) Jaetaan yhtälön molempia puolia kolmella laske(vas; ; 1; 3) laske(oik; ; 1; 2) poistaNeutraalialkio(vas; ; 1) Poistetaan yhtälön vasemmalta puolelta 0 Lasketaan yhtälön vasemmalla puolella 3/3 Lasketaan yhtälön oikealla puolella 9/3 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 LUMA Suomi –kehittämisohjelma Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu 8.10.2015 14:53 Liitteet Muunnos laske Selitys vaihda Suorittaa kahden termin (argumenttina polku) välisen operaation. Vaihtaa kahden termin paikkaa keskenään yhdista Yhdistää samanmuotoisia termejä osita Kertoo sulut auki sulkujen edessä olevalla tekijällä ositaOikealta Kertoo sulut auki sulkujen jälkeen olevalla tekijällä eriyta poistaTurhaSulku Eriyttää termejä muodostamalla sulkulausekkeita Poistaa ylimääräiset sulut poistaNeutraalialkio poistaNollallaKertominen jako2murtoluku Poistaa neutraalialkion (kertolaskuissa 1 ja yhteenlaskuissa 0) Nollalla kertomisen tuloksena saadaan 0 vahennys2negatiivinen #kumoaVasenPienempi #kumoaOikeaPienempi lisaa Yhdistää samanmuotoisia termejä yhtälön molemmilta puolilta Yhdistää samanmuotoisia termejä yhtälön molemmilta puolilta Lisää halutun termin yhtälön molemmille puolille vahenna kerro jaa 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
© Copyright 2024