Algoritmit ja tietorakenteet Copyright Hannu Laine. 1, kun n= 0. n*(n-1)!, kun n>0;
|
|
- Susanna Saarnio
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 1 Rekursio Rekursion periaate ja rekursio määrittelyvälineenä Rekursiota käytetään tietotekniikassa ja matematiikassa erilaisiin tarkoituksiin. Eräänä käyttöalueena on asioiden määrittely. Esimerkkinä käsitellään luvun kertoman määrittelyä. Luvun n kertomaa merkitään n!, ja se tarkoittaa lukujen 1, 2, 3,..., n tuloa. Tässä määrittelyssä tarvitaan epämääräistä kolmen peräkkäisen pisteen merkintää. Epämääräisyydestä päästään eroon käyttämällä rekursiivista määritelmää kertomalle. Kertoma määritellään rekursiivisesti seuraavalla tavalla n! = 1, kun n= 0 n*(n-1)!, kun n>0; Aluksi voi tuntua siltä, että määritelmässä pyöritään kehää, koska siinä on käytetty kertoman määritelmää. Määritelmässä sanotaan, että n:n kertoma on n kertaa n-1:n kertoma. Asian ydin piilee ensinnäkin siinä, että määritelmässä on yksi tapaus, jossa kertoma on määritelty yksikäsitteisesti. Se on tapaus n = 0. Määritelmän mukaan luvun 0 kertoma on 1. Tätä osaa määritelmässä kutsutaan rekursion kannaksi. Toinen tärkeä piirre määritelmässä on, että rekursiivisessa osassa kertoma otetaan pienemmästä luvusta kuin alkuperäinen. Tämän seurauksena, kun rekursiota sovelletaan toistuvasti, saavutetaan lopulta rekursion kanta. Kuinka sitten määrittelyä voidaan käyttää käytännössä tietyssä tapauksessa? Yritetään selvittää kertoman määritelmän perusteella, mitä on 5!. Arvo saadaan määritelmän mukaan asteittain seuraavasti: Näin saadaan, että askel 1 Onko 5 > 0? On --> 5! = 5*(5-1)! = 5*4! askel 2 Onko 4 > 0? On --> 4! = 4*(4-1)! = 4*3! askel 3 Onko 3 > 0? On --> 3! = 3*(3-1)! = 3*2! askel 4 Onko 2 > 0? On --> 2! = 2*(2-1)! = 2*1! askel 5 Onko 1 > 0? On --> 1! = 1*(1-1)! = 1*0! askel 6 Onko 0 > 0? Ei -->0! = 1. 5! = 5*(4*(3*(2*(1*1)))) Määritelmän rekursiivista osaa on käytetty aina uudelleen ja uudelleen. Joka kerralla kuitenkin luku, jonka kertomaa ratkaistaan, on pienempi kuin edellisellä kerralla. Lopuksi luku on niin pieni, että määrittelyssä voidaan käyttää sen ei-rekursiivista osaa eli kantaa. Tällöin rekursio päättyy. Vasta rekursion päättymisen jälkeen voidaan kertomalle laskea arvoa. Laskenta tapahtuu tällöin takaperin, kuten lausekkeesta nähdään. Ensin lasketaan siis 1*1 = 1, sitten 2*1 = 2, sitten 3*2=6, sitten 4*6=24 ja lopuksi 5*24= 120. Tässä on esitelty, kuinka rekursiota voidaan käyttää määrittelyssä. Tietotekniikassa esimerkiksi puurakenteiden määrittelyssä käytetään yleensä rekursiivista määrittelyä. Rekursiota käytetään myös ongelman ratkaisumenetelmänä. Rekursio voidaan toteuttaa myös ohjelmoinnissa, jolloin sitä voidaan pitää lisäksi yhtenä ohjelmointitekniikkana. Edellä esitettiin rekursion käyttö määrittelyssä. Siinä tuli samalla esille rekursion tärkeimmät ominaisuudet yleisesti. Rekursiossa asia palautetaan itseensä, kuitenkin niin, että asia pienenee (edellä kertoma otetaan pienemmästä luvusta). Kun palautus itseensä tehdään
2 2 riittävän monta kertaa, asia on tullut niin pieneksi, että sen ratkaisu on itsestään selvä tai hyvin yksinkertainen. Kun tämä vaihe on saavutettu, rekursio päättyy ja tehtävässä palataan takaperin alkuun siten, että kun kantatapaus on ratkennut, voidaan selvittää kantatapausta edeltänyt vähän suurempi tapaus. Kun tämä on ratkennut, voidaan ratkaista sitä edeltänyt suurempi tapaus. Näin palataan lopulta alkuperäisen asian tai tehtävän ratkaisuun. Toisena esimerkkinä rekursiivisesta määritelmästä käsitellään tunnilla järjestettyjen alkioiden joukko eli sarja (sequence), joka oli perustana lineaarisen listan määrittelyssä. Rekursion käyttö ongelmanratkaisussa On monia sellaisia probleemoita, joiden ratkaiseminen on ilman rekursiota erittäin hankalaa, mutta rekursiivisella ajattelumallilla hyvin yksinkertaista. Perinteisenä esimerkkinä tällaisesta on ns. Hanoin tornien probleema. Siinä on kolme pystyssä olevaa tankoa (a, b ja c).tankoon a on pujotettu n kappaletta erikokoisia levyjä, joissa on reikä keskellä. Levyt ovat kaikki erikokoisia. Levyt on pujotettu tankoon siten, että suurin levy on alimmaisena ja pienin päällimmäisenä ja jokainen levy on aina alla olevaa pienempi. Tilanne on siis alussa alla olevan kuvan mukainen. a b c Tehtävänä on siirtää kaikki levyt tangosta a tankoon c. Tankoa b saadaan käyttää apuna. Siirroissa on noudatettava seuraavia sääntöjä: 1. Vain yksi levy saa olla kerrallaan pois tankoista. 2. Missään tangossa ei saa missään tilanteessa olla levyjä siten, että suurempi levy olisi pienemmän päällä. Probleeman ratkaisu on yleisellä tasolla hankala. Tämä johtuu siitä, että tarvittavien siirtojen määrä kasvaa eksponentiaalisesti levyjen määrän kasvaessa. Rekursiota käyttäen saadaan helposti algoritmi, joka kertoo tarvittavat siirrot. Ratkaisu on yksinkertainen (mutta tarvittavien siirtojen määrä tietysti edelleen suuri). Etsitään ensin sellainen pieni ongelma, joka on yksinkertainen. Tässä sellaisena voidaan pitää tapausta, jossa levyjä on vain yksi. Tällöinhän kaikki säännöt toteuttava ratkaisu on sellainen, että siirretään levy suoraan tangosta a tankoon c. Ratkaisun rekursiivisessa osassa on ilmaistava, miten siirretään n levyä. Rekursiivisessa osassa lähdetään siitä, että tehtävä osataan hoitaa yhtä pienemmälle levymäärälle n-1. Jos siis levyjä olisi n kappaletta, ne voidaan siirtää sääntöjä noudattaen tankoon c seuraavasti siirretään n-1 levyä sääntöjä noudattaen tangosta a tankoon b käyttäen hyväksi tankoa c siirretään tankoon a jäänyt suurin levy tankoon c
3 3 siirrettään n-1 levyä sääntöjä noudattaen tangosta b tankoon c käyttäen hyväksi tankoa a Kuinka n-1 levyä siirretään sääntöjä noudattaen, on siis edelleen avoin kysymys. Rekursion mukaan n-1 levyn siirtäminen voidaan edelleen jakaa kahteen osaan siten, siirretään n-2 levyä ensin pois päältä sääntöjä noudattaen samalla tavalla kuin edellä. Näin ongelma pienenee jokaisella kerralla, ja lopulta se palautuu yksinkertaisimpaan tapaukseen, jossa siirrettäviä levyjä on yksi. Tämän jälkeen tarvittavat siirrot saadaan selville takaperin. Rekursiivinen funktio Ohjelmointikielissä voidaan toteuttaa rekursiivinen funktio. Rekursiivisella funktiolla tarkoitetaan funktiota, joka kutsuu itse itseään. Yllä kuvatusta Hanoin tornien probleeman ratkaisusta voidaan kirjoittaa funktio, joka noudattaa suoraan ongelmanratkaisussa käytettyä ajattelumallia. Ohjelma näyttää seuraavalta. /* Hanoin tornit. Esimerkki valaisee rekursion käyttöä probleeman ratkaisussa ja vastaavan ohjelman kirjoituksessa.*/ #include <stdio.h> void siirra (int n, char tanko1, char tanko2, char tanko3) { //seuraavilla riveillä voitaisiin testata, montako kertaa funktiossa on käyty //static int kerta = 0; //printf("\nkerta := %d n = %d", kerta++, n); if (n==1) printf("\n Siirrä tangosta %c tankoon %c ", tanko1, tanko3); else { siirra(n - 1, tanko1, tanko3, tanko2); printf("\n Siirrä tangosta %c tankoon %c ", tanko1, tanko3); siirra(n - 1, tanko2, tanko1, tanko3); void main (void) { int n; printf("\n Montako levyä :"); scanf("%d", &n); printf("\n Käytä seuraavia siirtoja "); siirra(n, 'a', 'b', 'c'); Tunnilla käsitellään ohjelman suorituksen yhteydessä syntyvä ns. kutsupuu. Toisena sovellusesimerkkinä käsitellään tunnilla aikaisemmin esitetty tehtävä, jossa dynaamisesti linkatun listan loppuun lisätään uusi alkio, kun listasta tiedetään vain sen alkuosoite. Rekursiivisen funktion suoritusperiaate prosessorissa Rekursiivinen funktio on funktio, joka kutsuu itseään. Kun funktio kutsuu itseään, sen parhaillaan menossa oleva suoritus jää kesken. Kun seuraavalla kierroksella funktio kutsuu taas itseään, jää sen suoritus taas kesken kutsun kohdalla. Kun lopulta saavutetaan rekursion kanta, pääsee funktio tilanteeseen, jossa sillä hetkellä menossa oleva suoritus päästään loppuun. Tämän jälkeen funktio muistaa kaikki kesken jääneet suoritukset. Kannan
4 4 suorituksen jälkeen suoritetaan kantaa edeltäneen kutsun suoritus loppuun siitä kohdasta eteenpäin, jossa suoritus keskeytyi eli kutsua seuraavasta kohdasta. Tällä periaatteella kaikki kesken jääneet funktion suoritukset viedään loppuun siten, että viimeisenä suoritetaan loppuosa ensimmäisenä tehdystä funktion kutsusta. Kaikki kesken jääneet funktiokutsut suoritetaan siis takaperin loppuun. Rekursiivisen funktion toiminta perustuu siihen, että funktion kutsun yhteydessä parametrit, paluuosoite ja paikalliset muuttujat viedään pinoon.. Näin tapahtuu jokaisella kutsukerralla. Pinossa on siis erikseen kaikki edellä mainitut tiedot kutakin kutsukertaa varten. Koska tiedot ovat pinossa, tapahtuu funktioiden suoritus loppuun takaperin. Tiedothan löytyvät pinosta käänteisessä järjestyksessä pinon luonteen takia. Seuraavassa tarkastellaan esimerkkiä, jossa dynaamisesti varatun linkatun listan loppuun lisätään alkio rekursiivisella funktiolla insert_to_list_end. Kysymys on tapauksesta, jossa listasta on tiedossa vain sen alkuosoite. Tällöin listan loppu on etsittävä. Listan loppu voidaan luonnollisesti etsiä tavallista iteratiivista menettelyä käyttäen, jossa siirrytään listassa eteenpäin kunnes tulee vastaan alkio, jossa next-kentässä on arvo NULL. Iteratiivinen ratkaisu on jopa tehokas ja hyvä ratkaisu. Tässä esitetään kuitenkin rekursiivinen ratkaisu, koska se havainnollistaa erittäin hyvin rekursiivisen ajattelun periaatetta ja sillä voidaan kätevästi demonstroida miten prosessori suorittaa rekursiivista funktiota. Listan loppuun lisäämisen rekursiivinen ajattelumalli voidaan johtaa sarjan rekursiivisesta määrittelystä. Sarjan rekursiivisen määritelmän mukaan tyhjä joukko on sarja (kanta). Jos L on sarja ja a on alkio, niin al on sarja. Lineaarisen listan dynaamisesti linkatussa esityksessä solmu, joka sisältää alkion a, sisältää myös seuraavan solmun osoittimen. Tällöin voidaan ajatella, että ensimmäisen solmun next kenttä esittää listaa L, jossa on kaikki loput alkiot, samalla tavalla kuin ensimmäisen solmun osoite esittää koko listaa. Tämän ajattelumallin avulla alkion lisääminen listan loppuun voidaan esittää rekursiivisella ajattelumallilla seuraavasti: lisää alkio listan ensimmäiseksi alkioksi, jos lista on tyhjä muussa tapauksessa lisää alkio sen listan loppuun, joka seuraa ensimmäistä alkiota Rekursiivinen ratkaisu täyttää rekursion vaatimukset, koska sillä on kanta, jossa ratkaisu on selkeä, alkion lisääminen tyhjään listaan. Toisaalta ratkaisun rekursiivinen osa kohdistuu pienempään ongelmaan kuin alkuperäinen, koska siinä alkion lisäys tapahtuu yhtä alkiota lyhyempään listaan. Tämän takia rekursiivista osaa toistettaessa, lista lyhenee joka kierroksella ja lopuksi siitä tulee tyhjä lista, jolloin ratkaisu on kannan mukainen. Rekursiivinen funktio insert_to_list_end on esitetty dynaamisten rakenteiden käsittelyn yhteydessä (esimerkkitapaus case 5). Seuraavassa on tämä sama funktio. /* Rekursiivinen funktio, jolla lisätään alkio listan loppuun*/ void insert_to_list_end(tlist *list, Titem data) { if (*list == NULL ) { *list = (Tpointer) malloc(sizeof(tnode)); (*list) -> item = data; (*list) -> next = NULL; else insert_to_list_end_1(&((*list)->next), data);
5 5 Ratkaisu on selkeä, ja se kuvaa rekursiivista ajattelua hyvin. Funktio ei kuitenkaan ole tehokkuuden kannalta paras mahdollinen, sillä kaikkien alkioiden osoitteet jäävät pinoon, kunnes kanta on saavutettu. Pinosta siis kulutetaan tilaa yhtä monelle osoitteelle, kuin listassa on alkioita. Tässä tehtävässä näitä osoitteita ei tarvita. Ainoana tavoitteenahan oli löytää viimeinen alkio listassa. Tunnilla käydään läpi tarkasti eri vaiheet tämän rekursiivisen funktion suorituksessa. Optimaalista rekursiota edustaa funktio, joka tulostaa dynaamisesti linkatun listan alkiot päinvastaisessa järjestyksessä. Lukija voi miettiä tehtävää ja kirjoittaa funktion ja kokeilla sitä aikaisemmin käsitellyllä listaohjelmalla. Rekursion, pinon ja puiden yhteydet Rekursio, pino ja puut ovat kiinteästi yhteen kietoutuneita. Rekursion toteuttamiseen käytetään pinoa. Rekursiivisen funktion, jossa funktio kutsuu itseään kaksi kertaa, kutsuista muodostuu ns. kutsupuu. Tietorakenne puu määritellään rekursiivisesti. Useimmat puita käsittelevät operaatiofunktiot toteutetaan rekursiivisesti. Rekursiolle sopivia probleemoita Rekursiivinen ajattelu soveltuu mitä moninaisimpiin probleemoihin. Muutamia esimerkkejä ovat: Infix-lausekkeen muuntaminen postfix-muotoon Ruudukossa olevan mielivaltaisen yhtenäisen tahran koon laskeminen Puumaisen hakemistorakenteen läpikäynti.
Tietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 8 1 Derivaatta Tarkastellaan funktion f keskimääräistä muutosta tietyllä välillä ( 0, ). Funktio f muuttuu tällä välillä määrän. Kun tämä määrä jaetaan välin pituudella,
LisätiedotEpäyhtälön molemmille puolille voidaan lisätä sama luku: kaikilla reaaliluvuilla a, b ja c on voimassa a < b a + c < b + c ja a b a + c b + c.
Epäyhtälö Kahden lausekkeen A ja B välisiä järjestysrelaatioita A < B, A B, A > B ja A B nimitetään epäyhtälöiksi. Esimerkiksi 2 < 6, 9 10, 5 > a + + 2 ja ( + 1) 2 2 + 2 ovat epäyhtälöitä. Epäyhtälössä
LisätiedotJohdatus diskreettiin matematiikkaan Harjoitus 7, 28.10.2015
Johdatus diskreettiin matematiikkaan Harjoitus 7, 28.10.2015 1. Onko olemassa yhtenäistä verkkoa, jossa (a) jokaisen kärjen aste on 6, (b) jokaisen kärjen aste on 5, ja paperille piirrettynä sivut eivät
LisätiedotLuonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta
Simo K. Kivelä, 15.4.2003 Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Aksioomat Luonnolliset luvut voidaan määritellä Peanon aksioomien avulla. Tarkastelun kohteena on
LisätiedotLisää segmenttipuusta
Luku 24 Lisää segmenttipuusta Segmenttipuu on monipuolinen tietorakenne, joka mahdollistaa monenlaisten kyselyiden toteuttamisen tehokkaasti. Tähän mennessä olemme käyttäneet kuitenkin segmenttipuuta melko
Lisätiedot2.2 Täydellinen yhtälö. Ratkaisukaava
. Täydellinen yhtälö. Ratkaisukaava Tulon nollasäännöstä näkee silloin tällöin omituisia sovellutuksia. Jotkut näet ajattelevat, että on olemassa myöskin tulon -sääntö tai tulon "mikä-tahansa"- sääntö.
LisätiedotEksponenttifunktion Laplace muunnos Lasketaan hetkellä nolla alkavan eksponenttifunktion Laplace muunnos eli sijoitetaan muunnoskaavaan
Laplace muunnos Hieman yksinkertaistaen voisi sanoa, että Laplace muunnos muuttaa derivaatan kertolaskuksi ja integroinnin jakolaskuksi. Tältä kannalta katsottuna Laplace muunnoksen hyödyllisyyden ymmärtää;
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 10 1 Sarjakehitelmiä Palautetaan mieliin, että potenssisarja on sarja joka on muotoa a n (x x 0 ) n = a 0 + a 1 (x x 0 ) + a 2 (x x 0 ) 2 + a 3 (x x 0 ) 3 +. n=0 Kyseinen
LisätiedotMS-A0004 - Matriisilaskenta Laskuharjoitus 3
MS-A0004 - Matriisilaskenta Laskuharjoitus 3 atkaisut Tehtävä Merkitään matriisin rivejä, 2 ja 3. Gaussin eliminoinnilla saadaan 3 5 4 7 3 5 4 7 3 2 4 2+ 0 3 0 6 6 8 4 3+2 2 0 3 0 6 3 5 4 7 0 3 0 6 3+
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Elegantti toteutus funktiolle insert_to_list_end Alkion lisäys sisällön mukaan järjestettyyn listaan (insert_to_list) Linkatun listan yleisyys alkiotyypin suhteen source-tasolla
Lisätiedot815338A 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ätiedotLuku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti
Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan
LisätiedotLuento 6. June 1, 2015. Luento 6
June 1, 2015 Normaalimuodon pelissä on luontevaa ajatella, että pelaajat tekevät valintansa samanaikaisesti. Ekstensiivisen muodon peleissä pelin jonottaisella rakenteella on keskeinen merkitys. Aluksi
LisätiedotString-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1
String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen
Lisätiedot2.7 Neliöjuuriyhtälö ja -epäyhtälö
2.7 Neliöjuuriyhtälö ja -epäyhtälö Neliöjuuren määritelmä palautettiin mieleen jo luvun 2.2 alussa. Neliöjuurella on mm. seuraavat ominaisuudet. ab = a b, a 0, b 0 a a b =, a 0, b > 0 b a2 = a a > b, a
LisätiedotOHJ-1151 Ohjelmointi IIe
Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-1151 Ohjelmointi IIe Harjoitustyö Tomaattisota Välipalautus / Loppudokumentaatio Assistentin nimi Välipalautusaika (päivä ja kellonaika) ja
LisätiedotAlgoritmit 2. Luento 8 Ke 13.4.2016. Timo Männikkö
Algoritmit 2 Luento 8 Ke 13.4.2016 Timo Männikkö Luento 8 Rekursioyhtälöt Master-lause Lähin pistepari Ahne menetelmä Lyhin virittävä puu Kruskalin menetelmä Primin menetelmä Merkkitiedon tiivistäminen
LisätiedotOletetaan, että funktio f on määritelty jollakin välillä ]x 0 δ, x 0 + δ[. Sen derivaatta pisteessä x 0 on
Derivaatta Erilaisia lähestymistapoja: geometrinen (käyrän tangentti sekanttien raja-asentona) fysikaalinen (ajasta riippuvan funktion hetkellinen muutosnopeus) 1 / 13 Derivaatan määritelmä Määritelmä
LisätiedotAluksi. 2.1. Kahden muuttujan lineaarinen epäyhtälö
Aluksi Matemaattisena käsitteenä lineaarinen optimointi sisältää juuri sen saman asian kuin mikä sen nimestä tulee mieleen. Lineaarisen optimoinnin avulla haetaan ihannearvoa eli optimia, joka on määritelty
LisätiedotInduktio kaavan pituuden suhteen
Induktio kaavan pituuden suhteen Lauselogiikan objektikieli määritellään kurssilla Logiikka 1B seuraavasti: 1. Lausemuuttujat p 1, p 2, p 3,... ovat kaavoja. 2. Jos A on kaava, niin A on kaava. 3. Jos
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna
LisätiedotSähköpostiohjeet. Tehokas ja huoleton sähköposti
Sähköpostiohjeet 1 Uuden PST tiedoston luominen sähköposteille... 3 Tärkeää!... 3 Tiedoston luominen... 3 Kansioiden luominen datatiedostoon... 5 Pikatoimintojen luominen... 8 Odottaa vastausta allekirjoitus...
LisätiedotMatematiikan tukikurssi 3.4.
Matematiikan tukikurssi 3.4. Neliömuodot, Hessen matriisi, deiniittisyys, konveksisuus siinä tämän dokumentin aiheet. Neliömuodot ovat unktioita, jotka ovat muotoa T ( x) = x Ax, missä x = (x 1,, x n )
LisätiedotMAA10 HARJOITUSTEHTÄVIÄ
MAA0 Määritä se funktion f: f() = + integraalifunktio, jolle F() = Määritä se funktion f : f() = integraalifunktio, jonka kuvaaja sivuaa suoraa y = d Integroi: a) d b) c) d d) Määritä ( + + 8 + a) d 5
LisätiedotKäyttöjärjestelmät: Virtuaalimuisti
Käyttöjärjestelmät: Virtuaalimuisti Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Muistinhallinta
LisätiedotMassaeditorikoulutus 8.12.2015. KANSALLISKIRJASTO - Kirjastoverkkopalvelut
Massaeditorikoulutus 8.12.2015 Massaeditoinnin toimintaperiaate Kokoelman tai hakutuloksen tietueet (itemit) voidaan eksportoida CSV-tiedostona omalle työasemalle taulukkomuodossa CSV:tä muokataan Libre/OpenOfficen
LisätiedotLuku 3. Listankäsittelyä. 3.1 Listat
Luku 3 Listankäsittelyä Funktio-ohjelmoinnin tärkein yksittäinen tietorakenne on lista. Listankäsittely on paitsi käytännöllisesti oleellinen aihe, se myös valaisee funktio-ohjelmoinnin ideaa. 3.1 Listat
Lisätiedotmonissa laskimissa luvun x käänteisluku saadaan näyttöön painamalla x - näppäintä.
.. Käänteisunktio.. Käänteisunktio Mikäli unktio : A B on bijektio, niin joukkojen A ja B alkioiden välillä vallitsee kääntäen yksikäsitteinen vastaavuus eli A vastaa täsmälleen yksi y B, joten myös se
LisätiedotEUROOPAN YHTEISÖJEN KOMISSIO. Ehdotus: NEUVOSTON ASETUS. neljännesvuosittaista julkista velkaa koskevien tietojen laatimisesta ja toimittamisesta
EUROOPAN YHTEISÖJEN KOMISSIO Bryssel 9.12.2003 KOM(2003) 761 lopullinen 2003/0295 (CNS) Ehdotus: NEUVOSTON ASETUS neljännesvuosittaista julkista velkaa koskevien tietojen laatimisesta ja toimittamisesta
LisätiedotIlmoittautuminen kansalliseen, SM-, AM- tai avoimeen kilpailuun
Ilmoittautuminen kansalliseen, SM-, AM- tai avoimeen kilpailuun 1. Kirjaudu IRMAan suunnistajana. 2. Valitse kilpailukalenterista se kilpailu, johon haluat ilmoittautua ja paina Ilmoittaudu. Vain niihin
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n
LisätiedotEsimerkki 8. Ratkaise lineaarinen yhtälöryhmä. 3x + 5y = 22 3x + 4y = 4 4x 8y = 32. 3 5 22 r 1 + r 3. 0 13 26 4 8 32 r 3 4r 1. LM1, Kesä 2014 47/68
Esimerkki 8 Ratkaise lineaarinen yhtälöryhmä 3x + 5y = 22 3x + 4y = 4 4x 8y = 32. 3 5 22 r 1 + r 3 3 4 4 4 8 32 1 3 10 0 13 26 4 8 32 r 3 4r 1 1 3 10 3 4 4 r 2 3r 1 4 8 32 1 3 10 0 13 26 r 2 /13 0 4 8
Lisätiedot815338A 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ätiedotAlgoritmit 2. Luento 14 Ke Timo Männikkö
Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan
LisätiedotTietorakenteet ja algoritmit syksy Laskuharjoitus 1
Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,
LisätiedotOhjelmoinnin 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ätiedotEsimerkkejä derivoinnin ketjusäännöstä
Esimerkkejä derivoinnin ketjusäännöstä (5.9.008 versio 1.0) Esimerkki 1 Määritä funktion f(x) = (x 5) derivaattafunktio. Funktio voidaan tulkita yhdistettynä funktiona, jonka ulko- ja sisäfunktiot ovat
LisätiedotAlgoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26
LisätiedotAlgoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
LisätiedotTW- EAV510: WDS- TOIMINTO KAHDEN TW- EAV510 LAITTEEN VÄLILLÄ
TWEAV510: WDSTOIMINTO KAHDEN TWEAV510 LAITTEEN VÄLILLÄ Alla kaksi vaihtoehtoista ohjetta WDSverkon luomiseksi Ohje 1: WDSyhteys käyttää WPAsalausta. Tässä ohjeessa WDSyhteys toimii vain, kun tukiasema
LisätiedotAlgoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
LisätiedotA274101 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ätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Merkintöjen tulkintoja *++Pstack->top = item *Pstack->top++ = item (*Pstack->top)++ *(Pstack++)->top = item *(++Pstack)->top = item Lisää pinon toteutuksia Dynaaminen taulukko
LisätiedotFunktion raja-arvo 1/6 Sisältö ESITIEDOT: reaalifunktiot
Funktion raja-arvo 1/6 Sisältö Esimerkki funktion raja-arvosta Lauseke f() = 1 cos määrittelee reaauuttujan reaaliarvoisen funktion f, jonka lähtöjoukko muodostuu nollasta eroavista reaaliluvuista. Periaatteessa
LisätiedotOptimointi. Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa. Ongelman mallintaminen. Mallin ratkaiseminen. Ratkaisun analysointi
Optimointi Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa Ongelman mallintaminen Mallin ratkaiseminen Ratkaisun analysointi 1 Peruskäsitteitä Muuttujat: Sallittu alue: x = (x 1, x 2,...,
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Pino Pinon määritelmä Pinon sovelluksia Järjestyksen kääntäminen Palindromiprobleema Postfix-lausekkeen laskenta Infix-lausekkeen muunto postfix-lausekkeeksi Sisäkkäiset funktiokutsut
LisätiedotAlgoritmit 2. Luento 8 To Timo Männikkö
Algoritmit 2 Luento 8 To 4.4.2019 Timo Männikkö Luento 8 Algoritmien analysointi Algoritmien suunnittelu Rekursio Osittaminen Rekursioyhtälöt Rekursioyhtälön ratkaiseminen Master-lause Algoritmit 2 Kevät
LisätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen
LisätiedotMuuttujien roolit Kiintoarvo cin >> r;
Muuttujien roolit Muuttujilla on ohjelmissa eräitä tyypillisiä käyttötapoja, joita kutsutaan muuttujien rooleiksi. Esimerkiksi muuttuja, jonka arvoa ei muuteta enää kertaakaan muuttujan alustamisen jälkeen,
Lisätiedot811120P 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ätiedotMuita linkattuja rakenteita
1 Muita linkattuja rakenteita Johdanto Aikaisemmin on käsitelty listan, jonon ja pinon toteutus dynaamisesti linkattuna rakenteena. Dynaamisella linkkauksella voidaan toteuttaa mitä moninaisimpia rakenteita.
LisätiedotTietorakenteet (syksy 2013)
Tietorakenteet (syksy 2013) Harjoitus 1 (6.9.2013) Huom. Sinun on osallistuttava perjantain laskuharjoitustilaisuuteen ja tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. Näiden laskuharjoitusten
Lisätiedot11.4. Rakenteellista käsittelyä tilavuusrenderöintialgoritmeissa
11.4. Rakenteellista käsittelyä tilavuusrenderöintialgoritmeissa Tilavuusdatan katseluprosessi on käsitteellisesti yksinkertaista. Se pitää sisällään tilavuuden kierron katselusuuntaan ja sitten säteen
LisätiedotJohdatus yliopistomatematiikkaan, 2. viikko (2 op)
Johdatus yliopistomatematiikkaan, 2. viikko (2 op) Jukka Kemppainen Mathematics Division Yhtälöt ja epäyhtälöt Jokainen osaa ratkaista ensimmäisen asteen yhtälön ax + by + c = 0. Millä parametrien a, b
LisätiedotNumeeriset menetelmät
Numeeriset menetelmät Luento 1 Ti 6.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 1 Ti 6.9.2011 p. 1/28 p. 1/28 Numeriikan termejä Simulointi: Reaalimaailman ilmiöiden jäljitteleminen (yleensä)
LisätiedotRacket ohjelmointia I
Racket ohjelmointia I Tiina Partanen 2015 Sisältö 1) Racket-kieli ja DrRacket 1.1 DrRacket esivalmistelut 1.2 Peruslaskutoimitukset 2) Piirtotyökalut 2.1 Peruskuvioiden piirtäminen 2.2 Määrittelyt (define)
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta Integrointi Integrointi on erivoinnin käänteistoimitus: jos funktion F(x) erivaatta on f (x), niin funktion f (x) integraali on F(x). Täten, koska esimerkiksi funktion
LisätiedotTeen koko ajan aktiivista mainontaa Googlessa. Tavoite on olla etusivulla, kun haetaan henkisiä tapahtumia, kursseja, yrittäjiä.
1 Palvelut ja Hinnasto 4.3.2016 Palvelut Ilmaisia sivuja ovat Tapahtumakalenteri, Yrityksiä ja Vuokrattavia tiloja. Näillä sivuilla on lomakkeet, joilla saat tapahtuman ja yrityksesi sivuille. Valokeilassa
LisätiedotJOENSUUN SEUDUN HANKINTATOIMI KOMISSIOMALLI 28.03.2014
JOENSUUN SEUDUN HANKINTATOIMI KOMISSIOMALLI 28.03.2014 KOMISSIO Komissio otetaan käyttöön kaikissa kilpailutuksissa, joiden hankintakausi alkaa 1.1.2012 tai sen jälkeen Raha liikkuu Joensuun seudun hankintatoimen
Lisätiedot30 + x. 15 + 0,5x = 2,5 + x 0,5x = 12,5 x = 25. 27,5a + 27,5b = 1,00 55 = 55. 2,5a + (30 2,5)b (27,5a + 27,5b) = 45 55.
RATKAISUT, Insinöörimatematiikan koe 1.5.201 1. Kahdessa astiassa on bensiinin ja etanolin seosta. Ensimmäisessä astiassa on 10 litraa seosta, jonka tilavuudesta 5 % on etanolia. Toisessa astiassa on 20
LisätiedotLue ohjeet huolellisesti ennen laitteen käyttöä.
1 Väliaikaisen tallennuskansion käyttö Lue ohjeet huolellisesti ennen laitteen käyttöä. Kun skannaat kuvia, dioja, asiakirjoja jne. sekä digitoit LP-levyjä tai C-kasetteja, sinulla on mahdollisuus tallentaa
LisätiedotMerkintöjen tekeminen pohjakuvaan Libre Officella v.1.2
v.1.2 Tämän ohjeen avulla voit piirtää omia merkintöjäsi olemassa olevan pohjakuvan päälle. Ohje on tehty käyttäen LibreOfficen versiota 5.0, mutta se toimii melko hyvin myös vanhempien versioiden kanssa.
LisätiedotTietorakenteet ja algoritmit. Kertaus. Ari Korhonen
Tietorakenteet ja algoritmit Kertaus Ari Korhonen 1.12.2015 Tietorakenteet ja algoritmit - syksy 2015 1 Presemosta: 12. Kertaus» Mitkä tekijät, miten ja miksi vaiku1avat algoritmien nopeuteen» Rekursiohistoriapuut
LisätiedotRavintovartti, teemana lautasmalli
Ravintovartti, teemana lautasmalli Ravintovartin tavoite ja toteutus Ravintovartin tavoitteena on tutustua lautasmalliin. Vartti sisältää lautasmallin lyhyen esittelyn, jonka jälkeen jokainen piirtää lautasmallin
LisätiedotOhjelmoinnin 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- Kommentoi koodisi. Koodin kommentointiin kuuluu kuvata metodien toiminta ja pääohjelmassa tapahtuvat tärkeimmät toiminnat. Esim.
Projektityö olioista. Projektityön ohjeistus: - Jokainen valitsee vain yhden aiheen projektityökseen. Projektityön tarkoitus on opetella tekemään hieman isompi, toimiva ohjelma olioita käyttäen. Ohjelmakoodi
LisätiedotMoodle HOPS-työskentelyn tukena
Moodle HOPS-työskentelyn tukena Ohjeita alueen tilaamiseen Tilatessasi Moodle-aluetta HOPS-ryhmällesi, voit tilata täysin tyhjän alueen, jonne rakennat itse kaikki tarvittavat työkalut ja materiaalit.
LisätiedotE-kirjat. ja uusi Ellibsin käyttöliittymä
E-kirjat ja uusi Ellibsin käyttöliittymä Miksi e-kirja? Tablettien yleistyessä luettavat kirjat kulkevat kätevästi mukana Tekstin kokoa voi säätää oman mieltymyksen mukaisesti, fonttiakin voi halutessaan
LisätiedotMerkkien ja merkkijonojen käsittelyä Javalla
1 Merkkien ja merkkijonojen käsittelyä Javalla char String Merkkijonon lukeminen käyttäjältä String-luokan metodeja matches-metodi ja esimerkkejä säännöllisistä lausekkeista (engl. regular expressions)
LisätiedotTILASTOLLINEN LAADUNVALVONTA
1 Aki Taanila TILASTOLLINEN LAADUNVALVONTA 31.10.2008 2 TILASTOLLINEN LAADUNVALVONTA Tasalaatuisuus on hyvä tavoite, jota ei yleensä voida täydellisesti saavuttaa: asiakaspalvelun laatu vaihtelee, vaikka
LisätiedotRacket ohjelmointia. Tiina Partanen 2014
Racket ohjelmointia Tiina Partanen 2014 Sisältö 1) Peruslaskutoimitukset 2) Peruskuvioiden piirtäminen 3) Määrittelyt (define) 4) Yhdistettyjen kuvien piirtäminen 5) Muuttujat ja funktiot 6) Animaatiot
Lisätiedot(x 0 ) = lim. Derivoimissääntöjä. Oletetaan, että funktiot f ja g ovat derivoituvia ja c R on vakio. 1. Dc = 0 (vakiofunktion derivaatta) 2.
Derivaatta kuvaa funktion hetkellistä kasvunopeutta. Geometrisesti tulkittuna funktion derivaatta kohdassa x 0 on funktion kuvaajalle kohtaan x 0 piirretyn tangentin kulmakerroin. Funktio f on derivoituva
LisätiedotDiskreetit rakenteet
Diskreetit rakenteet 811120P 5 op 7. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1 Mikä on verkko? verkko (eli graafi) koostuu solmuista ja väleistä, jotka yhdistävät solmuja
LisätiedotAlgoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
LisätiedotHelmi-koulutus Tuen lomakkeet
Helmi-koulutus Tuen lomakkeet Anna-Riikka Kivikoski Marika Korpinurmi 1 Tampere siirtyy sähköisiin lomakkeisiin syksyllä 2016 Helmi-toiminnanohjausjärjestelmässä avataan henkilökunnan käyttöön 31.8. sähköiset
Lisätiedot58131 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ätiedotMiten yliopiston teoriaopetus vastaa harjoittelussa tarvittaviin taitoihin? Opetusapteekkien neuvottelupäivä 23.4.2014 Liisa Niemi
Miten yliopiston teoriaopetus vastaa harjoittelussa tarvittaviin taitoihin? Opetusapteekkien neuvottelupäivä 23.4.2014 Liisa Niemi Olen 3. vuoden proviisoriopiskelija, opiskellut v. 2011-2014 Kerron vanhasta
Lisätiedot1 / 11. Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto. Pikaopas Maxwelliin. ARK-A2500 DA-alkeet Elina Haapaluoma, Heidi Silvennoinen Syksy 2015
1 / 11 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto Pikaopas Maxwelliin Miksi Maxwell? 2 / 11 Enemmän säätövaraa kuin Brazilissa. Varsinkin jos on harrastanut valokuvausta, Maxwell voi olla hyvä
LisätiedotLyhyt kertaus osoittimista
, syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin
LisätiedotKenguru 2016 Mini-Ecolier (2. ja 3. luokka) Ratkaisut
sivu 1 / 11 TEHTÄVÄ 1 2 3 4 5 6 VASTAUS E B C D D A TEHTÄVÄ 7 8 9 10 11 12 VASTAUS E C D C E C TEHTÄVÄ 13 14 15 16 17 18 VASTAUS A B E E B A sivu 2 / 11 3 pistettä 1. Anni, Bert, Camilla, David ja Eemeli
LisätiedotTietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
LisätiedotC-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys
Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,
LisätiedotHae Opiskelija käyttöohje
Hae Opiskelija käyttöohje Yleistä Hae Opiskelija hakuikkunan toiminto on uudistettu tavoitteena saada selkeämpi ja helppokäyttöisempi rakenne. Käyttäjä valitsee ensin, kumpaa hakua haluaa käyttää, Perushaku
LisätiedotTarjoajalla on oltava hankinnan kohteen laatu ja laajuus huomioon ottaen kokemusta seuraavilla alueilla:
Kysymykset ja vastaukset 1 (5) Avainkumppanin hankinta johtamisen kehittämisen projektiin Espoon kaupungin hankintapalveluun saapui kysymyksiä koskien Avainkumppanin hankinta johtamisen kehittämisen projektiin
LisätiedotTIETORAKENTEET JA ALGORITMIT
TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle
LisätiedotSisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta
22. Taulukot 22.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.2 Yleistä
LisätiedotSe 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( ) ( ) ( ) ( ( ) Pyramidi 4 Analyyttinen geometria tehtävien ratkaisut sivu 271 Päivitetty 19.2.2006. 701 a) = keskipistemuoto.
Pyramidi Analyyttinen geometria tehtävien ratkaisut sivu 7 Päivitetty 9..6 7 a) + y = 7 + y = 7 keskipistemuoto + y 7 = normaalimuoto Vastaus a) + y = ( 7 ) + y 7= b) + y+ 5 = 6 y y + + = b) c) ( ) + y
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
Lisätiedot815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
LisätiedotAsia T-237/00. Patrick Reynolds vastaan Euroopan parlamentti
Asia T-237/00 Patrick Reynolds vastaan Euroopan parlamentti Henkilöstö Tilapäinen siirto muihin tehtäviin yksikön edun mukaisesti Henkilöstösääntöjen 38 artikla Poliittinen ryhmä Siirron ennenaikainen
LisätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 2 1.-2.2.2017 Timo Männikkö Tehtävä 1 (a) Ei-rekursiivinen algoritmi: laskesumma(t, n) sum = t[0]; for (i = 1; i < n; i++) sum = sum + t[i]; return sum; Silmukka suoritetaan n 1 kertaa
LisätiedotWeb-teknologiat. XML-datan kysely Topi Sarkkinen
Web-teknologiat XML-datan kysely Topi Sarkkinen Sisältö XML (lyhyesti) XPath XQuery XSLT XML Extensible Markup Language Ihmisten ja koneiden luettava metakieli, jolla voidaan määritellä muitakin kieliä
LisätiedotSMG-4200 Sähkömagneettisten järjestelmien lämmönsiirto Ehdotukset harjoituksen 4 ratkaisuiksi
SMG-400 Sähkömaneettisten järjestelmien lämmönsiirto Ehdotukset harjoituksen 4 ratkaisuiksi Jatkuvuustilan D-lämpötilajakauma: differenssimenetelmä Differenssimenetelmän käyttämen lämpötehtävien ratkaisemiseen
LisätiedotAlgoritmit 1. Luento 12 Ti Timo Männikkö
Algoritmit 1 Luento 12 Ti 19.2.2019 Timo Männikkö Luento 12 Osittamisen tasapainoisuus Pikalajittelun vaativuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu Algoritmit
Lisätiedot- Valitaan kohta Asetukset / NAT / Ohjelmallinen palvelin - Seuraavassa esimerkki asetuksista: valitaan käytössä oleva ohjelmistorajapinta
TW-EAV510: VALVONTAKAMERAN KYTKEMINEN VERKKOON OPERAATTORIN IP-OSOITE - Jotta valvontakameran käyttöä varten saadaan avattua tarvittavat portit, pitää operaattorilta saada julkinen IP-osoite, jotta kaikki
LisätiedotTietorakenteet, laskuharjoitus 3, ratkaisuja
Tietorakenteet, laskuharjoitus 3, ratkaisuja 1. (a) Toistolauseen runko-osassa tehdään yksi laskuoperaatio, runko on siis vakioaikainen. Jos syöte on n, suoritetaan runko n kertaa, eli aikavaativuus kokonaisuudessaan
LisätiedotTimeEdit henkilökunnan ohje
TIMEEDIT-OHJE 1 (13) TimeEdit henkilökunnan ohje TIMEEDIT WEB... 2 TYÖJÄRJESTYKSET... 2 TYÖJÄRJESTYKSET NÄKYMÄT JA HAKUEHDOT... 4 VARAA TILA... 5 VARAA AUTO... 6 NÄYTÄ OMAT VARAUKSET... 6 TEE POISSAOLOILMOITUS...
LisätiedotLaboratoriotyön sisältö. Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti (1 raportti/työ)
Päällystyksen ja pintakäsittelyn kemiaa laboratoriotyöt kevät 2012 n. 15 h labratyöskentelyä Laboratoriotyön sisältö Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti
Lisätiedot