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 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

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

Python-ohjelmointi Harjoitus 2

Python-ohjelmointi Harjoitus 2 Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento

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

Matematiikan tukikurssi, kurssikerta 1

Matematiikan tukikurssi, kurssikerta 1 Matematiikan tukikurssi, kurssikerta 1 1 Joukko-oppia Matematiikassa joukko on mikä tahansa kokoelma objekteja. Esimerkiksi joukkoa A, jonka jäseniä ovat numerot 1, 2 ja 5 merkitään A = {1, 2, 5}. Joukon

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

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 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

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

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

Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta.

Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta. Väitelause Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta. Tässä P:tä kutsutaan oletukseksi ja Q:ta väitteeksi. Jos yllä oleva väitelause on totta, sanotaan, että P:stä

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

58131 Tietorakenteet ja algoritmit (syksy 2015)

58131 Tietorakenteet ja algoritmit (syksy 2015) 58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen

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

Todistusmenetelmiä Miksi pitää todistaa?

Todistusmenetelmiä Miksi pitää todistaa? Todistusmenetelmiä Miksi pitää todistaa? LUKUTEORIA JA TO- DISTAMINEN, MAA11 Todistus on looginen päättelyketju, jossa oletuksista, määritelmistä, aksioomeista sekä aiemmin todistetuista tuloksista lähtien

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

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

Lisätiedot

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus, malliratkaisut 1.-5.9.009 1. Muodosta joukot A B, A B ja A\B sekä laske niiden alkioiden lukumäärät (mikäli kyseessä on äärellinen

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 25.1.2010 1 / 41 Valintakäsky if Tähänastiset ohjelmat ovat toimineen aina samalla tavalla. Usein ohjelman pitäisi

Lisätiedot

4.3. Matemaattinen induktio

4.3. Matemaattinen induktio 4.3. Matemaattinen induktio Matemaattinen induktio: Deduktion laji Soveltuu, kun ominaisuus on osoitettava olevan voimassa luonnollisilla luvuilla. Suppea muoto P(n) : Ominaisuus, joka joka riippuu luvusta

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

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

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

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

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

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli

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

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu 811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Harjoitus 3 -- Ratkaisut

Harjoitus 3 -- Ratkaisut Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos

Lisätiedot

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa) Lukuteoria Lukuteoria on eräs vanhimmista matematiikan aloista. On sanottu, että siinä missä matematiikka on tieteiden kuningatar, on lukuteoria matematiikan kuningatar. Perehdymme seuraavassa luonnollisten

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

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista Matematiikan johdantokurssi, syksy 06 Harjoitus, ratkaisuista. Valitse seuraaville säännöille mahdollisimman laajat lähtöjoukot ja sopivat maalijoukot niin, että syntyy kahden muuttujan funktiot (ks. monisteen

Lisätiedot

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) 31.1.-4.2.2011 OT 1. Määritellään kokonaisluvuille laskutoimitus n m = n + m + 5. Osoita, että (Z, ) on ryhmä.

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen

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

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

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden

Lisätiedot

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.3.2010 1 / 49 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta: MATP00 Johdatus matematiikkaan Ylimääräisten tehtävien ratkaisuehdotuksia. Osoita, että 00 002 < 000 000. Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa. Lähdetään sieventämään epäyhtälön

Lisätiedot

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Tuntitehtävät 11-12 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 15-16 loppuviikon harjoituksissa. Kotitehtävät 13-14 tarkastetaan loppuviikon

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

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

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 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

Funktio 1. a) Mikä on funktion f (x) = x lähtöjoukko eli määrittelyjoukko, kun 0 x 5?

Funktio 1. a) Mikä on funktion f (x) = x lähtöjoukko eli määrittelyjoukko, kun 0 x 5? Funktio. a) Mikä on funktion f (x) = x + lähtöjoukko eli määrittelyjoukko, kun 0 x 5? b) Mikä on funktion f (x) = x + maalijoukko eli arvojoukko? c) Selitä, mikä on funktion nollakohta. Anna esimerkki.

Lisätiedot

Jokaisen parittoman kokonaisluvun toinen potenssi on pariton.

Jokaisen parittoman kokonaisluvun toinen potenssi on pariton. 3 Todistustekniikkaa 3.1 Väitteen kumoaminen vastaesimerkillä Monissa tilanteissa kohdataan väitteitä, jotka koskevat esimerkiksi kaikkia kokonaislukuja, kaikkia reaalilukuja tai kaikkia joukkoja. Esimerkkejä

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

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 Määrittelyjoukoista Tarkastellaan funktiota, jonka määrittelevä yhtälö on f(x) = x. Jos funktion lähtöjoukoksi määrittelee vaikkapa suljetun välin [0, 1], on funktio

Lisätiedot

LUKUTEORIA johdantoa

LUKUTEORIA johdantoa LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,

Lisätiedot

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Lue ohjeet huolellisesti!

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Lue ohjeet huolellisesti! MAA11 Koe.4.014 Jussi Tyni Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Lue ohjeet huolellisesti! A-Osio: Ei saa käyttää laskinta. MAOL saa olla alusta asti käytössä. Maksimissaan

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 peruskurssi 2

Matematiikan peruskurssi 2 Matematiikan peruskurssi Demonstraatiot III, 4.5..06. Mikä on funktion f suurin mahdollinen määrittelyjoukko, kun f(x) x? Mikä on silloin f:n arvojoukko? Etsi f:n käänteisfunktio f ja tarkista, että löytämäsi

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Matemaatiikan tukikurssi

Matemaatiikan tukikurssi Matemaatiikan tukikurssi Kurssikerta 1 1 Funktiot Funktion määritelmä Funktio on sääntö, joka liittää kahden eri joukon alkioita toisiinsa. Ollakseen funktio tämän säännön on liitettävä jokaiseen lähtöjoukon

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta kurssin alkuosasta II Algoritmien analyysi: oikeellisuus Algoritmin täydellinen oikeellisuus = Algoritmi päättyy ja tuottaa määritellyn tuloksen

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 23.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 23.3.2009 1 / 48 Olio metodin parametrina: luokka Tasovektori Halutaan kirjoittaa luokka kaksiulotteisen vektorin

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Matematiikan pohjatietokurssi

Matematiikan pohjatietokurssi Matematiikan pohjatietokurssi Demonstraatio 3, 15.9.014 1. Mitkä seuraavista voisivat olla funktion kuvaajia ja mitkä eivät? Miksi? (a) (b) (c) (d) Vastaus: Kuvaajat b ja c esittävät funktioita. Huomaa,

Lisätiedot

Matematiikan tukikurssi, kurssikerta 2

Matematiikan tukikurssi, kurssikerta 2 Matematiikan tukikurssi kurssikerta 1 Relaatioista Oletetaan kaksi alkiota a ja b. Näistä kumpikin kuuluu johonkin tiettyyn joukkoon mahdollisesti ne kuuluvat eri joukkoihin; merkitään a A ja b B. Voidaan

Lisätiedot

MATP153 Approbatur 1B Ohjaus 2 Keskiviikko torstai

MATP153 Approbatur 1B Ohjaus 2 Keskiviikko torstai MATP15 Approbatur 1B Ohjaus Keskiviikko 4.11. torstai 5.11.015 1. (Opiskeluteht. 6 s. 0.) Määritä sellainen vakio a, että polynomilla x + (a 1)x 4x a on juurena luku x = 1. Mitkä ovat tällöin muut juuret?.

Lisätiedot

Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. ( ) Jeremias Berg

Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. ( ) Jeremias Berg Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. (14.3-18.3) Jeremias Berg 1. Luettele kaikki seuraavien joukkojen alkiot: (a) {x Z : x 3} (b) {x N : x > 12 x < 7} (c) {x N : 1 x 7} Ratkaisu:

Lisätiedot

Alkulukujen harmoninen sarja

Alkulukujen harmoninen sarja Alkulukujen harmoninen sarja LuK-tutkielma Markus Horneman Oiskelijanumero:2434548 Matemaattisten tieteiden laitos Oulun ylioisto Syksy 207 Sisältö Johdanto 2 Hyödyllisiä tuloksia ja määritelmiä 3. Alkuluvuista............................

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I G. Gripenberg Aalto-yliopisto. maaliskuuta 05 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteet Esimerkkejä. ym.,

Lisätiedot

KERTAUS KERTAUSTEHTÄVIÄ K1. P( 1) = 3 ( 1) + 2 ( 1) ( 1) 3 = = 4

KERTAUS KERTAUSTEHTÄVIÄ K1. P( 1) = 3 ( 1) + 2 ( 1) ( 1) 3 = = 4 KERTAUS KERTAUSTEHTÄVIÄ K1. P( 1) = 3 ( 1) + ( 1) + 3 ( 1) 3 = 3 + 3 = 4 K. a) x 3x + 7x 5x = 4x + 4x b) 5x 3 (1 x ) = 5x 3 1 + x = 6x 4 c) (x + 3)(x 4) = x 3 4x + 3x 1 = x 3 + 3x 4x 1 Vastaus: a) 4x +

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

Yhtäpitävyys. Aikaisemmin osoitettiin, että n on parillinen (oletus) n 2 on parillinen (väite).

Yhtäpitävyys. Aikaisemmin osoitettiin, että n on parillinen (oletus) n 2 on parillinen (väite). Yhtäpitävyys Aikaisemmin osoitettiin, että n on parillinen (oletus) n 2 on parillinen (väite). Toisaalta ollaan osoitettu, että n 2 on parillinen (oletus) n on parillinen (väite). Nämä kaksi väitelausetta

Lisätiedot

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2 Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 21.3.2011 1 / 42 Listan alkiona viiteitä olioihin Halutaan tehdä ohjelma ohjelmointikurssien opiskelijoiden käsittelyyn.

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

b) Määritä/Laske (ei tarvitse tehdä määritelmän kautta). (2p)

b) Määritä/Laske (ei tarvitse tehdä määritelmän kautta). (2p) Matematiikan TESTI, Maa7 Trigonometriset funktiot RATKAISUT Sievin lukio II jakso/017 VASTAA JOKAISEEN TEHTÄVÄÄN! MAOL/LIITE/taulukot.com JA LASKIN ON SALLITTU ELLEI TOISIN MAINITTU! TARKISTA TEHTÄVÄT

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

Johdatus diskreettiin matematiikkaan (syksy 2009) Harjoitus 3, ratkaisuja Janne Korhonen

Johdatus diskreettiin matematiikkaan (syksy 2009) Harjoitus 3, ratkaisuja Janne Korhonen Johdatus diskreettiin matematiikkaan (syksy 009) Harjoitus 3, ratkaisuja Janne Korhonen 1. Väite: Funktio f : [, ) [1, ), missä on bijektio. f(x) = x + 4x + 5, Todistus: Luentomateriaalissa todistettujen

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

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos 19.9.2016 Pekka Alestalo, Jarmo

Lisätiedot

Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.)

Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.) Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.) LUKUTEORIA JA TODISTAMINEN, MAA11 Määritelmä, yhteinen tekijä ja suurin yhteinen tekijä: Annettujen lukujen a ja b yhteinen tekijä

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 ari.vesanen (at) oulu.fi 5. Rekursio ja induktio Rekursio tarkoittaa jonkin asian määrittelyä itseensä viittaamalla Tietojenkäsittelyssä algoritmin määrittely niin,

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Matemaattisen analyysin tukikurssi

Matemaattisen analyysin tukikurssi Matemaattisen analyysin tukikurssi 10. Kurssikerta Petrus Mikkola 22.11.2016 Tämän kerran asiat Globaali ääriarvo Konveksisuus Käännepiste L Hôpitalin sääntö Newtonin menetelmä Derivaatta ja monotonisuus

Lisätiedot

Kuinka määritellään 2 3?

Kuinka määritellään 2 3? Kuinka määritellään 2 3? y Nyt 3 = 1,7320508.... Luvut 3 2 x x 3 2 x 2 1 = 2, 2 1,7 3,2490, 2 1,73 3,3173, 2 1,732 3,3219,... ovat hyvin määriteltyjä koska näihin tarvitaan vain rationaalilukupotenssin

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I G. Gripenberg Aalto-yliopisto. maaliskuuta 05 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteet Esimerkkejä. ym.,

Lisätiedot

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1) Approbatur 3, demo, ratkaisut Sovitaan, että 0 ei ole luonnollinen luku. Tällöin oletusta n 0 ei tarvitse toistaa alla olevissa ratkaisuissa. Se, pidetäänkö nollaa luonnollisena lukuna vai ei, vaihtelee

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

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

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 6: Rajoite-esimerkki, funktionaalista ohjelmointia (mm. SICP 3.3.5, 3.5) Riku Saikkonen 8. 11. 2012 Sisältö 1 SICP 3.3.5 esimerkki: rajoitteiden vyörytysjärjestelmä

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2011 1 / 53 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Vastausehdotukset analyysin sivuainekurssin syksyn välikokeeseen

Vastausehdotukset analyysin sivuainekurssin syksyn välikokeeseen Vastausehdotukset analyysin sivuainekurssin syksyn 015 1. välikokeeseen Heikki Korpela November 1, 015 1. Tehtävä: funktio f : R R toteuttaa ehdot ax, kun x 1 f(x) x + 1, kun x < 1 Tutki, millä vakion

Lisätiedot