lumiukko gif-animaatio

Kirjoitan artikkelia Dimensioon. Tässä tarinaan liittyvä gif-animaatio.

Mainokset

Kirjat 2018

Juha Hurme, Niemi. Tietokirja Suomen ja Euroopan kulttuurihistoriasta 1800-luvulle saakka. Opettavainen, välillä hauska. Keskittyy paljon kansanrunouteen ja -musiikkiin.

Pentti O. A. Haikonen, Tietoisuus, tekoäly ja robotit. Tietokirja tekoälytutkimuksen historiasta ja eri malleista. Filosofista pohdiskelua tietoisuudesta. Lopun ennuste tulevaisuudesta on aika synkkä. Mainostaa omaa HCR-malliaan, ei kuitenkaan selitä sitä kovin tarkasti. Mielenkiintoinen.

David Lagercrantz, Tyttö joka etsi varjoaan. Millenium -trilogian viides osa. On vauhtia ja vähän juttua geenien vaikutuksesta ihmiseloon. Taustalla piilottelee Lisbethin sisko, tarvitaan siis jatko-osa. Aika samantyyppinen kuin edelliset (tietysti). Loppu oli tyylikäs.

Paul Auster, 4 3 2 1. Romaani tai oikeastaan neljä tarinaa saman nuoren kasvusta 50-60-luvun New Yorkissa. Raivostuttava, mutta oli silti pakko lukea loppuun. Mielenkiintoista historiaa esim. Columbian yliopiston opiskelijamellakoista ja kansalaisuusliikkeestä yliopistoissa 60-luvulla. Saa olla viimeinen kirja (jonka luen), jossa kirjailija kertoja kertoo kirjailijan kehityskertomusta.

Michael Connelly, Julmat jäähyväiset. Dekkari. Eläkkeellä oleva poliisi Bosch etsii miljardöörin perillistä ja samaan aikaan selvittää kuka on sarjaraiskaaja. Ihan luettava kirja. Taidan joskus lukea tämän tekijän muitakin kirjoja.

Dan Brown, Alku. Trilleri. Tällä kertaa Langdon seikkailee Barcelonassa. Pohdiskelua luonnontieteellisen maailmankuvan ja uskonnon ristiriidasta. Himpun verran vähemmän pakoon juoksemista ja väkivaltaa kuin aiemmissa Brownin kirjoissa. Hyvä tarina, tykkäsin.

Cixin Liu, The Three Body Problem. Science fiction. Mahtava kiinalainen tieteiskirja. Tarinaa kulttuurivallankumouksen ajoista mahdolliseen tulevaisuuteen, jossa otetaan yhteyttä lähitähdellä asuvaan sivilisaation. Tässäkin kirjassa on teemana uskomukset/uskonnot ja perustutkimuksen tärkeys ihmiskunnan tulevaisuudelle.  Pakko lukea jatko-osat kohtapuoliin. Mennee Top 10 osastolle scifeistä.

J.L. Heilbron, Galilei. Elämäkerta. Tämän lukemiseen meni melkein vuosi. Yksityiskohtainen elämäkerta, joka perustuu valtavaan määrään lähteitä. Aika monta juttua on kerrottu eri tavalla aiemmissa lukemissani kevyemmissä elämänkerroissa. Sain tästä idean blogiartikkeliin. Nyt on taas hyviä syitä lähteä Firenzeen.

Reijo Mäki, Kakolan kalpea. Dekkari. Paras Vareskirja pitkään aikaan. Kaivosteollisuuden ahneutta ja Luumäkeläisiä epäsovinnaisia vitsejä käsittelevä tarina toimi. Jaksaa odottaa seuraavaa kirjaa pokkarina. Kirja jää mökin kirjastoon. Nimi taitaa olla olutmainos.

Cixin Liu, The Dark Forest. Science fiction. Three body problem-trilogian toinen osa. Nyt ollaan tulevaisuudessa 200-400 vuotta nykypäivästä ja ihmiskunnan tuho on lähes varma. Tarina olisi voinut päättyä tähän. Tämä tarina on huikea. Menee Asimovin, Cardin ja Stephensonin tasolle. Tässä osassa taistellaan Aurinkokunnassa, avaruusoopperaa.

Bruce Dickinson, Omaelämäkerta. Loistava tarina laulajasta, säveltäjästä, miekkailijasta, kirjailijasta, elokuvakäsikirjoittajasta, lentäjästä, opettajasta, luennoitsijasta, oluen panijasta, radiojuontajasta ja syövästä parantuvasta taiteilijasta. Bruce on todellinen renessanssi-ihminen. Hän pitää uusien asioiden oppimisesta.

Cixin Liu, Death’s End. Science fiction. Three Body problem-trilogian viimeinen osa. Tarina jatkuu. Maailmankaikkeus loppuu lopussa. Siinä välissä matkustetaan ulos Aurinkokunnasta valon nopeudella. Ei tätä voi kuin kehua. Tuli vähän haikea olo kun tarina loppui. Huomasin juuri, että trilogian eka osa Kolmen kappaleen probleema on käännetty suomeksi. Kustantaja on Aila & Co.

Tommi Kinnunen, Pintti. Romaani. Tarina Jussista, hänen siskoistaan ja lasitehtaasta sodanjälkeisessä Suomessa. Kirjan henkilöt ovat lasinhauraita. Loppu tekotaiteellinen. Kinnunen kirjoittaa mukava lyhyitä ja selkeitä virkkeitä. Tykästyin kappaleeseen, joka päättyy: ”Menneiden ja tulevien välissä seisovat kolmannet: he, jotka osaavat elää vain yhtä päivää kerrallaan. He ovat ihmisistä onnellisimpia.

Olli Jalonen, Taivaanpallo. Historiallinen romaani. Kaunis pienen pojan kasvutarina Saint Helenan saarella syntyneestä pojasta, josta tulee Sir Edmund Halleyn oppipoika Englannissa. Paljon ajatuksia uskosta, oppimisesta, uskonnosta, tiedon luonteesta ja kokeellisuudesta luonnontieteissä. Tykkäsin.

Mikko Moilanen, Viikinkimiekat Suomessa. Tietokirja. Mielenkiintoista tietoa miekoista. En lukenut kovin tarkasti. Paljon kuvia kirjailijasepästä ja miekoista. Olisin kaivannut enemmän karttoja löydöistä. Olen nähnyt noita miekkoja monessa Euroopan museossa.

Ben Bova, Kuunnousu. Science fiction. Lähes kokonaan Kuuhun sijoittuva aika simppeli tarina, jossa on juonittelua ja tappamista rikkaan perheen jäsenten välillä. En aio lukea jatko-osaa.

Ilkka Remes, Vapauden risti. Trilleri. Suomi meinaa hävitä Venäjälle, mutta ei sittenkään. Tyypillinen Remes, pahikset on Venäjältä, tyhmät vasemmistopoliitikoita  ja oma apu on paras.

Taavi Soininvaara, Neljäs valtakunta. Trilleri. Aika realistisen tuntuinen tarina. Maahanmuuttajia, terroristejä, mafiaa ja pahoja oikeistopoliitikkoja. Soininvaara on minusta parempi kuin Remes.


Tulipa luettua paljon kirjoja tänä vuonna. Kuuden viikon sairauslomalla on osasyynsä kirjojen määrään. Parasta tänä vuonna oli Cixin Liun The Three Body trilogia.

2017 kirjat

GeoGebra Sci Calc -laskin mobiililaitteille

Laskimen voi ladata Android-laitteille Googlen Playkaupasta ja iPhonelle/iPadille AppleStoresta.

Laskin laskee murtoluvuilla tarkoilla arvoilla. Näppäimistöltä löytyvät perusfunktiot, neliö, neliöjuuri, yleinen potenssi,trigonometriset funktiot, logaritmifunktiot, eksponenttifunktiot, yleinen juuri, käänteisluku, itseisarvo (abs) ja pyöristä (round). Lisäksi mukana on tilastollisia funktioita: keskiarvo (mean), keskihajonta (stdev), otoskeskihajonta (stdevp), permutaatio- (nPr) ja kombinaatiofunktiot (nCr), kertoma (!), keskipoikkeama (mad) ja satunnaisluku (rand).

Laskeminen

Peruslaskeminen laskimella on sujuvaa. Toki kolmen eri näppäimistön välillä hyppiminen on joskus hankalahkoa. Ainakin minulla tämä laskin korvaa iPhoneni oman laskimen.

Tilastollisissa laskuissa luvut kirjoitetaan peräkkäin pilkulla eroteltuina.

Viimeisen laskun tulosta voi käyttää Ans-näppäimen avulla ja muuttujien arvoille voi antaa nimiä.

Koetila

Laskimessa on myös Koetila.

Opettaja päättää pitää kokeen, jossa oppilas saa käyttää apuna laskinta, mutta ei Internetiä. Oppilas valitsee vasemmancyläkulman hampurilaisesta Koe. Laskimessa avautuu ikkuna: Valmistele koetila. Laskin pyytää asettamaan laskimen lentokonetilaan ja sammuttamaan Wi-Fin.

Kun laite on lentotilassa laskin pyytää vahvistaa apin lukitus itseensä. Eli muut laitteen ohjelmat eivät ole käytössä kun Sci Calc on koetilassa.

Kokeen aikana oppilas ratkoo ongelmiaan ja käyttää Sci Calc appia laskimena. Hän ei voi käyttää laitteen muita ohjelmia. Kun oppilas lopettaa kokeen, hän poistuu koetilasta vasemman yläkulman hampurilaisesta. Tämän jälkeen ilmestyy ikkuna, joka kertoo kokeen aloitusajan ja lopetusajan. Oppilas näyttää kuvan opelle. Opettaja päättelee kuvan ajoista, onko oppilas pysynyt koko kokeen Sci Calc ohjelmassa vai onko hän mahdollisesti harrastanut vilppiä mobiililaitteellaan. Kuva tallentuu myös oppilaan laitteelle kuvatiedostona, näin hän voi myös lähettää sen opettajalle mikäli siltä tuntuu.

Suomenkielisiä GeoGebra-aiheisia blogeja/sivustoja

Kirjoitin tämän alunperin geogebra.fi-blogiin. Mahdolliset päivitykset teen sinne. https://geogebrasuomi.wordpress.com/2018/12/02/suomenkielisia-matikkablogeja-ja-sivustoja/

Keräilen tähän artikkeliin suomenkielisiä matikka-aiheisia blogeja tai sivustoja, joissa käytetään GeoGebraa. Jos tiedät muita, niin kerro.

  • Pekan opetuslogi
    • Pekka Kouri. Blogi.  ”Tänne  kerääntynee satunnaisia yläkoulun matematiikan ja tvt:n opetusmateriaaleja, joskus omilla huomioilla varustettuna.
  • Matikkatunti
    • Timo Mäkimarttunen. Blogi.  ”Yläkoulun mafyke-open ajatuksia ja harjoituksia matemaattisten aineiden opetukseen.”
  • Simo Kivelän matematiikkablogi
    • Simo Kivelä. Blogi. ”Teknillisestä korkeakoulusta eläköityneen matematiikan lehtorin pohdiskeluja matematiikasta, sen opettamisesta ja havainnollistamisesta, erilaisista laskentavälineistä ja muusta vastaavasta.
  • Opetus.tv
    • Janne Cederberg. Sivusto. ”GeoGebra ohjevideoita
  • GeoGebra opetuksessa -täydennyskoulutus
    • Jenni Räsänen. GeoGebrakirja. ”GeoGebra opetuksessa -täydennyskoulutus on Helsingin yliopiston tiedekasvatuskeskuksen järjestämä kokonaan verkossa toteutettu maksuton täydennyskoulutuskurssi opettajille. Paljon esimerkkitiedostoja ja videoita
  • Fysiikan opetus ja oppiminen
    • Riitta Salmenoja. Blogi. ”Runsaasti lukion materiaalia lukiofysiikan opiskeluun. Päivitys loppui 2016.”
  • Matikistin pohdiskeluja
    • Sari Aaltonen. Blogi. ”Lukion matikkaa ja kemiaa. Pohdiskeluja digitaalisesta ylioppilaskokeesta.”
  • Mikon fysiikka ja matikka
    • Mikko Rahikka. Blogi. ”Matematiikan, fysiikan ja tietotekniikan lukio-opetukseen liittyviä juttuja oppilaille ja opettajille.

MAB8 Tilastot ja todennäköisyys -kurssin GeoGebra-komentoja 2

[27.11.18 lisäsin kuvan yo-tehtävästä Abitreeneistä, copywrong lienee mitä se on.]

Tämä uusi WordPress editori vaatii hieman oppimista. Kirjoitan nämä alunperin Wordilla.

Tulkintani mukaan MB8 kurssilla tulee oppia normaalijakauman käyttö vaikka OPSissa virke on monikossa. Toki edellisessä tarinassani esitetty Poissonjakauma on jatkuva, mutta GeoGebran työkalun avulla se käyttäytyy ikään kuin diskreettinä.

Tehtävä 7 lyhyt matikka ylioppilaskoe 2018 syksy

Ratkaisu GeoGebran Todennäköisyystyökalun avulla toiminee seuraavasti.Ja sen lopullisen ratkaisun oppilaille opettaa ope.

Avaa Todennäköisyystyökalu. Normaalijakuma tulee automaattisesti, joten tehtävä ratkeaa suhteellisen suoraviivaisesti kun osaa painaa alareunan painikkeita ja sijoittaa oikeat luvut oikeisiin paikkoihin.


Käyttämällä GeoGebran komentoja tehtävä ratkeaa vaikkapa CASissa seuraavasti

a) 

Normaalijakauma(180 , 6, 190)

-> 0.04779035227282

b) 

Normaalijakauma(167.5, 5.4, 162 )

-> 0.1542158024051

c) 

KäänteisNormaalijakauma(167.5, 5.4,1-0.04)

-> 176.9537047848

Normaalijakaumaan liittyviä komentoja

Normaalijakauma( µ, s, x ) laskee normaalijakauman N(µ, s) kertymäfunktion arvon muuttujan x arvolla.

Normaalijakauma(0, 1, 0 )

-> 0.5

Normaalijakauma( µ, s, x, false  ) laskee normaalijakauman N(µ, s) arvon muuttujan x arvolla.

KäänteisNormaalijakauma(µ, s, y) laskee normaalijakauman N(µ, s) käänteisfunktion arvon muuttujan y arvolla

KäänteisNormaalijakauma( 0, 1, 0.5 )

-> (-((1.888843035978 * 10^((-19))))-> 

Satunnaisluvut

Satunnaislukualkuiset komennot tuottavat erilaisten jakaumien mukaisia satunnaislukuja. Huomasin juuri, että tuon komennon pitäisi olla SatunnainenNormaali.

SatunnainenNormiarvo(0, 1)

 -> 0.2470104887394

Luodaan histogrammia varten lista

reunat ≔Jono(100,220,2)

ja pylväiden arvoja varten arvotaan lista lukuja  Jono-komennon avulla

arvot ≔Jono(SatunnainenNormiarvo(167, 5.4), n, 1, 10000, 1)

Syöttökentän (tai CASin) komento luo histogrammin.

b:=Histogrammi(reunat,arvot)

Jatkuva jakauma syntyy näin

f(x):=Normaalijakauma(167.5, 5.4, x,false)*10000

Samalla logiikalla voi tuottaa erilaisia satunnaisia jakaumia muillakin GeoGebran satunnaisfunktioilla.

Seuraava juttu liittynee keskiarvojen/jakaumien testaamisiin GeoGebralla.

MAB8 Tilastot ja todennäköisyys -kurssin GeoGebra-komentoja 1

[edit.9.11.18  korjasin pari kirjoitusvirhettä sekä tyylejä]

Tämä ohje toimii ainakin GeoGebra 5.0.498.0 ja 6.0.498.0-versioista lähtien. Esimerkiksi nCr-komento tuli kesällä 2018 versioissa 5/6.0.493.0.

Tärkeimmät työkalut kurssilla ovat tietysti GeoGebran Yhden muuttujan analyysi-, Kahden muuttujan regressioanalyysi- työkalut sekä Todennäköisyyslaskuri. Kaksi ensimmäistä liittyvät lukujen tutkimiseen taulukkolaskennassa (palataan niiden käyttöön myöhemmin) ja Todennäköisyyslaskuri löytyy GeoGebran Näytä-valikosta. Laskurin avulla voi ratkoa paljon erilaisia tehtäviä liittyen jatkuviin ja diskreetteihin jakaumiin. Näiden kolmen työkalun käyttöön kannattaa tutustua ensin. Seuraavat komennot ovat lähinnä lisäapuna mikäli joutuu käsittelemään tilastollista dataa työkalujen ulkopuolella.

Näyttökuva 2018-11-8 kello 17.00.33

Esitän seuraavaksi joitakin tärkeimpiä komentoja, joita voi käyttää kurssin tehtävien ratkaisussa. Komennot on kirjoitettu GeoGebra CASiin.

Sovituksiin liittyvät komennot löytyvät artikkelistani Sovituskomennot GeoGebrassa https://mikonfysiikka.wordpress.com/2018/10/15/sovituskomennot-geogebrassa/. Siellä on myös esitetty Kahden muuttujan regressioanalyysi- työkalu.

Tilastollisia tunnuslukuja

Luodaan ensiksi pieni lista, jossa on lukuja.

Listan lukujen lukumäärä, keskiarvo, mediaani, keskihajonta ja otoskeskihajonta saadaan komennoilla:

lista:={1,1,2,3,3,3,4,5}
-> lista:={1, 1, 2, 3, 3, 3, 4, 5}

Pituus(lista)
-> 8

Keskiarvo(lista)
≈ 2.75

Mediaani(lista)
-> 3

Keskihajonta(lista)
-> 1.3

Otoskeskihajonta(lista)
≈ 1.39

GeoGebran CAS-tilassa GeoGebra korvaa Keskiarvo-komennon sen lyhenteellä keskar, Keskihajonnan lyhenteellä keskha ja Otoskeskiarvon lyhenteellä stdevp. Korvaus liittynee uusien appien toimintaan.

Luodaan pistelista

pisteet≔ {(1, 2), (2, 4), (3, 3), (4, 5), (5, 7), (6, 7), (7, 9), (8, 6), (9, 11), (10, 13)}
-> pisteet≔ {(1, 2), (2, 4), (3, 3), (4, 5), (5, 7), (6, 7), (7, 9), (8, 6), (9, 11), (10, 13)}

Regressiosuoran yhtälö ja korrelaatiokerroin saadaan komennolla

SovitaSuora(pisteet)
-> y = 1.06x + 0.87

Korrelaatio(pisteet)
-> 0.92

Mikäli olisi haluttu vaihtaa regressiosuoran määräämisessä x– ja y-koordinaattien paikkaa olisi pitänyt käyttää SovitaX-komentoa.

SovitaSuoraX(pisteet)
-> y = 1.26x – 0.22

Pisteiden x-koordinaattien ja y-koordinaattien keskiarvot ja keskihajonnat:

KeskiarvoX(pisteet)
-> 5.5

KeskiarvoY(pisteet)
-> 6.7

KeskihajontaX(pisteet)
-> 2.87

KeskihajontaY(pisteet)
-> 3.32

Seuraavassa kuvassa on esitetty pistelista pisteet, piste K on x-koordinaattien ja y-koordinaattien keskiarvopiste, pisteen L koordinaatit on saatu lisäämällä x-koordinaattien ja y-koordinaattien keskihajonnat keskiarvopisteen koordinaatteihin. Pisteet N, O ja M on luotu samalla menetelmällä lisäämällä tai vähentämällä keskiarvoja.

Näyttökuva 2018-11-8 kello 20.08.29

Todennäköisyyteen ja jakaumiin liittyviä komentoja

Kertomafunktio toimii tutusti huutomerkillä

5!
-> 120

Binomijakauma

Binomikertoimet eli kombinaatiot eli (5 alla 2) -merkintä saadaan nCr- tai Binomikerroin-komennolla.

nCr(5, 2)
->  10

Toistokokeen binomitodennäköisyys  lasketaan Binomijakauma-komennolla. Komento toimii hieman eri tavalla CAS:issa ja Syöttökenttää käytettäessä.

Heitetään noppaa 5 kertaa. Millä todennäköisyydellä tulee tasan 3 ykköstä? Nyt n = 5, p = 1/6 ja k = 3.

Syöttökentässä komento

Binomijakauma(5, 1 / 6)

piirtää piirtoalueelle jakauman kuvaajan

Näyttökuva 2018-11-8 kello 20.38.20

Jakauman kertymäfunktio piirretään komennolla

Binomijakauma(5, 1 / 6, true)

Näyttökuva 2018-11-8 kello 20.41.01

Sekä CASissa, että Syöttökentässä kysytty todennäköisyys lasketaan komennolla

Binomijakauma(5, 1/6, 3, false)
≈ 0.03215

Kertymäfunktion arvo saadaan komennolla

Binomijakauma(5, 1/6, 3, true)
≈ 0.99666

Vertaa lukuja Todennäköisyyslaskurin tulokseen.

Näyttökuva 2018-11-8 kello 20.47.42

Poissonjakauma

Poissonjakauma -komento toimii samalla logiikalla kuin Binomijakauma.

Oletetaan, että pitkäaikaisen kokemuksen mukaan opettaja kertoo huonon vitsin oppitunnilla keskimäärin 3,3 kertaa. Millä todennäköisyydellä hän kertoo huonon vitsin tasan kaksi kertaa, jos huonojen vitsien kertominen on Poissonjakautunut?

Syöttökentässä komento

Poisson(3.3)

tuottaa jakauman piirtoalueelle. Kertymäfunktio syntyy komennolla

Poisson(3.3, true)

Näyttökuva 2018-11-9 kello 18.45.50

Tehtävän ratkaisu eli kun x = 2 saadaan komennolla

Poisson(3.3, 2, false)

-> 0.20083

ja kertymäfunktion arvo, kun x ≤ 2

Poisson(3.3, 2, true)

-> 0.35943

Vertaa Todennäköisyyslaskurin kuvaan.

Näyttökuva 2018-11-9 kello 18.56.54

 

Jatkuvat jakaumat

Jatkan tarinaa lähipäivinä, nyt alan odottelemaan isänpäivää.

Hyvää isänpäivää lukijoille.

 

Jono GeoGebrassa

Tämä on kolmas osa trilogiastani, joka liittyy GeoGebran listoihin. Aikaisemmat  osat: Listat GeoGebrassa ja Sovituskomennot GeoGebrassa.

GeoGebran Jono-komento (Sequence) vastaa perinteisissä ohjelmointikielissä for-next -silmukkaa. Sen avulla saadaan luotua tarvittaessa pitkiäkin listoja, joiden jäseninä voi olla muita GeoGebran objekteja; lukuja, pisteitä, yhtälöitä, taso- ja 3D geometrian objekteja jne.

Jonon kielioppi

Jonoa voi käyttää monella eri syntaksilla, sillä voi olla 1 – 5 syötettä. Tutustutaan näihin esimerkkien avulla. Kirjoitan seuraavassa komennot GeoGebra Classic 5:n CAS:iin tai Syöttökenttään. GeoGebra 6:n CAS:issa komennot toimivat täsmälleen samalla tavoin.

Kun syötteenä on yksi luku n, niin Jono tuottaa listan, jonka alkioina ovat luvut 1, …, n.

Jono(5)
→ {1, 2, 3, 4, 5}

Kun syötteenä on kaksi lukua ja n, niin Jono tulostaa listan, jonka alkioina ovat luvut m, …, n.

Jono(3,8)
→{3, 4, 5, 6, 7, 8}
Jono(8, 3)
→ {8, 7, 6, 5, 4, 3}

Kun syötteenä on kolme lukua m, ja k, niin Jono tulostaa listan, jonka alkioina ovat luvut m:stä n:ään siten, että m:stä alkaen otetaan joka k:s luku n:ään asti. Listan alkiot muodostavat aritmeettisen jonon.

Jono(2,13,3)
→ {2, 5, 8, 11}
Jono(1/2, 42/13, 1/3)
→ {0.5, 0.833, 1.167, 1.5, 1.833, 2.167, 2.5, 2.833, 3.167}

Kun Jonon syötteessä on viisi oliota, niistä ensimmäinen on muuttujan sisältävä lauseke, toinen on muuttuja, kolmas muuttujan ensimmäinen arvo, neljäs muuttujan viimeinen arvo ja viides askelväli. Viimeisen voi jättää pois, jolloin askeleen pituus on yksi. Jos käyttää muuttujaa Jonon lausekkeessa, niin GeoGebra pyrkii tuottamaan tuloste listaansa tarkat arvot.

Jono(k^2, k, -3, 3)
→ {9, 4, 1, 0, 1, 4, 9}
L1: =Jono(k,k,1/2,42/13,1/3)
→ L1≔{1/2, 5/6, 7/6, 3/2, 11/6, 13/6, 5/2, 17/6, 19/6}
Summa(L1)
→ 33/2

Komento Summa laskee syötelistan alkioiden summan.

Katsotaan muutamia esimerkkejä, mitä Jonolla saa aikaiseksi. Luodaan ensin liu’ut ala, ylä ja väli. Niiden avulla voidaan säätää Jonon muuttujia. Luodaan ensin kaksi suoraparvea: = k x ja = k. Kirjoitetaan CAS:iin tai syöttökenttään

ala≔5
→ ala:=5
ylä:=5
→ ylä:=5
väli:=5
→ väli:=5

Kun klikataan Algebraikkunassa tai CAS:issa vasemmalla olevaan ympyrään, niin liu’ut ilmestyvät näkyviin piirtoalueelle. Luodaan origon kautta kulkevista suorista lista1 ja y-akselin suuntaisista suorista lista2.

lista1:=Jono(y = k x,k,ala,ylä,väli)
→ lista1:={y = (-5 / 2 * x), y = (-11/ 5 * x), …, y = 19/5}

ja y-akselin suuntaiset suorat

lista2:=Jono(x = k,k,ala,ylä,väli)
→ lista2:={x = -5 / 2, x = -11 / 5, … , x = 19 / 5}

Esimerkki

Edellisessä esimerkissä tuotettiin suoria, luodaan seuraavaksi (x, y) pisteitä koordinaatistoon. Michael Borcherds’n ja Dag Oscar Madsenin LinkedIn keskustelusta löytyi seuraava mielenkiitoisia kuvioita tuottava yhden rivin pisteistö. Tässä inc-liukusäädin saa Ominaisuudet -ikkunassa arvoja: Min: 0.01,Max:1, ja Askelväli: 0.01. Kun muuttujan inc arvoa muuttaa, pisteet näyttävät joillain arvoilla tuottavan kauniita käyriä. Miksiköhän?

Jono((ln(n), sin(n)), n, 1, 1000, inc)

Tähti

Joskus kaukaisessa menneisyydessä 1980-luvun lopussa tutustuin Logo-ohjelmointiin. Logon kilpikonnagrafiikan avulla sai yksinkertaisilla ohjelmanpätkillä mielenkiintoisia kuvia tasolle. Logon innoittaman innostuin tutkimaan tähtikuvioita ihan omaksi ilokseni.

Tehdään sovellus, jonka avulla voi tutkia tähtikuvioita, joiden kärjet ovat yksikköympyrään piirretyn säännöllisen monikulmion kärkipisteissä. Aluksi luodaan liukusäätimet ja m. Liukujen asetuksissa saa arvot Min:3, Max:50, Animaatioaskel:1 ja arvot Min:1, Max: n-1 ja Animaatioaskel: 1. Luodaan seuraavaksi yksikköympyrään lista karjet säännöllisen monikulmion kärkipisteistä. Puolipiste pisteen erottimena tuottaa pisteet napakoordinaateissa.

karjet = Jono((1; aa 2π / n), aa, 1, n)

Monikulmio(A, B, n)-komento tuottaa säännöllisen n-kulmion, siten, että yksi sivu on jana AB. Komento karjet(x) tuottaa karjet listan x:n jäsenen.

kuvio1 = Monikulmio(karjet(1), karjet(2), n)

Tähtikuvion kärkiä varten tarvitaan jakojäännöksiä. Otetaan karjet listasta joka m:s jäsen, toistetaan tätä kertaa. Annetaan listalle nimi tkarjet. Koska listan jäsenet numeroidaan 1, …, pitää jakojäännökseen lisätä 1, jotta järjestysnumeroksi ei tulisi nolla.

tkarjet = Jono(karjet(Jakojäännös(i, n) + 1), i, 1, n m, m)

Kun Monikulmio-komennossa on syötteenä lista, niin se tuottaa monikulmion siten, että listan pisteet ovat kärkipisteinä. Tähtikuvio syntyy komennolla

Monikulmio(tkarjet)

Joillain muuttujien arvoilla ja syntyy tähtikuvioita. Esimerkiksi m= 5 ja n= 2 tuottaa pentagrammin. Usein kirjallisuudessa käytetään merkintää säännölliselle viisikulmiolle {5/1} ja pentagrammille {5/2}. Aina ei synny tähtikuviota {6/2} on kolmio ja {6/3} on jana. Joskus syntyy tähtikuvio, mutta siinä ei välttämättä ole kappaletta kärkipisteitä, {18/4} on tähtikuvio, jossa on 9 kärkeä.

Tästähän saa mielenkiintoisen tutkimustehtävän oppilaille. Milloin tulee tähtiä, milloin säännöllisiä monikulmioita ja milloin janoja? Itse asiassa ennen tätä oppilaat voisivat luokitella minkä tyyppisiä kuvioita eri n:n ja m:n arvot tuottavat. Millä n:n arvoilla ei synny lainkaan tähtiä? Millaiset n:n arvot tuottavat tähtiä kaikilla m:n arvoilla 1 < < n– 1? Lahjakkaammat oppilaat ja opettajat voivat myös pohtia löytämiensä lauseiden todistuksia.

Monte Carlon sammakko

Monte Carlo -menetelmässä käytetään satunnaislukuja, kun simuloidaan hankalan ongelman ratkaisua. Anders Skjäl esitti MAOL eKerhon Facebook-ryhmässä syyslomahupitehtävän: ”Sammakko hyppää yhden pituusyksikön satunnaiseen suuntaan ja sen jälkeen puoli pituusyksikköä uudessa satunnaisessa suunnassa. … Määritä sammakon lopullisen sijainnin todennäköisyysjakauma.” Hetken aikaa ongelmaa pohdittuani totesin, että tuo vaikuttaa ilkeältä integroimisongelmalta, niinpä päätin simuloida sammakon hyppelyä.

Luodaan hyppelyjä kuvaava muuttuja n. Toki tästä voi tehdä myös liu’un, mutta kannattaa pitää sen yläraja mielekkäässä kokoluokassa. Järkevä maksimikokoluokka on noin 10000-100000 riippuen koneen tehosta ja GeoGebra-versiosta.

n = 100

Ensin sammakko hyppää satunnaiseen pisteeseen, jonka napakoordinaatit ovat (1, α), missä kulma α valitaan satunnaisesti väliltä 0 ≤ α< 2 π. Sen jälkeen se hyppää samalla logiikalla (½, β). GeoGebra osaa laskea tämän tyyppisen vektoreiden yhteenlaskun pisteiden välisenä yhteenlaskuna. GeoGebran random()-funktio tuottaa satunnaisluvun. Niinpä sammakon hypyt saadaan simuloitua komennolla

sami = Jono((1; 2πrandom()) + (0.5; 2πrandom()), k, 1, n)
sami = {(1.42; 244.17°), (0.51; 119.69°), …, (1.46; 33.35°)}

Koordinaatistoon ilmestyy pisteitä ½ ja 3/2 -säteisten ympyröiden väliin. Koska sami-listan pisteet on esitetty napakoordinaateissa, niiden etäisyydet ovat sami-listan pisteiden ensimmäiset koordinaatit. Ne saa irrotettua napakoordinaateissa esitetystä pisteestä abs-komennolla, joka kertoo pisteen etäisyyden origosta. Vastaavasti suuntakulman saa arg-komennolla.

etlista = Jono(abs(sami(k)), k, 1, n)
etlista = {1.42, 0.51, …, 1.46}

Luodaan frekvenssien laskennassa tarvittavat välit listaan nimeltä luokat. Alaraja on 0,45, yläraja on 1,55 ja välin pituus 0,1.

luokat = Jono(0.45, 1.55, 0.1)
luokat = {0.45, 0.55, 0.65, 0.75, 0.85, 0.95, 1.05, 1.15, 1.25, 1.35, 1.45, 1.55}

Lasketaan etäisyyksien frekvenssit edellä luodun luokat-listan väleissä Frekvenssi(<Luokkarajalista>, <Datalista>)-komennolla.

f = Frekvenssi(luokat, etlista)
f = {17, 7, 4, 9, 2, 7, 8, 8, 6, 15, 17}

Frekvenssien arvot saa näkymään histogrammina Histogrammi(<Luokkarajalista>, <Korkeuslista>)- komennolla. Muutetaan arvot suhteelliseksi jakamalle ne luvulla n. Jotta pylväät näkyisivät nätisti, kerrotaan ne vielä luvulla 10. Nythän histogrammimonikulmion alaksi tuli 1! Miksi? Hannu Mäkiö laski tiheysfunktiolle sievän muodon.

histo = Histogrammi(luokat, 10 f / n)
tih(x) = Jos(0.5 ≤ x ≤ 1.5, (2x) / (π sqrt(1 - (5 / 4 - x²)²)))

Jätän lukijalle tämän tehtävän muokkaamisen kolmiulotteisen sammakon tapaukseen.

Brute force

Raa’an voiman eli Brute force -menetelmässä käytetään tietokoneen laskentatehoa numeeristen ongelmien ratkaisussa. Simo Kivelä vertaili blogikirjoituksessaan vuoden 1960 ylioppilastehtävän ratkaisemista erilaisilla ohjelmallisilla työkaluilla. Ratkaistaan GeoGebralla tehtävä: ”Laske kaikkien niiden positiivisten kolminumeroisten kokonaislukujen summa, jotka eivät ole jaollisia 9:llä eivätkä 11:llä.”.

Ratkaisussa tarvitaan hieman Boolen logiikkaa ja jaollisuusoppia. Komento Jakojäännös(<Jaettava>, <Jakaja>) antaa tulokseksi jakojäännöksen. Totuusehto ja merkitään GeoGebrassa joko && tai  ja erisuuruus != tai ≠. Niinpä saamme CAS:issa seuraavat totuudet eri luvuilla.

(Jakojäännös(99, 11)!=0)&&(Jakojäännös(99, 9)!=0)
→ false

Jakojäännös(22, 11) ≠ 0 ∧Jakojäännös(22, 9) ≠ 0
→ false

Jakojäännös(13, 11) ≠ 0 ∧Jakojäännös(13, 9) ≠ 0
→ true

Jos(<Ehto>, <Niin>, <Muuten>)-komento suorittaa Niin-kohdalla olevan komennon, mikäli Ehtoon tosi, muutoin suoritetaan Muuten-vaihtoehto. Muuten syötteen voi myös jättää pois. Luodaan lista yo, jossa on tehtävän annon luvut.

yo = Jono(Jos((Jakojäännös(n, 11)!=0)&&(Jakojäännös(n, 9)!=0),n,0), n, 100, 999)
yo = {100, 101, 102, 103, 104, 105, 106, 107, 0, 109, 0, …, 998, 0}

Summan saa laskettua Summa-komennolla, sen avulla olisi voinut laskea lukujen summan ilman Jono-komentoa.

Summa(yo)
a = 399996

Summa(Jos(Jakojäännös(n, 11) ≠ 0 ∧Jakojäännös(n, 9) ≠ 0, n, 0), n, 100, 999)
b = 399996

Brute force -menetelmä tuntuu meistä opettajista usein huijaukselta. Pitää muistaa, että todellisessa maailmassa on valtava määrä ongelmia, joita ei voi sievästi ratkaista koulussa opetetuilla siisteillä menetelmillä.

Sisäkkäiset silmukat

Tutkitaan seuraavaksi, miten Jono-komennolla saa sisäkkäisiä silmukoita. Tuotetaan koordinaatiston kokonaislukukukoordinaatteihin pisteitä. Koska komennosta tulee aika monimutkaisen näköinen kannattaa tehdä se osissa. Luodaan ensin pisteitä vaakasuunnassa.

pisteet=Jono( (i, 2), i, 1, 5)

Kopioidaan tämä komento ja kirjoitetaan sen ulkopuolelle uusi Jono-komento ja muutetaan pisteen y-koordinaatti.

pisteet2 = Jono(Jono( (i, j), i, 1, 5), j, 2, 4)

Jätän lukijalle tehtäväksi tuottaa suorakulmaisen särmiön kolmiulotteiseen avaruuteen tällä menetelmällä.

Tuotetaan seuraavaksi Pythagoraan kolmioita eli yhtälön  x^2 + y^2 = z^2 kokonaislukuratkaisuja z:n arvolla 13. Tälle ongelmalle löytyy useita eri ratkaisumenetelmiä. Käytetään brute force menetelmää sen kummemmin yrittämättä optimoida koodia. Käydään läpi kaikki arvot neliössä, jonka kärkien koordinaatit ovat (-13, -13), (-13, 13), (13, 13) ja (13, -13). Ehtolausekkeessa tarvittava yhtäsuuruusehto näppäillään = = tai ≟.

pyt = Jono(Jono(Jos((i² + j²) = = 169, (i, j)), i, -13, 13), j, -13, 13)

Komento tuottaa listaan paljon (?, ?) pisteitä ja sisäkkäiset kaarisulkeet.  Kaarisulkeista pääsee eroon Tiivistä-komennolla ja määrittelemättömistä pisteistä PoistaMäärittelemätön-komennolla.

pyt1 = Tiivistä(pyt)
pyt2 = PoistaMäärittelemätön(pyt1)

Yhdellä rivillä koodi olisi aika haastavaa lukea.

pyt3 = PoistaMäärittelemätön(Tiivistä(Jono(Jono(Jos(i² + j² ≟169, (i, j)), i, -13, 13), j, -13, 13)))

Jätän tämänkin ongelman yleistyksen 3D avaruuteen lukijalle kotitehtäväksi. Samalla kehotan kokeilemaan miten kuvan reikäinen kuutio tai marmelaadipyramidi on tuotettu. Voit myös pohtia mitä komento

janat = Jono(Jana((1, 0), Kärkipiste(Monikulmio((1; (360°) / n), (1; 2(360°) / n), n), m)), m, 1, n - 1, 1)

tekee ja miksi Tulo(janat) = n, kun on luonnollinen luku ja suurempi kuin 2? Komento Kärkipiste( Monikulmio, i)tuottaa monikulmion i:nen kärkipisteen.

 

 

Seuraavaksi kirjoittanen Zip-komennosta. Zip-komento vastaa monissa ohjelmointikielissä olevaa map-funktiota. Sen avulla voidaan käydä läpi kaikki syötelistojen jäsenet ja suorittaa niille komentoja. Moni Jono-komento muuttuu yksinkertaisemmaksi Zipin avulla.

Lue lisää

Korhonen, Luoma-aho, Rahikka. Geogebra -opas. MFKA 2012.

Reykjavikin luennon materiaali
https://www.geogebra.org/m/afbRGctJ – material/TWhJhFyC

Simo Kivelän blogiartikkeli
http://simokivela.blogspot.com/2017/11/ylioppilastehtava-ennen-ja-nyt.html

Lista GeoGebrassa blogiartikkelini
https://mikonfysiikka.wordpress.com/2018/05/15/listat-geogebrassa/

Star polygon MathWorldissa http://mathworld.wolfram.com/StarPolygon.html

Sammakko-ongelma Facebookissa
https://www.facebook.com/groups/155873227301/permalink/10156656313137302/