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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ 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

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

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

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

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

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

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

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

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

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

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

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on 13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu

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

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

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

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 22.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 22.3.2010 1 / 49 Lista luokan kenttänä Luokan kenttä voi olla myös esimerkiksi lista, sanakirja tai oliomuuttuja.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 14.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 14.4.2010 1 / 60 Mitä tämän kurssin jälkeen? T-106.1223 Tietorakenteet ja algoritmit Y (5 op) Tietorakenteita, esim.

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet ) T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet 9.1 9.5) 30.11. 3.12.2004 1. Osoita lauselogiikan avulla oheisten ehtolausekkeiden ekvivalenssi. (a)!(a

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

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

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetesimerkkejä,

Lisätiedot

(a) Kyllä. Jokainen lähtöjoukon alkio kuvautuu täsmälleen yhteen maalijoukon alkioon.

(a) Kyllä. Jokainen lähtöjoukon alkio kuvautuu täsmälleen yhteen maalijoukon alkioon. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 015 Harjoitus 4 Ratkaisuehdotuksia Tehtäväsarja I Seuraavat tehtävät liittyvät kuvauksiin. 1. Merkitään X = {1,,, 4}. Ovatko seuraavat säännöt

Lisätiedot

Linkkejä kurssi2 / Etälukio (edu.) kurssi8 / Etälukio (edu.) (Suurinta osaa tämän linkin takana olevasta materiaalista pohdimme vasta huomenna!

Linkkejä kurssi2 / Etälukio (edu.) kurssi8 / Etälukio (edu.) (Suurinta osaa tämän linkin takana olevasta materiaalista pohdimme vasta huomenna! Funktiot, L3a n kuvaaja n kuvaaja n kuvaaja Linkkejä kurssi2 / Etälukio (edu.) kurssi8 / Etälukio (edu.) (Suurinta osaa tämän linkin takana olevasta materiaalista pohdimme vasta huomenna!) Funktio (Käytännöllinen

Lisätiedot

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Injektio (1/3) Määritelmä Funktio f on injektio, joss f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Seurauksia: Jatkuva injektio on siis aina joko aidosti kasvava tai aidosti vähenevä Injektiolla on enintään

Lisätiedot

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

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 014 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteetesimerkkejä,

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ä. ja Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä. ja Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja

Lisätiedot

Funktion. Käänteisfunktio. Testi 3. Kauhava Aiheet. Funktio ja funktion kuvaaja. Funktion kasvaminen ja väheneminen.

Funktion. Käänteisfunktio. Testi 3. Kauhava Aiheet. Funktio ja funktion kuvaaja. Funktion kasvaminen ja väheneminen. Funktiot Kauhava 26.11.2010 n kuvaaja n kuvaaja n kuvaaja Linkkejä kurssi2 / Etälukio (edu.) kurssi8 / Etälukio (edu.) (Suurinta osaa tämän linkin takana olevasta materiaalista pohdimme vasta huomenna!)

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

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

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

MATP153 Approbatur 1B Harjoitus 3, ratkaisut Maanantai

MATP153 Approbatur 1B Harjoitus 3, ratkaisut Maanantai MATP53 Approbatur B Harjoitus 3, ratkaisut Maanantai 6..5. (Teht. 5 ja s. 4.) Olkoot z = + y i ja z = + y i. Osoita, että (a) z + z = z +z, (b) z z = z z, (c) z z = z ja (d) z = z z, kun z. (a) z + z =

Lisätiedot

MAB3 - Harjoitustehtävien ratkaisut:

MAB3 - Harjoitustehtävien ratkaisut: MAB - Harjoitustehtävien ratkaisut: Funktio. Piirretään koordinaatistoakselit ja sijoitetaan pisteet:. a) Funktioiden nollakohdat löydetään etsimällä kuvaajien ja - akselin leikkauspisteitä. Funktiolla

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015 TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen

Lisätiedot

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Ohjelmointi 1 C#, kevät 2013, 2. tentti ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla

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

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin

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. Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä

Lisätiedot