GeoGebra/Python -versio

Syksyn GeoGebra-konferenssissa Markus Hohenwarter julkisti GeoGebran Python-version olevan kehitteillä. Viime torstain Community Gatheringissä Michael Borcherds esitteli hankkeen tämän hetkisen tilan. 

Gathering Meet on Zoom löytyy täältä. ”Mad Scientist” Miken osuus alkaa noin kohdasta 1:07:30.

Syksyn GeoGebra-konferenssin jälkeen olen voinut testailla GeoGebran Pythonin eri versioita ja olen yllättynyt kuinka hyvin se toimii jo nyt tässä varhaisessa kehitysvaiheessa. Tämä on vasta beta-versio tyyliin 0.2. Ulkoasu ja toiminnallisuus tulevat vielä muuttumaan paljon. Tässä versiossa ei esimerkiksi voi tallentaa omaa koodia. Testiversio löytyy osoitteesta https://bennorth.github.io/python-geogebra/ 

Kuvasssa on testiversion esimerkkikoodi 2 lisättynä rivin 14 print()-funktiolla. GeoGebra-komennot alkavat isolla kirjaimella, muu koodi on pythonia. Vasemman reunan musta ikkuna on koodieditori. Jos koodissa on GeoGebran komentoja, jotka tuottavat GeoGebra-objekteja, niin ne näkyvät oikean reunan GeoGebran Piirtoalueella. Koodieditorin alla on ikkuna, jonne voi tulostaa tuotoksia Pythonin print() -funktiolla.  Siellä näkyvät myös mahdolliset virhe-ilmoitukset. Open in GeoGebra -painike avaa Piirtoalueen GeoGebram verkkoversiossa. Näin tuotoksia pääsee muokkaamaan helposti GeoGebrassa.

Idea hyn aika pitkälti sama kuin Abittin Python editorissa.

Alla on koodi, jolla tutkin yksikkömurtolukujen 1/n jaksojen pituuksia. Vaaka-akselilla on n ja pystyakselilla 1/n:n desimaalikehitelmän jakson pituus. Rivillä 22 luodaan pisteet GeoGebraan. Rivillä 24 nimetään GeoGebran piste ja rivillä 25 muutetaan sen väri punaiseksi. Koodi löytyy tarinan lopusta.

Minä olen innoissani tästä projektista. Jo nyt versio on ihan käyttökelpoinen, toki koodin kirjoittamisessa apuna kannattaa käyttää jotain oikeaa Python kehitysympäristöä tässä vaiheessa.

desimaalikoodi

Koodiin liittyvä tarina on täällä. https://mikkorahikka.blog/2022/09/29/yksikkomurtolukujen-desimaalikehitelmien-jakson-pituuksista-2-jakson-pituus-pythonilla/

def jakso(nimittaja):

    jaannos=1%nimittaja

    jaannokset=[]

    desimaalit=[]

    while jaannokset.count(jaannos)==0:

        jaannokset.append(jaannos)

        desimaali=10*jaannos//nimittaja

        jaannos=10*jaannos%nimittaja

        desimaalit.append(desimaali)

    pituus=len(jaannokset)-jaannokset.index(jaannos)

    if jaannos==0:

       pituus =0

       desimaalit=[]

    return(pituus)

montako = 100

jaksot=[]

for i in range(montako):

  x, y= i+1, jakso(i+1)

  jaksot.append(y)

  Point(x, y)

Kumma = Point(7**2, jakso(7**2))

Kumma.color = ”red”

print(jaksot)

Advertisement

One Reply to “GeoGebra/Python -versio”

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggaajaa tykkää tästä: