TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. joulukuuta 2015

Koko: px
Aloita esitys sivulta:

Download "TIEA241 Automaatit ja kieliopit, syksy 2015. Antti-Juhani Kaijanaho. 3. joulukuuta 2015"

Transkriptio

1 TIEA241 Automaatit ja, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015

2 Sisällys

3 Formaalisti Määritelmä Nelikko G = (V, Σ, P, S) on kontekstiton kielioppi (engl. context-free grammar, ), jos seuraavat väitteet pätevät: V on epätyhjä, äärellinen joukko (muuttujat eli nonterminaalit eli välikemerkit eli syntaktiset kategoriat) Σ on epätyhjä, äärellinen joukko (päätemerkit eli terminaalit) V Σ = P V (V Σ) (produktiot eli kielioppisäännöt) S V (aloitusmerkki) 1 1 Formaali määritelmä siis kiinnittää, minkä välikemerkin kieltä tarkastellaan.

4 Tavanomainen esitystapa Produktiot (v, w) P luetellaan kukin omalla rivillään muodossa v w. Aloitusmerkin produktiot luetellaan ensimmäisenä. Saman välikemerkin produktiot voidaan esittää lyhennysmerkinnällä: A ω 1 ω 2 on sama kuin A ω 1 A ω 2 Produktion oikean puolen tyhjyyttä voidaan korostaa käyttämällä ε-merkintää: A ε Kaikki merkit, jotka esiintyvät produktion vasemmalla puolella, ovat välikemerkkejä, ja muut ovat päätemerkkejä, ellei muuta sanota.

5 Backus Naur Form (BNF) Eräs klassinen metasyntaktinen notaatio (eli tapa kirjoittaa kontekstiton kielioppi) 2 Välikemerkkien nimet voivat olla sanoja tai jopa fraaseja, ja ne kirjoitetaan kulmasulkeisiin. Myös jotkin päätemerkit (esimerkiksi lukuvakio) nimetään ja laitetaan kulmasulkeisiin Produktion nuoli korvataan symbolilla ::= Esimerkiksi aritmeettisten lausekkeiden kielioppi BNF:llä: <expression> ::= <constant> <expression> + <expression> <expression> - <expression> <expression> * <expression> <expression> / <expression> ( <expression> ) 2 Peter Naur ym.: Revised Report on the Algorithmic Language ALGOL 60. Communications of the ACM 6 (1), s. 1 17,

6 Augmented BNF (ABNF) Verkkoprotokollien kuvauksessa käytetään usein Augmented BNF -notaatiota 3 Välikesymbolit ja jotkin päätesymbolit voidaan nimetä sanoilla. Kulmasulkeita ei tarvita. Päätesymbolit kirjoitetaan pääsääntöisesti lainausmerkkeihin. Produktionuoli on =. Vaihtoehtoisuus ilmaistaan kauttaviivalla. Sulkeita voi käyttää ryhmittelyyn. Runsaasti muitakin lyhennysmerkintöjä. Esimerkiksi aritmeettisten lausekkeiden kielioppi ABNF:llä: expr = const / expr ( "+" / "-" / "*" / "/" ) expr / "(" expr ")" 3 D. Crocker (toim.): Augmented BNF for Syntax Specifications: ABNF. Internet Standard 68, RFC 5234,

7 Ritchien metakieli 4 Käytetään mm. C:n ja Javan kuvauksessa. Välikesymbolit ja nimettävät päätesymbolit kursivoidaan. Muut päätesymbolit kirjoitetaan lihavoidulla, tasalevyisellä fontilla. Produktionuolen asemesta käytetään kaksoispistettä. Vaihtoehdot kirjoitetaan omille rivilleen. Aritmeettiset lausekkeet Ritchien metakielellä: expression: constant expression + expression expression - expression expression * expression expression / expression ( expression ) 4 En tiedä, kuka tämän alun perin kehitti, mutta aikaisin julkaisu jossa sitä olen nähnyt käytettävän on Dennis Ritchien C Reference Manual vuodelta 1974 (https://www.bell-labs.com/usr/dmr/www/cman74.pdf).

8 Ratakisko 5 produktion oikea puoli ilmaistaan graafina jossa välikesymbolit ovat laatikoiden ja päätesymbolit ympyröiden sisällä graafilla mahdollista ilmaista monimutkaisiakin rakenteita yhdessä produktiossa floating constant: + digits. digit E digits - 5 Esimerkki (lievästi muokattuna) sivulta tekijä Ludger Humbert; CC-BY 2.5

9 Käyttäytyminen Määritelmä Olkoon G = (V, Σ, P, S), olkoot v, u, w (V Σ) välike- ja päätemerkkien jonoja, ja olkoon A V välikemerkki. Merkkijono vaw antaa (engl. yields) merkkijonon vuw, merkitään vaw G vuw, 6 jos A u on G:n produktio eli jos (A, u) P pätee. 6 Alaindeksi G voidaan jättää pois, jos on selvää, mitä kielioppia tarkoitetaan.

10 Määritelmä Olkoon G = (V, Σ, P, S). Pääte- ja välikemerkkien jonosto v 0,..., v n (V Σ), jolle pätee i {1,..., n} : v i 1 G v i, on v n :n johto v 0 :sta, ja sitä merkitään usein v 0 G G v n tai lyhentäen v 0 G v n. Luku n on johdon pituus. 7 Olkoot w, u (V Σ) välike- ja päätemerkkien jonoja. Jos on olemassa w:n johto u:sta, niin u johtaa eli tuottaa (engl. derives) w:n, merkitään u G w. 7 Erikoistapauksena myös nollan pituinen johto v 0 G v 0 on mahdollinen.

11 Vasen ja oikea johto Määritelmä Olkoon G = (V, Σ, P, S) kontekstiton kielioppi ja olkoon v 0 G G v n johto. Jos jokaisessa johdon askeleessa v i G v i+1 sovelletaan jotain produktiota v i :n vasemmanpuolimmaiseen välikesymboliin, kyseeessä on vasen johto (engl. leftmost derivation). Jos jokaisessa johdon askeleessa v i G v i+1 sovelletaan jotain produktiota v i :n oikeanpuolimmaiseen välikesymboliin, kyseeessä on oikea johto (engl. rightmost derivation).

12 Määritelmä Kontekstittoman kieliopin G = (V, Σ, P, S) tuottama kieli on L(G) = { w Σ S G w } Määritelmä Kieli on kontekstiton (engl. context-free), jos on olemassa kontekstiton kielioppi, joka tuottaa sen.

13 L(G):tä koskevien todistusten strategia Olkoon G = (V, Σ, P, S). Todistettava, että L(G):n kaikilla merkkijonoilla w L(G) on ominaisuus P(w). Määritellään kullekin välikemerkkille A V ominaisuus P A ( ). Todistetaan 8, että w Σ : P(w) P S (w) pätee. Todistetaan, että A V, w (V Σ) : P A (w) (A G w) pätee. Todistetaan, että A V, w (V Σ) : (A G w) P A (w) pätee. 8 Tämä usein sivuutetaan triviaalina.

14 Esimerkki Lause Olkoon G seuraava kontekstiton kielioppi. S asb ε Tällöin L(G) = { a k b k k N } pätee. Todistus Ainakin jälkiprujussa (taululla jos on aikaa).

15 Jäsennyspuu Jäsennyspuu (tietyn kieliopin suhteen) on puu, jolla on seuraavat ominaisuudet: Sen kukin lehtisolmu on merkitty pääte- tai välikemerkillä taikka ε:lla. Sen juuri ja jokainen sisäsolmu on merkitty välikemerkillä. Kullekin sisäsolmulle (jonka merkki on) A, jolla on lapsisolmut (joiden merkit ovat) ω 1,..., ω n, on olemassa kieliopin produktio A ω 1 ω n Jäsennyspuu on tietyn merkkijonon jäsennyspuu tietystä välikemerkistä lähtien, jos tuo merkkijono voidaan lukea jäsennyspuun lehtisolmujen merkeistä vasemmalta oikealle (ε-solmut huomiotta jättäen) ja puun juuri on merkitty kyseisellä välikemerkillä.

16 Taululla Piirretään joitakin seuraavan kieliopin jäsennyspuita 9 E c E E + E E E E E E E E E / E E (E) Kuinka monta jäsennyspuuta voidaan piirtää merkkijonolle c + c c? 9 Päätemerkki c on leksikaalinen kategoria, jonka edustajia ovat kaikki Unix-regexpin [+-]?[[:digit:]]+ kuvaamat merkkijonot.

17 Puuta koskevien todistusten strategia Yleensä rakenneinduktio (eli induktio puun solmujen määrän suhteen): Perustapauksena käsitellään joko tyhjä puu taikka puu, joka koostuu yksinomaan yhdestä lehtisolmusta. Induktiotapauksessa tarkastellaan puuta, jossa on vähintään kaksi solmua. Induktio-oletus on, että väite pätee kaikille puun aidoille alipuille 10 tai yleisemmin, että väite pätee kaikille puille, joissa on vähemmän solmuja kuin tarkasteltavana olevassa puussa. 10 Puussa on alipuu jokaista puun solmua kohti: kyseinen solmu tulkitaan juureksi, ja alipuuhun kuuluvat kaikki tuon solmun jälkeläiset; alipuu on aito, jos siinä on vähemmän solmuja kuin alkuperäisessä puussa.

18 Jäsennyspuiden peruslause Lause Olkoon G = (V, Σ, P, S). Olkoon A V välikemerkki, ja olkoon w (V Σ) merkkijono. Seuraavat ovat yhtäpitäviä: 1. On olemassa w:n jäsennyspuu A:sta lähtien G:n suhteen. 2. A G w. Todistus. Sivuutetaan (tulee jälkiprujussa)

19 Määritelmä Kontekstiton kielioppi on yksiselitteinen, jos kaikilla merkkijonoilla on enintään yksi jäsennyspuu. Muuten se on moniselitteinen (engl. ambiguous). Lause Merkkijonolla on saman kieliopin suhteen ja samasta välikemerkistä alkaen yhtä monta jäsennyspuuta kuin sillä on erilaisia vasempia johtoja. Todistus. Sivuutetaan.

20 Roikkuva else <statement> ::= print <expression> ; { <statement-list> } if ( <expression> ) <statement> if ( <expression> ) <statement> else <statement> <statement-list> ::= <empty> <statement-list> <statement> <empty> ::= Kysymys Mitä tulostaa if (a) if (b) print 1; else print 2; jos a on epätosi? (a) 2 (b) ei mitään

21 Ratkaisu Yleensä valitaan (b), jolloin else paritetaan sisimmän parittoman if:n kanssa. Yksiselitteistys tehdään pakottamalla then-lauseen pariutuminen: <statement> ::= <matched-statement> <open-statement> <matched-statement> ::= print <expression> ; { <statement-list> } if ( <expression> ) <matched-statement> else <matched-statement> <open-statement> ::= if ( <expression> ) <statement> if ( <expression> ) <matched-statement> else <open-statement>

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

11.4. Context-free kielet 1 / 17

11.4. Context-free kielet 1 / 17 11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä

Lisätiedot

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko 3.3 KILIOPPIN JÄSNNYSONGLMA Rtkistv tehtävä: Annettu yhteydetön kielioppi G j merkkijono x. Onko x L(G)? Rtkisumenetelmä = jäsennyslgoritmi. Useit vihtoehtoisi menetelmiä, erityisesti kun G on jotin rjoitettu

Lisätiedot

Muodolliset kieliopit

Muodolliset kieliopit Muodolliset kieliopit Luonnollisen kielen lauseenmuodostuksessa esiintyy luonnollisia säännönmukaisuuksia. Esimerkiksi, on jokseenkin mielekästä väittää, että luonnollisen kielen lauseet koostuvat nk.

Lisätiedot

TIE448 Kääntäjätekniikka, syksy 2009. Antti-Juhani Kaijanaho. 7. joulukuuta 2009

TIE448 Kääntäjätekniikka, syksy 2009. Antti-Juhani Kaijanaho. 7. joulukuuta 2009 TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 7. joulukuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe F maanantai 14.12. klo 12 rekisteriallokaatio Arvostelukappale

Lisätiedot

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Kukin alkio (viite) talletettuna solmuun (node) vastaa paikan käsitettä

Lisätiedot

Esimerkki 1: Kahviautomaatti.

Esimerkki 1: Kahviautomaatti. Esimerkki 1: Kahviautomaatti. ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET 2.1 Tilakaaviot ja tilataulut Tarkastellaan aluksi tietojenkäsittelyjärjestelmiä, joilla on vain äärellisen monta mahdollista tilaa.

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 11 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 Listakomprehensio Uusi tapa luoda (ja muokata) listoja: [ lauseke

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

Lisätiedot

5.1 Semanttisten puiden muodostaminen

5.1 Semanttisten puiden muodostaminen Luku 5 SEMNTTISET PUUT 51 Semanttisten puiden muodostaminen Esimerkki 80 Tarkastellaan kysymystä, onko kaava = (( p 0 p 1 ) (p 1 p 2 )) toteutuva Tätä voidaan tutkia päättelemällä semanttisesti seuraavaan

Lisätiedot

8. Kieliopit ja kielet 1 / 22

8. Kieliopit ja kielet 1 / 22 8. Kieliopit ja kielet 1 / 22 Luonnollinen kieli Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää

Lisätiedot

Aloitus. TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 14. maaliskuuta 2011 TIETOTEKNIIKAN LAITOS. Aloitus.

Aloitus. TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 14. maaliskuuta 2011 TIETOTEKNIIKAN LAITOS. Aloitus. TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 14. maaliskuuta 2011 Sisällys Sisällys Kurssin käytännöt Kurssin sivuilla http://users.jyu.fi/~antkaij/opetus/auki/2011/

Lisätiedot

LUKU II HOMOLOGIA-ALGEBRAA. 1. Joukko-oppia

LUKU II HOMOLOGIA-ALGEBRAA. 1. Joukko-oppia LUKU II HOMOLOGIA-ALGEBRAA 1. Joukko-oppia Matematiikalle on tyypillistä erilaisten objektien tarkastelu. Tarkastelu kohdistuu objektien tai näiden muodostamien joukkojen välisiin suhteisiin, mutta objektien

Lisätiedot

8.5. Jäsennyspuu 1 / 23

8.5. Jäsennyspuu 1 / 23 8.5. Jäsennyspuu 1 / 23 Kääntäminen ja BNF Ohjelmointikielten kuten Java, C++, Pascal, Fortran jne. syntaksi määritellään tyypillisesti BNF-muotoisilla säännöillä. Sääntöjä on usein satoja. Ohjelman kääntämisessä

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014 PHP-kielen perusteet 3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. Heredoc on ominaisuus PHP-koodaamisessa, jolla voidaan kirjoittaa pitkiä tekstejä

Lisätiedot

L models. Vaatimusmäärittely. Ryhmä Rajoitteiset

L models. Vaatimusmäärittely. Ryhmä Rajoitteiset Teknillinen Korkeakoulu T-76.5 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Vaatimusmäärittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset

Lisätiedot

Automaatit. Muodolliset kielet

Automaatit. Muodolliset kielet Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten

Lisätiedot

Tutkimusmenetelmät-kurssi, s-2004

Tutkimusmenetelmät-kurssi, s-2004 Algoritmitutkimuksen menetelmistä Tutkimusmenetelmät-kurssi, s-2004 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Algoritmitutkimuksen menetelmistä p.1/20 Sisällys Tänään Tietojenkäsittelytiede

Lisätiedot

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

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

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

Kuva liikennemerkistä 1. Aleksanteri Numminen. aleksanteri.numminen@gmail.com ITKP101

Kuva liikennemerkistä 1. Aleksanteri Numminen. aleksanteri.numminen@gmail.com ITKP101 Kuva liikennemerkistä 1 Aleksanteri Numminen aleksanteri.numminen@gmail.com ITKP101 31.1.2016 1. Asiakirjan kieleen liittyvät työkalut... 1 1.1. Tyylien kielen valinta... 1 1.2. Oikeinkirjoituksen tarkastaminen...

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2015-2016. VI Algoritmien suunnitteluparadigmoja

811312A Tietorakenteet ja algoritmit, 2015-2016. VI Algoritmien suunnitteluparadigmoja 811312A Tietorakenteet ja algoritmit, 2015-2016 VI Algoritmien suunnitteluparadigmoja Sisältö 1. Hajota ja hallitse-menetelmä 2. Dynaaminen taulukointi 3. Ahneet algoritmit 4. Peruuttavat algoritmit 811312A

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Jos d-kohdan vasemmalla puolella perusjoukkona on X, niin oikealla puolella

Jos d-kohdan vasemmalla puolella perusjoukkona on X, niin oikealla puolella DISKREETTI MATEMATIIKKA, harjoitustehtävät Tehtäviä tulee todennäköisesti lisää. Uudet tehtävät tulevat aikanaan ladattavaksi samalle sivulle, josta tämäkin moniste löytyi. Ilmoitustaululta on nähtävissä

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

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

1 Aritmeettiset ja geometriset jonot

1 Aritmeettiset ja geometriset jonot 1 Aritmeettiset ja geometriset jonot Johdatus Johdatteleva esimerkki 1 Kasvutulille talletetaan vuoden jokaisen kuukauden alussa tammikuusta alkaen 100 euroa. Tilin nettokorkokanta on 6%. Korko lisätään

Lisätiedot

LAUSEKKEET JA NIIDEN MUUNTAMINEN

LAUSEKKEET JA NIIDEN MUUNTAMINEN LAUSEKKEET JA NIIDEN MUUNTAMINEN 1 LUKULAUSEKKEITA Ratkaise seuraava tehtävä: Retkeilijät ajoivat kahden tunnin ajan polkupyörällä maantietä pitkin 16 km/h nopeudella, ja sitten vielä kävelivät metsäpolkua

Lisätiedot

Matematiikan ohjelmointi. Joakim von Wright

Matematiikan ohjelmointi. Joakim von Wright Matematiikan ohjelmointi Joakim von Wright Formaali menetelmä käytännössä miten todistetaan ohjelman oikeellisuus? miltä todistus näyttn yttää? isot ohjelmat? miljoona riviä koodia nykyajan ohjelmat? rinnakkaisuus,

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

Talousmatematiikan perusteet, L2

Talousmatematiikan perusteet, L2 Talousmatematiikan perusteet, L2 orms.1030 EPKY / kevät 2011 Toisen Laskutoimitukset tehdään seuraavassa järjestyksessä 1. Sulkujen sisällä olevat (alkaen sisältä ulospäin) 2. potenssit ja juuri 3. kerto-

Lisätiedot

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit 811312A Tietorakenteet ja algoritmit 2015-2016 V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi

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

Luonnolliset vs. muodolliset kielet

Luonnolliset vs. muodolliset kielet Luonnolliset vs. muodolliset kielet Luonnollisia kieliä ovat esim. 1. englanti, 2. suomi, 3. ranska. Muodollisia kieliä ovat esim. 1. lauselogiikan kieli (ilmaisut p, p q jne.), 2. C++, FORTRAN, 3. bittijonokokoelma

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

k=1 b kx k K-kertoimisia polynomeja, P (X)+Q(X) = (a k + b k )X k n+m a i b j X k. i+j=k k=0

k=1 b kx k K-kertoimisia polynomeja, P (X)+Q(X) = (a k + b k )X k n+m a i b j X k. i+j=k k=0 1. Polynomit Tässä luvussa tarkastelemme polynomien muodostamia renkaita polynomien ollisuutta käsitteleviä perustuloksia. Teemme luvun alkuun kaksi sopimusta: Tässä luvussa X on muodollinen symboli, jota

Lisätiedot

Tarkastellaan neliötä, jonka sivun pituus on yksi metri. Silloinhan sen pinta-ala on 1m 1m

Tarkastellaan neliötä, jonka sivun pituus on yksi metri. Silloinhan sen pinta-ala on 1m 1m MB: Yhdenmuotoisuus luksi Tämän luvun aiheina ovat yhdenmuotoisuus sekä yhdenmuotoisuussuhde. Kaikkein tavallisimmat yhdenmuotoisuuden sovellukset ovat varmasti kartta ja pohjapiirros. loitamme tutuista

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Esimerkki 47. Kieli {a i b j c k : i = j tai j = k} on luonnostaan moniselitteinen.

Esimerkki 47. Kieli {a i b j c k : i = j tai j = k} on luonnostaan moniselitteinen. Aritmeettisen lausekkeen jäsennyspuun avulla voidaan helposti laskea lausekkeen arvo, kun muuttujien arvot tunnetaan. Yleisemmin, kääntäjä voi jäsennyspuun avulla generoida koodia lausekkeen evaluoimiseksi.

Lisätiedot

Merkkijonot ja C++ Antti-Juhani Kaijanaho. 5. maaliskuuta 2001. 1 Vanhojen C++-kääntäjien käyttäjät, huomio! 2 Merkkijonojen perusteet

Merkkijonot ja C++ Antti-Juhani Kaijanaho. 5. maaliskuuta 2001. 1 Vanhojen C++-kääntäjien käyttäjät, huomio! 2 Merkkijonojen perusteet Merkkijonot ja C++ Antti-Juhani Kaijanaho 5. maaliskuuta 2001 1 Vanhojen C++-kääntäjien käyttäjät, huomio! Tämä kirjoitus perustuu vuonna 1998 julkistettuun C++-kielen kansainväliseen ISO-standardiin.

Lisätiedot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko

Lisätiedot

Muita rekisteriallokaatiomenetelmiä

Muita rekisteriallokaatiomenetelmiä TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 23. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe E tiistai 1.12. klo 10 koodigenerointi (ilman rekisteriallokaatiota)

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Hahmon etsiminen syotteesta (johdatteleva esimerkki) Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux

Lisätiedot

Merkitse yhtä puuta kirjaimella x ja kirjoita yhtälöksi. Mikä tulee vastaukseksi? 3x + 2x = 5x + =

Merkitse yhtä puuta kirjaimella x ja kirjoita yhtälöksi. Mikä tulee vastaukseksi? 3x + 2x = 5x + = Mikä X? Esimerkki: Merkitse yhtä puuta kirjaimella ja kirjoita yhtälöksi. Mikä tulee vastaukseksi? 3 + 2 = 5 + = 5 + = 1. Merkitse yhtä päärynää kirjaimella ja kirjoita yhtälöksi? Mikä tulee vastaukseksi?

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

Insinöörimatematiikka A

Insinöörimatematiikka A Insinöörimatematiikka A Demonstraatio 3, 3.9.04 Tehtävissä 4 tulee käyttää Gentzenin järjestelmää kaavojen johtamiseen. Johda kaava φ (φ ) tyhjästä oletusjoukosta. ) φ ) φ φ 3) φ 4) φ (E ) (E ) (I, ) (I,

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

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

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

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

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

27. 10. joissa on 0 4 oikeata vastausta. Laskimet eivät ole sallittuja.

27. 10. joissa on 0 4 oikeata vastausta. Laskimet eivät ole sallittuja. ÄÙ ÓÒÑ Ø Ñ Ø ÐÔ ÐÙÒ Ð Ù ÐÔ ÐÙÒÔ ÖÙ Ö Tehtäviä on kahdella sivulla; kuusi ensimmäistä tehtävää on monivalintatehtäviä, joissa on 0 4 oikeata vastausta. Laskimet eivät ole sallittuja. 1. Hiiri juoksee tasaisella

Lisätiedot

Tietokannan indeksointi: B puun ja hajautusindeksin tehokkuus

Tietokannan indeksointi: B puun ja hajautusindeksin tehokkuus Tietokannan indeksointi: B puun ja hajautusindeksin tehokkuus Tuomas Kortelainen 28.4.2008 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu tutkielma Tiivistelmä Tässä tutkielmassa esitellään tietokannan

Lisätiedot

Koe ma 1.3 klo 16-19 salissa A111, koeaika kuten tavallista 2h 30min

Koe ma 1.3 klo 16-19 salissa A111, koeaika kuten tavallista 2h 30min Koe Koe ma 1.3 klo 16-19 salissa A111, koeaika kuten tavallista 2h 30min Kokeessa saa olla mukana A4:n kokoinen kaksipuolinen käsiten tehty, itse kirjoitettu lunttilappu 1 Tärkeää ja vähemmäntärkeää Ensimmäisen

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

Reaalifunktioista 1 / 17. Reaalifunktioista

Reaalifunktioista 1 / 17. Reaalifunktioista säilyy 1 / 17 säilyy Jos A, B R, niin funktiota f : A B sanotaan (yhden muuttujan) reaalifunktioksi. Tällöin karteesinen tulo A B on (aiempia esimerkkejä luonnollisemmalla tavalla) xy-tason osajoukko,

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

1 Logiikkaa. 1.1 Logiikan symbolit

1 Logiikkaa. 1.1 Logiikan symbolit 1 Logiikkaa Tieteessä ja jokapäiväisessä elämässä joudutaan tekemään päätelmiä. Logiikassa tutkimuskohteena on juuri päättelyt. Sen sijaan päätelmien sisältöön ei niinkäään kiinnitetä huomiota. Päätelmät

Lisätiedot

1.1 Tavallinen binäärihakupuu

1.1 Tavallinen binäärihakupuu TIE-20100 Tietorakenteet ja algoritmit 1 1 Puurakenteet http://imgur.com/l77fy5x Tässä luvussa käsitellään erilaisia yleisiä puurakenteita. ensin käsitellään tavallinen binäärihakupuu sitten tutustutaan

Lisätiedot

Stabilointi. arvosana. arvostelija. Marja Hassinen

Stabilointi. arvosana. arvostelija. Marja Hassinen hyväksymispäivä arvosana arvostelija Stabilointi Marja Hassinen Helsinki 28.10.2007 Hajautetut algoritmit -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1 1 Johdanto 1 2 Resynkroninen

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

Harjoitustehtävät, syys lokakuu 2010. Helpommat

Harjoitustehtävät, syys lokakuu 2010. Helpommat Harjoitustehtävät, syys lokakuu 010. Helpommat Ratkaisuja 1. Kellon minuutti- ja tuntiosoittimet ovat tasan suorassa kulmassa kello 9.00. Milloin ne ovat seuraavan kerran tasan suorassa kulmassa? Ratkaisu.

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

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

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Heidi Luukkonen. Sahlqvistin kaavat

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Heidi Luukkonen. Sahlqvistin kaavat TAMPEREEN YLIOPISTO Pro gradu -tutkielma Heidi Luukkonen Sahlqvistin kaavat Informaatiotieteiden yksikkö Matematiikka Maaliskuu 2013 Tampereen yliopisto Informaatiotieteiden yksikkö LUUKKONEN, HEIDI: Sahlqvistin

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

Kyselytutkimus opiskelijoiden ajankäytöstä tietojenkäsittelyteorian peruskurssilla

Kyselytutkimus opiskelijoiden ajankäytöstä tietojenkäsittelyteorian peruskurssilla Kyselytutkimus opiskelijoiden ajankäytöstä tietojenkäsittelyteorian peruskurssilla Harri Haanpää Peda-forum 2004 AB TEKNILLINEN KORKEAKOULU Tietojenkäsittelyteorian laboratorio T 79.148 Tietojenkäsittelyteorian

Lisätiedot

1 Puu, Keko ja Prioriteettijono

1 Puu, Keko ja Prioriteettijono TIE-20100 Tietorakenteet ja algoritmit 1 1 Puu, Keko ja Prioriteettijono Tässä luvussa käsitellään algoritmien suunnitteluperiaatetta muunna ja hallitse (transform and conquer) Lisäksi esitellään binääripuun

Lisätiedot

DISKREETTIÄ MATEMATIIKKAA.

DISKREETTIÄ MATEMATIIKKAA. Heikki Junnila DISKREETTIÄ MATEMATIIKKAA. LUKU I JOUKOT JA RELAATIOT 0. Merkinnöistä.... 1 1. Relaatiot ja kuvaukset..... 3 2. Luonnolliset luvut. Induktio.... 9 3. Äärelliset joukot.... 14 4. Joukon ositukset.

Lisätiedot

FORMAALIT KIELET. Keijo Ruohonen

FORMAALIT KIELET. Keijo Ruohonen FORMAALIT KIELET Keijo Ruohonen 2008 Sisältö 1 I SANAT JA KIELET 1 1.1 Sanat ja aakkostot 2 1.2 Kielet 4 II SÄÄNNÖLLISET KIELET 4 2.1 Säännölliset lausekkeet ja kielet 5 2.2 Äärellinen automaatti 8 2.3

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

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

2 Tarjouskilpailujen haku

2 Tarjouskilpailujen haku 2 Tarjouskilpailujen haku Tarjouskilpailuja voi hakea seuraavilla hakukriteereillä: neuvoston viite (esimerkiksi: UCA 140/07) tarjouskilpailun kohteen kuvaus (esimerkiksi: puhelininfrastruktuuri) EU:n

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

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

1 Raja-arvo. 1.1 Raja-arvon määritelmä. Raja-arvo 1

1 Raja-arvo. 1.1 Raja-arvon määritelmä. Raja-arvo 1 Raja-arvo Raja-arvo Raja-arvo kuvaa funktion f arvon f() kättätmistä, kun vaihtelee. Joillakin funktioilla f() muuttuu vain vähän, kun muuttuu vähän. Toisilla funktioilla taas f() hppää tai vaihtelee arvaamattomasti,

Lisätiedot

Koontitehtäviä luvuista 1 9

Koontitehtäviä luvuista 1 9 11 Koontitehtäviä luvuista 1 9 1. a) 3 + ( 8) + = 3 8 + = 3 b) x x 10 = 0 a =, b = 1, c = 10 ( 1) ( 1) 4 ( 10) 1 81 1 9 x 4 4 1 9 1 9 x,5 tai x 4 4 c) (5a) (a + 1) = 5a a 1 = 4a 1. a) Pythagoraan lause:

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman

Lisätiedot

Graafin virittävä puu 1 / 20

Graafin virittävä puu 1 / 20 Graafin virittävä puu 1 / 20 Graafin virittävä puu PuuT on graafingvirittävä puu (spanning tree), jos se sisältää kaikkig:n pisteet. Virittäviä puita: 2 / 20 Yhdistämisongelma Yhdistämisongelma:(Connector

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

Johdatus f90/95 ohjelmointiin. H, R & R luvut 1-3

Johdatus f90/95 ohjelmointiin. H, R & R luvut 1-3 Johdatus f90/95 ohjelmointiin H, R & R luvut 1-3 Fortran-kieli ( 3.1-3) IBM 1954, FORmula TRANslator ISO/ANSI standardit f90, f95, f2003 tieteellinen & teknillinen laskenta rinnakkaislaskenta (HPF, openmp)

Lisätiedot

Avoimen lähdekoodin kaksitasokielioppikääntäjä

Avoimen lähdekoodin kaksitasokielioppikääntäjä Avoimen lähdekoodin kaksitasokielioppikääntäjä Miikka Silfverberg miikka piste silfverberg at helsinki piste fi Kieliteknologia Helsingin yliopisto Avoimen lähdekoodin kaksitasokielioppikääntäjä p.1/23

Lisätiedot

Yleiset lineaarimuunnokset

Yleiset lineaarimuunnokset TAMPEREEN YLIOPISTO Pro gradu -tutkielma Kari Tuominen Yleiset lineaarimuunnokset Matematiikan ja tilastotieteen laitos Matematiikka Toukokuu 29 Tampereen yliopisto Matematiikan ja tilastotieteen laitos

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

http://www.microsoft.com/expression/

http://www.microsoft.com/expression/ Verkkojulkaisuharjoitus1 TAVOITE Harjoituksen tarkoituksena on opiskella käyttämään verkkojulkaisueditoria (Microsoft Expression Web) ja käynnistämään verkkosivu internetissä. VERKKOSIVUEDITORIN KÄYTTÖOHJEITA

Lisätiedot

Tiraka, yhteenveto tenttiinlukua varten

Tiraka, yhteenveto tenttiinlukua varten Tiraka, yhteenveto tenttiinlukua varten TERMEJÄ Tietorakenne Tietorakenne on tapa tallettaa tietoa niin, että tietoa voidaan lisätä, poistaa, muokata ja hakea. Tietorakenteet siis säilövät tiedon niin,

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

OULUN YLIOPISTO, BIOLOGIAN LAITOS Puututkimus

OULUN YLIOPISTO, BIOLOGIAN LAITOS Puututkimus OULUN YLIOPISTO, BIOLOGIAN LAITOS Puututkimus Puu on yksilö, lajinsa edustaja, eliöyhteisönsä jäsen, esteettinen näky ja paljon muuta. Tässä harjoituksessa lähestytään puuta monipuolisesti ja harjoitellaan

Lisätiedot

Liite 2: Verkot ja todennäköisyyslaskenta

Liite 2: Verkot ja todennäköisyyslaskenta Ilkka Mellin Todennäköisyyslaskenta Liite 2: Verkot ja todennäköisyyslaskenta Verkot TKK (c) Ilkka Mellin (2007) 1 Verkko eli graafi: Määritelmä 1/2 Verkko eli graafi muodostuu pisteiden joukosta V, särmien

Lisätiedot

LUMA Suomi kehittämisohjelma 8.10.2015 14:53 Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu

LUMA Suomi kehittämisohjelma 8.10.2015 14:53 Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu (MOJYR) Sisällysluettelo (MOJYR)... 1 1. Taustaa... 1 2. MOJYR-ohjelma... 2 2.1 Ohjelman asentaminen... 2 2.2 Käyttöliittymä... 2 3. Puumalli... 3 4. MOJYR-ohjelman ominaisuudet... 5 4.1 Yhtälön muodostaminen...

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot