Kevään 21 pitkän matikan tehtävän 8 ratkaisu GeoGebralla

[edit. 25.3. Lisäsin toisen version listan tuottamiseen. Korjasin pari kirjootusvihrettä]]

Tehtävässä piti arpoa pisteitä suorakaiteen muotoiselle tasoalueelle ja laskea kuinka suuri osa kuuluu suorakaiteen sisällä olevalle alueelle. GeoGebran Jono-komennolla ratkaisu on suhteellisen yksinkertainen, jos hallitsee pari komentoa.

https://yle.fi/plus/abitreenit/2021/Kevät/2021-03-24_M_fi/index.html#11

Luodaan tasoalue epäyhtälöiden avulla. Loogisen tai-operaattorin saa helpoimmin kirjoitettua kahdella & merkillä. Kirjoitetaan syöttökenttään

alue=0 ≤ x ≤ 2 && 0 ≤ y ≤ 4 && y ≥ x²

Satunnaisluku väliltä 0…1 saadaan funktiolla rand(). Niinpä 2*rand() tuottaa satunnaisluvun välillä  0≤x≤2. Sama olisi onnistunut myös komennolla SatunnainenTasajakaumanarvo(0, 2). Tässä olisi voinut valita pisteitä monikulmion sisältä myös käyttäen komentoa SatunnainenPisteAlueessa( <Monikulmio> ).

Komento OnkoAlueessa(piste, alue) palauttaa arvon true, jos piste kuuluu alueeseen ja false muutoin.

Luodaan jono-komennolla lista, jossa on ykkösiä, mikäli tuotettu piste on kyseisellä alueella ja muutoin 0.

l1 = Jono(Jos(OnkoAlueessa((2random(), 4random()), alue), 1, 0), mm, 1, 1000)

Itse asiassa tuossa ei olisi tarvinnut edes käyttää tuota aluetta, vaan käyttää sen sijaan epäyhtälöä.

Jono(Jos(OnkoAlueessa((2random(), 4random()), y ≥ x²), 1, 0), mm, 1, 1000)

Osumien määrä saadaan laskemalla ykkösten lukumäärä eli

a = Summa(l1)

Pekka Vienonen julkaisi oman versionsa GeoGebra-materiaaleissa. https://www.geogebra.org/m/czfvx8pg

Mitä pitäisi osata ilman CASia lyhyen matikan yo-kokeessa?

Tein abeilleni Slides esityksen niistä asioista, jotka minun mielestäni tulisi hallita lyhyen matikan yo-kokeen A-osassa. Kerro mielipiteesi, jos olet eri tai samaa mieltä.

Kiitos Nea mäyräkuvista :o)

Linkki Google Slides-esitykseen. https://docs.google.com/presentation/d/1Yohng002UzrKwpBi5C1MAOAgJziBcARvBH2IdKe46jE/edit?usp=sharing

Lisäsin geometriasivun esitykseen, tuo oli unohtunut minulta. Kiitos Sami Alatupa.

Edward Krogius käänsi Slidesit ruotsinkielelle. https://docs.google.com/presentation/d/15dXQicA5FRiV8223lxdrXPNZLBPrZBSz4DnKWU_Trf8/edit?usp=sharing

Kevät 20 pitkän matikan tehtävä 12.2 GeoGebralla

[edit 23.3. Lisäsin tarinan loppuun pari eri tapaa ratkaista tehtävän ja kuvan pisteistä.]

Kevään 20 pitkän matikan tehtävässä piti selvittää luonnollisiin lukuihin liittyvä lukumäärälasku. Tämähän on meille ATKnörteille simppeli ohjelmointiongelma.


Jollain ”oikealla” ohjelmointikielellä tuo taitaa olla muutaman rivin ohjelma. Ratkaistaan 2.-kohta GeoGebralla. Tässä tulee 100*100 lukua eli ei kannata käyttää CASia, veikkaan, että kone hyytynee. Käytetään Algebra-ikkunaa. Teenpä tämän GeoGebra 6:lla ihan testatakseni miten se toimii. Kokeilin tätä GG 5:llä ja tehtävä ratkesi ihan OK, mutta ohjelma alkoi himpun verran jumittaa koska listan koko on 10000.

Komento

Jono(Jono(sqrt(a b), a, 1, 100), b, 1, 100)

tuottaa listan matriisin m1. GeoGebra 5:ssä Algebraikkunassa matriisi näkyy matriisin näköisenä, GG6:ssa voi arvata, että se on matriisi sillä alussa näkyy kaksi kaarisulkua. Toisaalta sisäkkäiset Jono-komennot tuottavat aina matriiseja. Matriisin m1 pituus (eli oikeasti m1 listan pituus saadaan komennolla

Pituus(m1)
-> 100

tuottaa luvun a = 100. Matriisin sisällä olevat ”turhat” kaarisulkeet saa pois Tiivistä-komennolla

Tiivistä(m1)

tuottaa listan l1, jonka pituus on

b = Pituus(l1)
-> 100

Selvitetään, mikä näistä luvuista on luonnollinen luku. Ehto

floor(luku) == luku

antaa tulosteeksi true, jos luvun kokonaisosa on yhtäsuuri kuin luku itse eli onko luku kokonaisluku. Käydään läpi kaikki luvut listassa l1 ja tutkitaan mitkä ovat luonnollisia lukuja

l2 = Zip(Jos(floor(aa) == aa, aa), aa, l1)
-> {1, ?, ?, 2, ?, ...

Nuo kysymysmerkit vastaavat niitä lukuja, joilla ehto ei ole voimassa. Poistetaan määrittelemättömän lista oliot eli nuo kysymysmerkit komennolla

l3 = PoistaMäärittelemätön(l2)
-> {1, 2, 3, 4, ...
c = Pituus (l3)
-> 310

Kysytty todennäköisyys on

d = c/b

-> 31/1000

GeoGebra 6:ssa isojen listojen käsittely tuntuu sutjakkaammalta kuin GeoGebra 5:ssä. Tosin molemmissa ohjelmissa ratkaisu onnistui MacBookissani.

Lisäys 22.3.20

En malttanut olla kokeilematta paria muuta tapaa. Idea tuli Edwardilta Facebookista.

m2 = Jono(Jono(Jos(floor(sqrt(a b)) ≟ sqrt(a b), 1, 0), a, 1, 100), b, 1, 100)

tuottaa lista, matriisin, jossa on paljon nollia ja ykkösiä.

l5=Summa(m2)

tuottaa lista, jossa on vaakarivien summat {10, 7, …

Summa(l5) = 310

Toisaalta yhdellä rivillä

Jono(Jono(Jos(floor(sqrt(a b)) ≟ sqrt(a b), 1, 0), a, 1, 100), b, 1, 100) = 310

Jos olisi halunnut nuo pisteet koordinaatistoon, niin sen saa komennolla

Jono(Jono(Jos(floor(sqrt(a b)) ≟ sqrt(a b), (a, b)), a, 1, 100), b, 1, 100)