Sovellus: Derivoinnin osaamista testaava opetusohjelma (tehtävät tiedostossa)

264 days ago by Lauri_Ruotsalainen

Derivoinnin osaamista testaava opetusohjelma, jossa tehtävät luetaan tiedostosta

Lauri Ruotsalainen, 2010

Huomautus: Ohjelma edellyttää, että työarkin yhteyteen on tallennettu derivoitavat funktiot sisältävä tekstitiedosto (functions.txt), jossa kullakin rivillä on yksi funktio.

Kuva:


 

# Luetaan funktiot tiedostosta. funktiot = [l.strip() for l in file(DATA+"functions.txt", "rt")] # Alustetaan apumuuttujat. funktio(x) = funktiot[0] laskuri = 0 oikein = 0 uusitehtava = True naytaratkaisu = True @interact def _(vastaus = input_box(), uusi = checkbox(default = False, label = "Uusi tehtävä"), ratkaisu=checkbox(default = False, label = "Näytä vastaus")): # Globaalit muuttujat. global funktiot, funktio, laskuri, oikein, uusitehtava, naytaratkaisu if laskuri < len(funktiot): if vastaus == derivative(funktio(x)): html("$\\text{Oikein!}$") oikein += 1 uusitehtava = not uusi elif vastaus and ratkaisu != naytaratkaisu and uusi != uusitehtava: html("$\\text{Virhe. Yritä uudestaan!}$") if uusi == uusitehtava: uusitehtava = not uusi laskuri += 1 if laskuri < len(funktiot): html("$\\text{Uusi tehtävä:}$") funktio(x) = funktiot[laskuri] if laskuri == len(funktiot): html("$\\text{Tehtävät loppuivat. Sait %s/%s oikein!}$"%(oikein,len(funktiot))) else: html("$\\text{Derivoi: }\;\;\;\;%s$<br>"%latex(funktio(x))) if ratkaisu == naytaratkaisu: naytaratkaisu = not ratkaisu html("$\\text{Vastaus: }\;\;\;\;%s$<br>"%latex(derivative(funktio(x)))) 
       

Click to the left again to hide and once more to show the dynamic interactive window