Kokeellista matematiikkaa SAGE:lla

Koko: px
Aloita esitys sivulta:

Download "Kokeellista matematiikkaa SAGE:lla"

Transkriptio

1 Kokeellista matematiikkaa SAGE:lla Tutkin GeoGebralla 1 luonnollisen luvun jakamista tekijöihin 2. GeoGebran funktio Alkutekijät jakaa luvun tekijöihin ja tuottaa alkutekijät listana. GeoGebrassa lista esitetään kaarisulkujen {lista} avulla. Alla mustalla Courier-fontilla oleva teksti on GeoGebran Syöttökenttään kirjoitettu teksti ja sininen Algebra-ikkunaan ilmestyvä arvo. Alkutekijät[42] lista1 = {2, 3, 7} Listan jäsenet voi laskea yhteen Summa-funktiolla. Summa[lista1] a=12 Toistetaan laskutoimituksia eteenpäin eli iteroidaan ja katsotaan mitä tapahtuu. Alkutekijät[12] lista2 = {2, 2, 3} Summa[lista2] b = 7 Alkutekijät[7] lista3 = {7} Koska 7 on alkuluku iterointi jää jumiin lukuun 7. Kuva 1 GeoGebran objektiluettelo Näin voidaankin alkaa tutkia mitä tahansa luonnollista lukua ja pohtia mihin iterointi päättyy. Kun keksin tämän leikin, niin työmatkallani sain ajan kulumaan kun yritin laskea päässä eri luvun alkutekijöiden summia. Tosin autoillessa pitää kiinnittää huomio myös ajamiseen. Tarkempi määrittely voisi olla vaikka seuraava. Toki ensin pitäisi todistaa, että jokaisella x:n arvolla iterointi päättyy siten, että sama luku toistuu. Laitan tässä tarinassa laatikkoon sellaiset kohdat, jotka vaativat lukijalta ongelmanratkaisua. Todista, että edellä esitetty iterointi päätyy jossain vaiheessa tilanteeseen, että sama luku toistuu

2 Määritelmä: Olkoon x ykköstä suurempi luonnollinen luku ja f(x) = luvun x alkutekijöiden summa. Määritellään jono a = a 1,a 2,... ( ) seuraavasti: a 1 = x a n+1 = f ( a n ),kun n > 1 Funktio mr(x) = a n,kun a n = a n+1. Tutkitaan GeoGebralla mr-funktiota muutamalla luvulla. Kuva 2 mr-funktion arvoja GeoGebralla Näin ollen mr(2) = 2 mr(3) = 3 mr(4) = 4 mr(5) = 5 mr(6) = 5 Tuntuu siltä, että lukua 4 lukuunottamatta mr -funktion arvot tulevat olemaan alkulukuja. Jätetään tämän asian perustelu todistettavaksi lukijalle. Funktion tutkimista SAGE:lla GeoGebralla on aika vaikeata tutkia tällaista funktiota ohjelmallisesti. Niinpä päätin käyttää SAGE-ohjelmaa 3 apuna 4. SAGE on ilmainen Python-ohjelmointikielellä toimiva matemaattinen ohjelma. Katsotaan aluksi muutama esimerkki SAGE:n funktioista. Alla mustalla Courier-fontilla ovat SAGE-ohjelmaan kirjoitettuja syötteitä ja siniset SAGE:n laskemia tulosteita. 3 2

3 factor(42) 2 * 3 * 7 SAGE:n factor-funktio tuottaa tekijät kertolaskumuodossa. prime_factors(42) [2, 3, 7] prime_factors(18) [2, 3] Prime_factors-funktio näyttäisi hyvältä, mutta se ei kerro tekijöiden lukumäärää. list(factor(42)) [(2, 1), (3, 1), (7, 1)] Sagen list-funktion avulla factor tulostuu lista, jonka jäseninä ovat tekijät ja niiden lukumäärät Python-kielen tuple-tyyppisinä olioina. Tällä tavalla saadaan tekijöiden summa laskettua ohjelmallisesti. Määritellään ensin apufunktio f, joka laskee luvun tekijöiden summan. Esimerkiksi: f(42) = = 12. def f(luku): summa = 0 lista = list(factor(luku)) for i in lista: summa = summa + i[0]*i[1] return summa SAGE:ssa ohjelmat ja funktiot määritellään def-komennon avulla. Kahdella ensimmäisellä rivillä luodaan apumuuttujat summa ja lista. Kolmannella rivillä luodaan silmukka, jonka avulla listan alkioiden tekijät kerrotaan lukumäärällä ja lasketaan yhteen. Esimerkiksi jos tutkittava luku on 18 niin ohjelma toimii seuraavasti: f(18) luku = 18 summa = 0 lista = [(2, 1), (3, 2)] for-silmukassa i = (2, 1) #listan [(2, 1), (3, 2)] nollas alkio #huomaa, että SAGE indeksöi listan alkiot #alkaen nollasta i[0] = 2 #tuplen (2, 1) nollas jäsen i[1] = 1 summa = = 2 i = (3, 2) i[0] = 3 i[1] = 2 summa = = 8 return(8) = 8 #return palauttaa funktion arvoksi 8. Lasketaan muutamia arvoja. 3

4 for j in range(2, 11): print j, f(j) Pythonin range(alku, loppu)-funktio luo listan, jonka ensimmäinen alkio on alku ja viimeinen loppu 1. Luodaan lopullinen mr-funktio käyttämällä while-silmukkaa. SAGE:ssa erisuuruus merkitään vertailuissa!= -merkeillä. Tässä luotetaan siihen, että iterointi päättyy jossain vaiheessa. def mr(n): eka = n toka = f(n) while eka!= toka: eka = toka toka= f(eka) return(eka) Katsotaan miten SAGE laskee kun suoritetaan mr(18). mr(18) n = 18 eka = 18 toka = f(18) = 8 eka toka eka = 8 toka = f(8) = 6 eka toka eka = 6 toka f (6) = 5 eka toka eka 5 toka 5 eka = toka return(5) Kuvaajia ja ongelmia Tehdään lista, jossa on luetteloitu (x, f(x)). SAGE:ssa kommetti merkitään #-merkillä. def tulostuslistaksi(n): lista = [] for i in range(2, n): #range tuottaa listan [2, 3,, n-1] lista.append((i,mr(i))) #metodi append lisää listan loppuun return(lista) print tulostuslistaksi(51) [(2, 2), (3, 3), (4, 4), (5, 5), (6, 5), (7, 7), (8, 5), (9, 5), (10,7), (11, 11), (12, 7), (13, 13), (14, 5), (15, 5), (16, 5), (17, 17),(18, 5), (19, 19), (20, 5), (21, 7), (22, 13), (23, 23), (24, 5), (25, 7), (26, 5), (27, 5), (28, 11), (29, 29), (30, 7), (31, 31), (32, 4

5 7), (33, 5), (34, 19), (35, 7), (36, 7), (37, 37), (38, 7), (39, 5), (40, 11), (41, 41), (42, 7), (43, 43), (44, 5), (45, 11), (46, 7), (47, 47),(48, 11), (49, 5), (50, 7)] Listasta nähdään, että kun x > 4 niin f:n arvot ovat alkulukuja. Ja tietysti f(x) = x kun x on alkuluku. Tulostetaan lista koordinaatistoon scatter_plot(tulostuslistaksi(100), marker = ".") Kuva 3 mr-funktion arvoja Kuvaajasta nähdään, että osa pisteistä näyttäisi olevan lähes samalla suoralla. Lisätään kuvaan muutamia suoria muotoa y = x, missä n saa arvoja [1, 2,, 8] n scatter_plot(tulostuslistaksi(100), marker = ".") + plot([x/n for n in [1..8]], (1,100)) Kuva 4 mr-funktio suorien kanssa Lisätään pisteitä. 5

6 Kuva pistettä Kuva pistettä Vaikuttaa siltä, että suorien y = x n läheisyyteen osuu vähän pisteitä jos n > 1 on pariton ja x on riittävän suuri. Miksi? Luodaan seuraavaksi lista, jossa on pelkät f:n arvot. def tulostuslista(n): lista = [] for i in range(2, n): lista.append(mr(i)) return(lista) arvot = tulostuslista(100) arvot = [0,0]+arvot arvot [0, 0, 2, 3, 4, 5, 5, 7, 5, 5, 7, 11, 7, 13, 5, 5, 5, 17, 5, 19, 5, 7, 13, 23, 5, 7, 5, 5, 11, 29, 7, 31, 7, 5, 19, 7, 7, 37, 7, 5, 11, 41, 7, 43, 5, 11, 7, 47, 11, 5, 7, 5, 17, 53, 11, 5, 13, 13, 31, 59, 7, 61, 5, 13, 7, 5, 5, 67, 7, 5, 5, 71, 7, 73, 5, 13, 23, 5, 5, 79, 13, 6

7 7, 43, 83, 5, 13, 11, 7, 17, 89, 13, 5, 5, 19, 5, 5, 13, 97, 5, 17] Alkuun lisättiin kaksi nollaa, jotta seuraavassa kuvaajassa x-akselin arvot menevät oikein. bar_chart(arvot) Kuva 7 Pylväskaavio mr:n arvoista Periaatteessa tämä ei tuo lisäinformaatiota, mutta opin piirtämään pylväsdiagrammin. Luodaan lista, jossa on pisteinä funktion kahden peräkkäiset arvot tyyliin (f(x), f(f(x)). arvot=tulostuslista(1000) perakkaiset=[] for i in range(len(arvot)-1): perakkaiset.append((arvot[i],arvot[i+1])) Tässä len(arvot) on arvot-listan pituus (1000) ja range(len(arvot)-1) luo indeksöintiä varten listan[0, 1, 2,, 998]. Listassa on 999 alkiota, jotta viimeisellä ei mentäisi liian pitkälle. perakkaiset [(2, 3), (3, 4), (4, 5), poistetaan välistä muutama (13, 997), (997, 5), (5, 7)] line(perakkaiset) 7

8 Kuva 8 Viivat peräkkäisistä scatter_plot(perakkaiset, marker = ".") Kuva 9 Peräkkäiset pisteinä Lisätään muutama suora. 8

9 scatter_plot(perakkaiset, marker = ".")+ plot([n*x for n in [1..4]], (1,220)) Vaikuttaa siltä, että parillisilla n:n arvoilla pisteitä sattuisi lähelle suoria y = nx. Miksi? Jätetään seuraavaksi alkuluvut pois funktion alkuarvoista. Primes() on alkulukujen joukko. def tulostuslistaksi(n): P = Primes() lista = [] for i in range(2, n): if not i in P: lista.append((i,mr(i))) return(lista) ilmanalkulukuja = tulostuslistaksi(100) ilmanalkulukuja [(4, 4), (6, 5), (98, 5), (99, 17)] Piirretään alkuluvut pystyakselille. Koska P muuttuja on määritelty funktion sisällä, se pitää määritellä uudestaan. P = Primes() scatter_plot(ilmanalkulukuja, marker = ".") + plot([p.unrank(n) for n in [1..15]],(0,100)) 9

10 Kuva 10 Arvojoukko ilman alkulukuja lähtöjoukossa Tietysti kaikki arvot sattuvat alkulukujen kohdalle kun x > 4. Luvun 29 kohdalle ei satu yhtään f:n arvoa, kun alkuluvut on jätetty pois alkuarvoista. Tässä vaiheessa alkaa kiinnostaa osuuko jokaisen alkuluvun kohdalle jokin mr-funktion arvo. Väitteeni on, että tietysti sinne osuu. Jokainen alkuluku, joka on suurempi kuin 4 voidaan esittää kahden tai useamman alkuluvun summana, vai voiko? Riittääkö edellisen virkkeen todistaminen osoittamaan, että mr:n arvojoukko (kun määrittelyjoukossa ei ole alkulukuja) sisältää kaikki kolmosta suuremmat alkuluvut. Kuva 11 Enemmän pisteitä ilman alkulukuja määrittelyjoukossa Luodaan lista nimeltä arvot, siinä on alkioina funktion mr arvot kun alkuarvoista on poistettu alkuluvut. 10

11 def arvotlistaksi(n): P = Primes() lista = [] for i in range(2, n): if not i in P: lista.append(mr(i)) return(lista) arvot = arvotlistaksi(100000) Listataan alkuluvut ja totuusarvo, jos alkuluku on arvot-listassa. P.unrank-funktion avulla saa alkuluvut. Esimerkissä ensimmäinen ja 42. alkuluku (Sagen mielestä nollas ja 41. alkuluku). P = Primes() P.unrank(0) 2 P.unrank(41) 181 for i in range(2, 1000): print P.unrank(i), P.unrank(i) in arvot WARNING: Output truncated! full_output.txt 5 True 7 True 11 True False False 7907 True 7919 False Kun testataan :lla mr:n arvolla ja ensimmäisellä alkuluvulla, niin ensimmäinen alkuluku, jolla väittämä ei pidä paikkaansa on Miljoonalla mr:n alkuarvolla ja ensimmäisellä alkuluvulla, ensimmäinen luku, joka ei toteuta väittämää on arvot = arvotlistaksi( ) for i in range(2, 10000): if not P.unrank(i) in arvot: print P.unrank(i), P.unrank(i) in arvot WARNING: Output truncated! 8923 False 8999 False 11

12 Lisää pohdittavaa Kuinka pitkiä ovat f-funktion iteraatiot? Todista, että jokainen alkuluku voidaan esittää alkulukujen summana. Riittääkö edellisen lauseen todistaminen todistamaan että mr-funktio on hyvin määritelty, eli että jokaisella x:n arvolla f-funktion iteraatio päätyy silmukkaan, jossa sama luku toistuu. Todista, että jokainen luku voidaan esittää alkulukujen summana. Kuinka monta alkulukua tarvitaan, että jokainen alkuluku voidaan esittää niiden summana. Esimerkiksi 5 = eli tarvitaan kaksi alkulukua mutta 11 = = eli tarvitaan kolme alkulukua. Riittääkö kolme alkulukua vai tarvitaanko jollekin alkuluvulle enemmän? Miten tilanne muuttuu, jos käytetään f-funktion määrittelyssä luvun alkutekijöitä siten, että summaan hyväksytään vain eri alkuluvut? 18 = ja f(18) = = 5. Mitä jos tekijöihin mukaan otetaan luku yksi? 18 = ja f(18) = = 9. SAGE SAGE on ladattavissa osoitteesta Tiedosto on reilut 500 Mt ja asentaminen MacOS ja Linux käyttöjärjestelmille on suhteellisen helppoa. Windows vaatii VirtuaBox-ohjelmiston, joten asennus on hankalahkoa. Helpointa on kokeilla SAGE:a Try SAGE Online sivustolla. Kirjautumisen jälkeen SAGE-palvelimelle voi tallentaa omia tiedostoja. SAGE käyttää käyttöliittymänä selainta. SAGE on Python kielen murre tai paremminkin matemaattinen laajennus. Siinä on valtava määrä funktioita matematiikan eri osa-alueilta. Opiskelun apuna voi käyttää Jussi Pekka Kasurisen Python 3 ohjelmointi kirjaa (Dodenco 2009 tai ilmaista Finch, Sage Beginner s Guide, Packt Jälkimmäinen löytyy myös ilmaiseksi verkosta Tietysti World Wibe Webistä löytyy valtavasti lisämateriaalia SAGE:n opiskeluun ja tämänkin tarinan ongelmien ratkaisemisen avuksi. Lopuksi Tämä tarina ja sen uudemmat versiot ja tarinaan liittyvä SAGE-tiedosto löytyy blogistani osoitteessa 12

ISSN-L 0782-6648 ISSN 0782-6648 (Painettu) ISSN 1798-9744 (verkkojulkaisu) edimensio on MAOLin sähköinen lehti. Julkaisija: Matemaattisten aineiden

ISSN-L 0782-6648 ISSN 0782-6648 (Painettu) ISSN 1798-9744 (verkkojulkaisu) edimensio on MAOLin sähköinen lehti. Julkaisija: Matemaattisten aineiden ISSN-L 0782-6648 ISSN 0782-6648 (Painettu) ISSN 1798-9744 (verkkojulkaisu) edimensio on MAOLin sähköinen lehti. Julkaisija: Matemaattisten aineiden opettajien liitto MAOL ry. Saatavissa: http://www.maol.fi/julkaisut/edimensio/

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 1 Matemaattisesta päättelystä Matemaattisen analyysin kurssin (kuten minkä tahansa matematiikan kurssin) seuraamista helpottaa huomattavasti, jos opiskelija ymmärtää

Lisätiedot

LUKUTEORIA A. Harjoitustehtäviä, kevät 2013. (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

LUKUTEORIA A. Harjoitustehtäviä, kevät 2013. (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että LUKUTEORIA A Harjoitustehtäviä, kevät 2013 1. Olkoot a, b, c Z, p P ja k, n Z +. (a) Osoita, että jos niin Osoita, että jos niin (c) Osoita, että jos niin (d) Osoita, että (e) Osoita, että a bc ja a c,

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015

815338A Ohjelmointikielten periaatteet 2014-2015 815338A Ohjelmointikielten periaatteet 2014-2015 X Skriptiohjelmointi Sisältö 1. Johdanto 2. Skriptikielten yleispiirteitä 3. Python 815338A Ohjelmointikielten periaatteet, Skriptiohjelmointi 2 X.1 Johdanto

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015 Ohjelmoinnin perusteet Pythonilla Teemu Sirkiä, 2015 Päivitetty 16.9.2015 Yleistä Materiaali sisältää lähinnä Aalto-yliopiston Ohjelmoinnin peruskurssi Y1:n harjoitustehtävissä tarvittavia keskeisiä asioita

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja?

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja? Nimi Koulutus Ryhmä Jokaisessa tehtävässä on vain yksi vastausvaihtoehto oikein. Laske tehtävät ilman laskinta.. Missä pisteessä suora y = 3x 6 leikkaa x-akselin? A. 3 D. B. E. en tiedä C. 6. Mitkä luvuista,,,

Lisätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0

Lisätiedot

plot(f(x), x=-5..5, y=-10..10)

plot(f(x), x=-5..5, y=-10..10) [] Jokaisen suoritettavan rivin loppuun ; [] Desimaalierotin Maplessa on piste. [] Kommentteja koodin sekaan voi laittaa # -merkin avulla. Esim. #kommentti tähän [] Edelliseen tulokseen voi viitata merkillä

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion. Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion. Vastaavuus puolestaan on erikoistapaus relaatiosta.

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Matematiikan mestariluokka, syksy 2009 7

Matematiikan mestariluokka, syksy 2009 7 Matematiikan mestariluokka, syksy 2009 7 2 Alkuluvuista 2.1 Alkuluvut Määritelmä 2.1 Positiivinen luku a 2 on alkuluku, jos sen ainoat positiiviset tekijät ovat 1 ja a. Jos a 2 ei ole alkuluku, se on yhdistetty

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2011 1 / 37 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

+ 3 2 5 } {{ } + 2 2 2 5 2. 2 kertaa jotain

+ 3 2 5 } {{ } + 2 2 2 5 2. 2 kertaa jotain Jaollisuustestejä (matematiikan mestariluokka, 7.11.2009, ohjattujen harjoitusten lopputuloslappu) Huom! Nämä eivät tietenkään ole ainoita jaollisuussääntöjä; ovatpahan vain hyödyllisiä ja ainakin osittain

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

MAT-13510 Laaja Matematiikka 1U. Hyviä tenttikysymyksiä T3 Matemaattinen induktio

MAT-13510 Laaja Matematiikka 1U. Hyviä tenttikysymyksiä T3 Matemaattinen induktio MAT-13510 Laaja Matematiikka 1U. Hyviä tenttikysymyksiä T3 Matemaattinen induktio Olkoon a 1 = a 2 = 5 ja a n+1 = a n + 6a n 1 kun n 2. Todista induktiolla, että a n = 3 n ( 2) n, kun n on positiivinen

Lisätiedot

4 / 2013 TI-NSPIRE CAS TEKNOLOGIA LUKIOSSA. T3-kouluttajat: Olli Karkkulainen ja Markku Parkkonen

4 / 2013 TI-NSPIRE CAS TEKNOLOGIA LUKIOSSA. T3-kouluttajat: Olli Karkkulainen ja Markku Parkkonen 4 / 2013 TI-NSPIRE CAS TEKNOLOGIA LUKIOSSA T3-kouluttajat: Olli Karkkulainen ja Markku Parkkonen 1 2 TI-Nspire CX CAS kämmenlaite kevään 2013 pitkän matematiikan kokeessa Tehtävä 1. Käytetään komentoa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

Raja-arvo ja jatkuvuus, L5

Raja-arvo ja jatkuvuus, L5 ja jatkuvuus, L5 1 Wikipedia: (http://fi.wikipedia.org/wiki/ ) 2 Funktion f () = 2 4 2 a ei voi laskea kohdassa = 2. Jos eroaa kahdesta ( 2), niin funktion voidaan laskea ja seuraavasta taulukosta nähdään,

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

Lisätiedot

1.1 Funktion määritelmä

1.1 Funktion määritelmä 1.1 Funktion määritelmä Tämän kappaleen otsikoksi valittu funktio on hyvä esimerkki matemaattisesta käsitteestä, johon usein jopa tietämättämme törmäämme arkielämässä. Tutkiessamme erilaisia Jos joukkojen

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto

Lisätiedot

Matematiikan ilmiöiden tutkiminen GeoGebran avulla

Matematiikan ilmiöiden tutkiminen GeoGebran avulla Johdatus GeoGebraan Matematiikan ilmiöiden tutkiminen GeoGebran avulla Harjoitus 1B. Konstruoi tasakylkinen kolmio ABC, jonka kyljen pituus on 5. Vihje: käytä Kiinteä jana työvälinettä kahdesti. Ota kolmion

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Äärellisesti generoitujen Abelin ryhmien peruslause

Äärellisesti generoitujen Abelin ryhmien peruslause Tero Harju (2008/2010) Äärellisesti generoitujen Abelin ryhmien peruslause Merkintä X on joukon koko ( eli #X). Vapaat Abelin ryhmät Tässä kappaleessa käytetään Abelin ryhmille additiivista merkintää.

Lisätiedot

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 12.4.2016 Julkaiseminen sallittu vain koulun suljetussa verkossa.

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 12.4.2016 Julkaiseminen sallittu vain koulun suljetussa verkossa. KERTAUS Lukujono KERTAUSTEHTÄVIÄ K1. Ratkaisussa annetaan esimerkit mahdollisista säännöistä. a) Jatketaan lukujonoa: 2, 4, 6, 8, 10, 12, 14, 16, Rekursiivinen sääntö on, että lukujonon ensimmäinen jäsen

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Tieteellinen laskenta 2 Törmäykset

Tieteellinen laskenta 2 Törmäykset Tieteellinen laskenta 2 Törmäykset Aki Kutvonen Op.nmr 013185860 Sisällysluettelo Ohjelman tekninen dokumentti...3 Yleiskuvaus...3 Kääntöohje...3 Ohjelman yleinen rakenne...4 Esimerkkiajo ja käyttöohje...5

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 16.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 16.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

C++ Ohjelmoijan käsikirja. Johdanto

C++ Ohjelmoijan käsikirja. Johdanto Johdanto C++ Ohjelmoijan käsikirja Johdanto Tervetuloa Inside C++-kirjan pariin. Tämä on opaskirja standardi C++:n käyttöön. Käsittelemme kirjassa kaikki syntaksin, kieliopin, olio-ohjelmoinnin ja standardikirjastojen

Lisätiedot

1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut

1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut ja kompleksiluvut ja kompleksiluvut 1.1 MS-A0007 Matriisilaskenta 1. ja kompleksiluvut Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 26.10.2015 Reaalinen

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Euroopan Unionin Kotouttamisrahasto osallistuu hankkeen rahoittamiseen.

Euroopan Unionin Kotouttamisrahasto osallistuu hankkeen rahoittamiseen. AGORA OLARIN KOULU MATEMATIIKKA Rita Järvinen ja Maija Gustafsson 2015 Euroopan Unionin Kotouttamisrahasto osallistuu hankkeen rahoittamiseen. FUNKTIOMATERIAALI SISÄLTÄÄ säännönmukaisuuksia funktiokoneella

Lisätiedot

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja. IsoInt Tietokoneiden muisti koostuu yksittäisistä muistisanoista, jotka nykyaikaisissa koneissa ovat 64 bitin pituisia. Muistisanan koko asettaa teknisen rajoituksen sille, kuinka suuria lukuja tietokone

Lisätiedot

Kaikkia alla olevia kohtia ei käsitellä luennoilla kokonaan, koska osa on ennestään lukiosta tuttua.

Kaikkia alla olevia kohtia ei käsitellä luennoilla kokonaan, koska osa on ennestään lukiosta tuttua. 6 Alkeisfunktiot Kaikkia alla olevia kohtia ei käsitellä luennoilla kokonaan, koska osa on ennestään lukiosta tuttua. 6. Funktion määrittely Funktio f : A B on sääntö, joka liittää jokaiseen joukon A alkioon

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Turmeleeko ohjelmointi nuorisomme?

Turmeleeko ohjelmointi nuorisomme? Solmu 2/2015 1 Turmeleeko ohjelmointi nuorisomme? Antti Laaksonen Tietojenkäsittelytieteen laitos, Helsingin yliopisto ahslaaks@cs.helsinki.fi Uuden peruskoulun opetussuunnitelman mukaan syksystä 2016

Lisätiedot

Luku 3. Listankäsittelyä. 3.1 Listat

Luku 3. Listankäsittelyä. 3.1 Listat Luku 3 Listankäsittelyä Funktio-ohjelmoinnin tärkein yksittäinen tietorakenne on lista. Listankäsittely on paitsi käytännöllisesti oleellinen aihe, se myös valaisee funktio-ohjelmoinnin ideaa. 3.1 Listat

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 14.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 14.2.2011 1 / 55 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 18.3.2015 HYVÄN VASTAUKSEN PIIRTEITÄ

MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 18.3.2015 HYVÄN VASTAUKSEN PIIRTEITÄ MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 8..05 HYVÄN VASTAUKSEN PIIRTEITÄ Alla oleva vastausten piirteiden, sisältöjen ja pisteitysten luonnehdinta ei sido ylioppilastutkintolautakunnan arvostelua. Lopullisessa

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 11.11.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 11.11.2015 1 / 23 Kertausluento Luennolla käydään läpi tenttivaatimuksia ja vanhoja tenttitehtäviä. Lisäksi luennolla

Lisätiedot

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla. HY / Avoin ylioisto Johdatus yliopistomatematiikkaan, kesä 201 Harjoitus 7 Ratkaisut palautettava viimeistään perjantaina 26.6.201 klo 16.00. Huom! Luennot ovat salissa CK112 maanantaista 1.6. lähtien.

Lisätiedot

ASCII-taidetta. Intro: Python

ASCII-taidetta. Intro: Python Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.

Lisätiedot

a) Mikä on integraalifunktio ja miten derivaatta liittyy siihen? Anna esimerkki. 8 3 + 4 2 0 = 16 3 = 3 1 3.

a) Mikä on integraalifunktio ja miten derivaatta liittyy siihen? Anna esimerkki. 8 3 + 4 2 0 = 16 3 = 3 1 3. Integraalilaskenta. a) Mikä on integraalifunktio ja miten derivaatta liittyy siihen? Anna esimerkki. b) Mitä määrätty integraali tietyllä välillä x tarkoittaa? Vihje: * Integraali * Määrätyn integraalin

Lisätiedot

1.4 Funktion jatkuvuus

1.4 Funktion jatkuvuus 1.4 Funktion jatkuvuus Kun arkikielessä puhutaan jonkin asian jatkuvuudesta, mielletään asiassa olevan jonkinlaista yhtäjaksoisuutta, katkeamattomuutta. Tässä ei kuitenkaan käsitellä työasioita eikä ihmissuhteita,

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan

Lisätiedot

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä. Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä. Kaksi järjestettyä paria ovat samat, jos niillä on samat ensimmäiset alkiot ja samat toiset alkiot:

Lisätiedot

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi lötköjen kansoittamaa alkulimaa simuloiva olioperustainen ohjelma Java-kielellä. Lötköt säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti

Lisätiedot

Esimerkki kaikkialla jatkuvasta muttei missään derivoituvasta funktiosta

Esimerkki kaikkialla jatkuvasta muttei missään derivoituvasta funktiosta Esimerkki kaikkialla jatkuvasta muttei missään derivoituvasta funktiosta Seminaariaine Miikka Rytty Matemaattisten tieteiden laitos Oulun yliopisto 2004 Matemaattista ja historiallista taustaa Tämän kappaleen

Lisätiedot

KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU

KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN FYSIIKAN, KEMIAN JA MATEMATIIKAN XXIII KILPAILUN OSANA 23.1.2014 Huom: Tehtävä

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

Lisätiedot

Outoja funktioita. 0 < x x 0 < δ ε f(x) a < ε.

Outoja funktioita. 0 < x x 0 < δ ε f(x) a < ε. Outoja funktioita Differentiaalilaskentaa harjoitettiin miltei 200 vuotta ennen kuin sen perustana olevat reaaliluvut sekä funktio ja sen raja-arvo määriteltiin täsmällisesti turvautumatta geometriseen

Lisätiedot

Numeeriset menetelmät Pekka Vienonen

Numeeriset menetelmät Pekka Vienonen Numeeriset menetelmät Pekka Vienonen 1. Funktion nollakohta Newtonin menetelmällä 2. Määrätty integraali puolisuunnikassäännöllä 3. Määrätty integraali Simpsonin menetelmällä Newtonin menetelmä Newtonin

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Äärettömistä joukoista

Äärettömistä joukoista Äärettömistä joukoista Markku Halmetoja Mistä tietäisit, että sinulla on yhtä paljon sormia ja varpaita, jos et osaisi laskea niitä? Tiettyä voimisteluliikettä tehdessäsi huomaisit, että jokaista sormea

Lisätiedot

Matematiikka vuosiluokat 7 9

Matematiikka vuosiluokat 7 9 Matematiikka vuosiluokat 7 9 Matematiikan opetuksen ydintehtävänä on tarjota oppilaille mahdollisuus hankkia sellaiset matemaattiset taidot, jotka antavat valmiuksia selviytyä jokapäiväisissä toiminnoissa

Lisätiedot

Yhtälön ratkaiseminen

Yhtälön ratkaiseminen Yhtälön ratkaiseminen Suora iterointi Kirjoitetaan yhtälö muotoon x = f(x). Ensin päätellään jollakin tavoin jokin alkuarvo x 0 ja sijoitetaan yhtälön oikealle puolelle, jolloin saadaan tarkennettu ratkaisu

Lisätiedot

Neljän alkion kunta, solitaire-peli ja

Neljän alkion kunta, solitaire-peli ja Neljän alkion kunta, solitaire-peli ja taikaneliöt Kalle Ranto ja Petri Rosendahl Matematiikan laitos, Turun yliopisto Nykyisissä tietoliikennesovelluksissa käytetään paljon tekniikoita, jotka perustuvat

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos

Lisätiedot

Jatkuvat satunnaismuuttujat

Jatkuvat satunnaismuuttujat Jatkuvat satunnaismuuttujat Satunnaismuuttuja on jatkuva jos se voi ainakin periaatteessa saada kaikkia mahdollisia reaalilukuarvoja ainakin tietyltä väliltä. Täytyy ymmärtää, että tällä ei ole mitään

Lisätiedot

1. OSA: MURTOLUVUT, JAOLLISUUS JA ARKIPÄIVÄN MATEMATIIKKAA

1. OSA: MURTOLUVUT, JAOLLISUUS JA ARKIPÄIVÄN MATEMATIIKKAA 1. OSA: MURTOLUVUT, JAOLLISUUS JA ARKIPÄIVÄN MATEMATIIKKAA Tekijät: Hellevi Kupila, Katja Leinonen, Tuomo Talala, Hanna Tuhkanen, Pekka Vaaraniemi Alkupala Seuraavien tehtävien tekemiseen tarvitset tulitikkuja

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21 säilyy Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla c b a 1 2 3 5 1 / 21 säilyy Esimerkkirelaatio R = {(1, b), (3, a), (5, a), (5, c)} c b a 1

Lisätiedot

1.1. Ympäristön ja raja-arvon käsite

1.1. Ympäristön ja raja-arvon käsite .. Ympäristön ja raja-arvon käsite Matematiikan opintojen tässä vaiheessa aletaan olla kiinnostavimpien sisältöjen laidassa. Tähänastiset pitkän matematiikan opinnot ovat olleet kuin valmistelua, jatkossa

Lisätiedot

HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus)

HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus) HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus) Microsoft Windows Vista Business Microsoft Winodows 7 Professional Upgrade

Lisätiedot

Johdatus matemaattiseen päättelyyn

Johdatus matemaattiseen päättelyyn Johdatus matemaattiseen päättelyyn Oulun yliopisto Matemaattisten tieteiden laitos 2011 Maarit Järvenpää 1 Todistamisesta Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta.

Lisätiedot

a b c d + + + + + + + + +

a b c d + + + + + + + + + 28. 10. 2010!"$#&%(')'+*(#-,.*/1032/465$*784 /(9:*;9."$ *;5> *@9 a b c d 1. + + + 2. 3. 4. 5. 6. + + + + + + + + + + P1. Valitaan kannaksi sivu, jonka pituus on 4. Koska toinen jäljelle jäävistä sivuista

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ... 1. Tietorakenteet Tietorakenteet organisoivat samankaltaisten olioiden muodostaman tietojoukon. Tämä järjestys voidaan saada aikaan monin tavoin, esim. Keräämällä oliot taulukkoon. Liittämällä olioihin

Lisätiedot

Tentti: T-106.1210 Ohjelmoinnin peruskurssi, osa 1. Yleistä. Tehtävä 1

Tentti: T-106.1210 Ohjelmoinnin peruskurssi, osa 1. Yleistä. Tehtävä 1 ./ Tentti: T-106.1210 Ohjelmoinnin peruskurssi, osa 1 Tenttipäivä: 13.12. 2011 El APUVÄLINEITÄ Yleistä Tentissä on kaksi tehtävää. Ensimmäinen tehtävä on tärkeämpi: sillä pyritään varmistamaan, että jokaisella

Lisätiedot