Kellojen synkronointi itsestabiloituvasti
|
|
- Aleksi Väänänen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Kellojen synkronointi itsestabiloituvasti Hajautetut algoritmit -seminaari Mikko Pervilä Matemaattis-luonnontieteellinen tiedekunta
2 Esitelmän rakenne Mahdottomuus, eli katsaus ongelmakenttään Atomikellot Ratkaisuja, eli mitä saadaan aikaiseksi Olemassa olevia algoritmeja, niillä saatavia tuloksia Kellopulssiin perustuva synkroninen algoritmi Yksityiskohtia, simulointia Semisynkroninen algoritmi Karkeammin esitelty, johdattelua toimintaan
3 Mitä oletetaan jo tunnetuksi? Itsestabiloituvuus käsitteenä Viat eivät saa muuttaa algoritmin toimintaa Bysanttilaisten kenraalien ongelma n = prosessien (solmujen) lukumäärä f = vikaantuneiden lukumäärä Jos f > n/3, ratkeamaton yleisessä muodossa Poikkeustapaukset sivuutetaan
4 Pääasiallinen lähde Dolev, S., Welch, J.L., Self-stabilizing clock synchronization in the presence of Byzantine faults. Journal of the ACM, 51,5(syyskuu 2004), sivut Muut lähteet kirjoitelmassa Linkki seminaarin kotisivuille: pervila.pdf
5 Mahdottomuus: kevyttä fysiikkaa Unohdetaan suhteellisuusteoria Ajatellaan teoreettista ideaalikelloa Näyttää aina ajan tarkasti Todelliset kellot toteutetaan mekaanisesti tai elektronisesti Tavasta riippumatta aiheutuu virheitä Kelloon vaikuttavat useat tekijät: painovoima, lämpötila, säteily, sähkövirta
6 Mahdottomuus: ajelehtiminen Kellonaika esitetään rajoitetulla tarkkuudella Erotusta ideaalikelloon kutsutaan ajelehtimiseksi kellonaika t + (t ρ) t t - (t ρ) Kello joko edistää tai jätättää Virhe toistuu joka askeleella Virhettä merkitään ρ (rho) t 0 tosiaika
7 Mahdottomuus: ideaalikello Ideaalikello voisi mitata vaikkapa SI-sekunteja Miten ideaalikello toteutetaan? The second is the duration of periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium 133 atom. (Lähde:
8 Mahdottomuus: atomikellot Universal Coordinated Time (UTC) Tahdistetaan aurinkoon lisäämällä karkaussekunteja Lähteenä International Atomic Time International Atomic Time (TAI) Ei välitä taivaankappaleiden tai maan liikkeistä 250 laboratoriota, 50 atomikelloa
9 Mahdottomuus: atomikellot
10 Mahdottomuus: atomikellot Menemättä liikaa yksityiskohtiin, TAI on painotettu keskiarvo. Siihenkin tehdään pieniä korjauksia: viime vuonna Tarkkuus noin (1,2) x Keskiarvolla on joitakin ikäviä ominaisuuksia: Juha Puranen / Tilastotieteen laitos: Uuden atomikellon rakennus?
11 Ensimmäinen neljännes ohitse ¼
12 Ratkaisuja: mitä on tehty aiemmin? Cristianin algoritmi Jonka avulla saadaan arvioitua tiedonsiirtoviive Berkeleyn algoritmi Keskiarvojen avulla muodostettu konsensus Lamportin aikaleimat Muunnetaan ongelmaa helpommaksi
13 Ratkaisuja: Cristianin algoritmi Haetaan kellonaika luotetulta palvelimelta Arvioidaan kauanko siirtoon meni Huomioidaan siirtoaika kellonaikaa asettaessa P Lievä oletus: tieto luotettavaa Palvelin ja tiedonsiirto luotettavia Autentikointi- ja salausmenetelmät pyyntö vastaus aika 1 aika 2 A A aika Vahva oletus: palvelimella oikea kellonaika Atomikello?
14 Ratkaisuja: Cristianin algoritmi Kun lähetetään palvelimelle pyyntö, kirjoitetaan pyyntöön aikaleima vanhalla kellolla Palvelin kopioi aikaleiman mukaan vastaukseen Kun vastaanotetaan palvelimelta vastaus kirjoitetaan vastaukseen aikaleima vanhalla kellolla Lopputuloksena arvio siirtoviiveestä d d = aika 1 aika 2 2
15 Ratkaisuja: Berkeleyn algoritmi Tutkii, mitä kellonaikoja löytyy ja laskee näistä yhteisen arvon kaikille Välittää tiedon muutoksena vanhaan kellonaikaan Käyttää keskiarvoa, kykenee valitsemaan johtajan Myös mikäli johtaja katoaa tai monistuu verkon osittumisen seurauksena Jättää huomioimatta selvästi vialliset kellonajat Määritys esimerkiksi parametrilla b Oikean arvon valinta vaatii ennakointikykyä
16 Ratkaisuja: Berkeleyn algoritmi Keskiarvon käyttö ei takaa, että kello olisi oikeassa ajassa algoritmin suorituksen jälkeen Mutta suunta lienee oikea Palaamme keskiarvoihin vielä hieman myöhemmin Mikä arvo on parametrille b kaikkein sopivin? Liian pieni: unohdetaan suurin osa osallistujista Liian suuri: poikkeavien arvojen merkitys kasvaa
17 Ratkaisuja: Lamportin aikaleimat Lamportin aikaleimat muuntavat ongelmaa Käyttävät hyväkseen osittaista järjestysrelaatiota voidaan mieltää syy-seuraus-suhteena Järjestämätöntä osaa kutsutaan rinnakkaisiksi Lisäksi siirrytään loogiseen kelloon Monotonisesti kasvavan laskurin arvoilla merkitään ne tapahtumat, jotka on tarpeen pystyä järjestämään Esimerkiksi lähetettävät viestit ja kuittaukset Tarkempi läpikäynti sivuutetaan Timo Alangon luentokalvot ovat eräs hyvä lähde (simulointia)
18 Puoliaika! ½
19 Synkroninen algoritmi Valitettavan tylsä, käytiin läpi jo edellisellä viikolla! Esitelmää yritetty painottaa uusiksi Tutkitaan oletuksia Simuloidaan Mietitään ongelmatapausta
20 Synkroninen algoritmi: ohjelmakoodina 01 when pulse occurs: 02 broadcast clock i 03 collect clock values until (1 + ρ)(d + ε) time has elapsed on the physical clock 04 if { j clock i = clock j } < n f then (case 1) 05 clock i 0 06 last_increment i false} 07 else (case 2) 08 if clock i 0 then (case 2.1) 09 { clock i ( clock i + 1) mod M lc 10 last_increment i true} 11 else (case 2.2) 12 if last_increment i = true then (case 2.2.1) clock i 1 13 else (case 2.2.2) clock i toss(0, 1) 14 if clock i = 1 then last_increment i true 15 else last_increment i false Pieniä eroja kirjoitelmaan
21 Synkroninen algoritmi: tilakoneena start clock 1 clock = 1 last_inc true pulse random clock 1 case clock (clock + 1) mod M lc collect until timer clock toss(0,1) case case 2.1 last_inc = true last_inc = false clock 0 case 2.2 clock = 0 last_inc false pulse clock 0 bcast case 1 timer less than j others count j others with my clock timer = (1 + ρ) (d + ε) j = n - f case 2
22 Synkroninen algoritmi: oletuksia ja muuttujia Yläraja viestien odottelemiselle: (1 + ρ)(d + ε) ρ = fyysisen kellon ajelehtimisen yläraja d = arvio tiedonsiirtoviiveelle ε = arviointivirhe, satunnainen elementti Jos kestää yli tämän, käsitellään puuttuvana pyyntö P vastaus aika 1 aika 2 A A aika Toimivat ja vikaantuneet prosessit Järjestelmään liittyminen ja siitä poistuminen julkisia Jokainen prosessi pystyy laskemaan osallistujien määrän n Vikaantuneiden lukumäärä f arvioidaan ylärajaksi n/3 Mitä jos f kasvaa yli n/3? Simuloidaan seuraavaksi hieman
23 Synkroninen algoritmi: simulointia lf = (last_increment i false) P1 P2 P3 P lf 0 lf lf 0 lf lf 0 lf 0 lf toss 1 lf lf P1 P2 P3 P4 lf 0 lf 0 lf 0 5 toss lf lf 0... M lc = 8, 2 8 =256, [0-255] lf lf
24 Synkroninen algoritmi: toiminnan nopeuttaminen Palautuneet prosessit pitäisi saada nopeammin mukaan kuvioihin! Kiinalainen jakojäännös Nähty viime viikolla, esimerkki Brunbergin kalvoissa Jaetaan looginen kello (a,b,...,n) pienempään laskuriin ja koodataan kellonarvot vastaamaan monikoita Ajetaan kellopulssiin perustuvaa algoritmia jokaiselle laskurille Jokainen laskuri a,b,..,n pyörähtää ympäri nopeammin Muistuttaa hieman hedelmäpeliä Näin toimimalla 64 bitin looginen kello saadaan stabiloitumaan (n-f) pulssin jälkeen n ei siis voi olla kovin suuri
25 Enää vartti jäljellä! ¾
26 Semisynkroninen algoritmi Ei käytä keskitettyä kellopulssia Nimi semisynkroninen lienee peräisin siitä, että algoritmi käyttää kahta fyysiseen kelloon perustuvaa laskuria Tutkitaan oletuksia Kevyt johdanto algoritmin toimintaan Satunnaisuus tekee simuloinnista hankalaa Ehkä vähän epäuskottavaakin
27 Semisynkroninen algoritmi: ohjelmakoodina 01 if last_hop_timer i = 0 then 02 if last_avg_timer i = 0 and clock i δ then 03 choice i average 04 else choice i hop 05 broadcast clock-request message 06 let S i be multiset of clock values collected until 2(1 + ρ)(d + ε) time has elapsed on the physical clock 07 if n - f elements of S i are within δ of clock i then 08 S i reduce( S i, clock i, f ) 09 if choice i = average then (*do the averaging procedure*) 10 clock i midpoint( S i ) 11 last_avg_timer i T a (*set physical clock timer - counts down to 0*) 12 else (*do the hopping procedure*) 13 clock i random( S i ) 14 last_hop_timer i T s ( *set physical clock timer - counts down to 0*) 15 else (*less than n - f clock values are within clock i *) 16 clock i random(s i ) 17 last_hop_timer i T s
28 Semisynkroninen algoritmi: tilakoneena receive S i until timer timer = 2(1 + ρ)(d + ε) j = n - f T a = time since last avg T s = time since last hop avg choice avg bcast timer count j others within δ of my clock clock fine last_avg_timer=0 and clock δ choice hop less than j within δ S i reduce(s i, clock, f) avg or hop else hop clock not fine clock random(s i ) hop choice? last_hop_timer=0 last_hop_timer T s hopping avg start clock midpoint(s i ) last_avg_timer T a averaging
29 Semisynkroninen algoritmi: oletuksia ja muuttujia Samat oletukset tiedonsiirtoviiveestä ja vikaantuneiden prosessien määrästä Kaksi toimintatapaa ja laskuria, T ja T s a S = hopping, valitaan satunnaisesti uusi kellonarvo vastaanotetuista A = averaging, pyritään synkronoimaan kellot keskiarvofunktion avulla Käyttää keskiarvofunktiota reduce, jonka tehtävänä on muodostaa keskiarvo hajautetusti Joka askeleella leikataan suurimmat ja pienimmät arvot pois Suunnilleen puolittaa kellonarvojen joukon
30 Semisynkroninen algoritmi: toiminta T s ja T a ovat nollaan väheneviä laskureita, joiden tarkoitus on kiinnittää algoritmin eri toimintatiloihin käyttämä aika Muistuttavat siis hieman munakelloja T a on moninkertaisesti suurempi Lisäksi keskinäinen suhde on rajoitettu Kellonarvot kerätään verkosta joka suorituskerralla Reduce suoritetaan myös ennen satunnaista valintaa Paitsi jos oma kellonaika on liian harhautunut
31 Semisynkroninen algoritmi: kuristustekniikka Suomennetaan reduce vaikkapa arvojen kuristamiseksi n = 10, f = 3, clock i = 155 S i = {154, 156, 155, 130, 160, 156, 154, 156, 155, 178} S i reduce( S i, 155, 3 ) S i = {154, 156, 155, 130, 160, 156, 154, 156, 155, 178} S i = {154, 156, 155, 156, 154, 156, 155}
32 Semisynkroninen algoritmi: kuristustekniikka Mikä on δ? Kynnysarvo oman kellon oikeellisuudelle Rajoittaa keskiarvon valitsemisen laskemisen tiheyttä (Saattaa olla muutakin) Semisynkroninen algoritmi toipuu ajassa T a n 6(n-f) Jälleen, prosessien lukumäärä n rajoittaa käytettävyyttä
33 Lyhyt yhteenveto: oikeellisuustodistukset? Toimintaa mallinnetaan vuorotellen pelattavana pelinä Osapuolina oikeaan tulokseen pyrkivät onni ja huonoimpaan mahdolliseen tulokseen pyrkivä vuorottelija Synkronisen algoritmin tapauksessa onni pääsee jossakin vaiheessa valitsemaan (0,1) -arvot sopivasti oikein toimiville solmuille Semisynkronoidun algoritmin tapauksessa onni pääsee jossakin vaiheessa tilanteeseen, jossa solmut suorittavat kaikki keskiarvofunktiota Yksityiskohdat: omalla vastuulla, omalla ajalla
34 Lyhyt yhteenveto: mitä tästä opittiin Kellonaikojen synkronoiminen on hankalaa, etenkin hajautetusti Voidaan muuntaa perusongelmaa ja ratkaista helpompia osaongelmia Algoritmeja yhdistelemällä päästään hieman parempiin tuloksiin Kysymyksiä, kommentteja? (älkää kysykö kauhean vaikeita...)
Kellojen synkronointi itsestabiloituvasti
hyväksymispäivä arvosana arvostelija Kellojen synkronointi itsestabiloituvasti Mikko Pervilä Helsinki 14.11.2007 seminaarikirjoitelma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1 Johdanto
Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
Stabiloivat synkronoijat ja nimeäminen
Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.
Algoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava
7.4 Sormenjälkitekniikka
7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan
Algoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku
Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari
Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä
AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja
AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja s2009 1. D-kiikku Toteuta DE2:lla synkroninen laskukone, jossa lasketaan kaksi nelibittistä lukua yhteen. Tulos esitetään ledeillä vasta,
Jaetun muistin muuntaminen viestinvälitykseksi
Jaetun muistin muuntaminen viestinvälitykseksi Otto Räsänen Helsinki 10.10.2007 Hajautetut algoritmit -seminaarin kirjallinen työ HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto
Stabiloivat synkronoijat ja nimeäminen
Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita Helsinki 28.10.2007 Hajautettujen algoritmien seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i Sisältö 1 Johdanto 1 2 Stabiloivat synkronoijat
Algoritmit 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
Hajautetut algoritmit. seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi
58307301 Hajautetut algoritmit seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi 1 Seminaarin suorittaminen kirjoitelma (10-15 sivua) 50% esitelmä (n. 45 min) 40% muu aktiivisuus
(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:
Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan
Itsestabiloivabysanttilainen yhteisymmärrys. Timo Virkkala
Itsestabiloivabysanttilainen yhteisymmärrys Timo Virkkala Ongelma Päätöksenteko Yksi lähettää arvon Kaikki yrittävät päästä yhteisymmärrykseen Transientit virheet Ratkaisu: Itsestabilointi Bysanttilaiset
21~--~--~r--1~~--~--~~r--1~
- K.Loberg FYSE420 DIGITAL ELECTRONICS 13.05.2011 1. Toteuta alla esitetyn sekvenssin tuottava asynkroninen pun. Anna heratefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition
Itsestabilointi: perusmääritelmiä ja klassisia tuloksia
Itsestabilointi: perusmääritelmiä ja klassisia tuloksia Jukka Suomela Hajautettujen algoritmien seminaari 12.10.2007 Hajautetut järjestelmät Ei enää voida lähteä oletuksesta, että kaikki toimii ja mikään
Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.
Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,
2_1----~--~r--1.~--~--~--,.~~
K.Loberg FYSE420 DIGITAL ELECTRONICS 3.06.2011 1. Toteuta alia esitetyn sekvenssin tuottava asynkroninen pun. Anna heditefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition
Algoritmit 2. Luento 10 To Timo Männikkö
Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien
Seminaari: Hajautetut algoritmit syksy 2009
Seminaari: Hajautetut algoritmit syksy 2009 http://www.cs.helsinki.fi/u/josuomel/sem-2009s/ Jukka Suomela 10.9.2009 Seminaari: Hajautetut algoritmit syksy 2009 Seminaarin työmuodot 2 / 38 Aikataulu ja
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
Algoritmit 2. Luento 12 To Timo Männikkö
Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien
Televerkon synkronointi
Televerkon synkronointi ITU-T:n suositukset G.810, G.811, G.812, G.823 Rka/ML -k2002 Tiedonvälitystekniikka 5a - 1 Kurssin kuva välitysjärjestelmästä H.323 or SIP IP SIP or ISUP PABX CAS, R2 ISDN Kytkentäkenttä
OnniSMS Rajapintakuvaus v1.1
OnniSMS Rajapintakuvaus v1.1 1.0 Yleistä OnniSMS on HTTPS/XML pohjainen rajapinta tekstiviestin lähettämiseen. Palvelun käyttöön tarvitaan käyttäjätunnus, salasana ja palvelimen osoite, jotka saa tekemällä
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
Algoritmit 1. Luento 11 Ti Timo Männikkö
Algoritmit 1 Luento 11 Ti 14.2.2017 Timo Männikkö Luento 11 Algoritminen ongelmanratkaisu Osittaminen Lomituslajittelu Lomituslajittelun vaativuus Rekursioyhtälöt Pikalajittelu Algoritmit 1 Kevät 2017
Slides for Chapter 11: Time and Global State
Slides for Chapter 11: Time and Global State From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Pearson Education 2005 Edited and supplemented by Jonne Itkonen,!
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
System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
1. Tarkastellaan seuraavaa stokastista Petri-verkkoa: p 2. p 1. lock write 1
T-79.179 Rinn. ja haj. digitaaliset järjestelmät Laskuharjoitus #7 15.3.2002 Laatinut: Esa Kettunen 1. Tarkastellaan seuraavaa stokastista Petri-verkkoa: p 1 p 2 getlock 1 getlock 2 lock write 1 write
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Algoritmit 2. Luento 11 Ti Timo Männikkö
Algoritmit 2 Luento 11 Ti 25.4.2017 Timo Männikkö Luento 11 Peruutusmenetelmä Osajoukon summa Pelipuut Pelipuun läpikäynti Rajoitehaku Kapsäkkiongelma Algoritmit 2 Kevät 2017 Luento 11 Ti 25.4.2017 2/29
Algoritmit 2. Demot Timo Männikkö
Algoritmit 2 Demot 2 3.-4.4.2019 Timo Männikkö Tehtävä 1 Avoin osoitteenmuodostus: Hajautustaulukko t (koko m) Erikoisarvot VAPAA ja POISTETTU Hajautusfunktio h(k,i) Operaatiot: lisaa etsi poista Algoritmit
Peliteorian soveltaminen hajautettujen järjestelmien protokollasuunnittelussa (valmiin työn esittely)
Peliteorian soveltaminen hajautettujen järjestelmien protokollasuunnittelussa (valmiin työn esittely) Riku Hyytiäinen 23.02.2015 Ohjaaja: Harri Ehtamo Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa
ASCII-taidetta. Intro: Python
Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.
Tekijä Pitkä Matematiikka 11 ratkaisut luku 2
Tekijä Pitkä matematiikka 11 0..017 170 a) Koska 8 = 4 7, luku 8 on jaollinen luvulla 4. b) Koska 104 = 4 6, luku 104 on jaollinen luvulla 4. c) Koska 4 0 = 80 < 8 ja 4 1 = 84 > 8, luku 8 ei ole jaollinen
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
Algoritmit 1. Luento 5 Ti Timo Männikkö
Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti
vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters
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
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti
Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin
Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti
Synco TM 700 säätimen peruskäyttöohjeet
Synco TM 700 säätimen peruskäyttöohjeet Nämä ohjeet on tarkoitettu säätimen loppukäyttäjälle ja ne toimivat sellaisenaan säätimen mallista riippumatta. Säätimessä on kolme eri käyttäjätasoa, joista jokaisessa
Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] = = T [i + 1] 4 return True 5
Algoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys
T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut
T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama
Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten
Sisällys 16. Ohjelmoinnin tekniikkaa Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?
16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
pitkittäisaineistoissa
Puuttuvan tiedon ongelma p. 1/18 Puuttuvan tiedon ongelma pitkittäisaineistoissa Tapio Nummi tan@uta.fi Matematiikan, tilastotieteen ja filosofian laitos Tampereen yliopisto mtl.uta.fi/tilasto/sekamallit/puupitkit.pdf
TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:
KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen
1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return
Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
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
Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
Laskennallisesti Älykkäät Järjestelmät. Sumean kmeans ja kmeans algoritmien vertailu
Laskennallisesti Älykkäät Järjestelmät Sumean kmeans ja kmeans algoritmien vertailu Annemari Auvinen (annauvi@st.jyu.fi) Anu Niemi (anniemi@st.jyu.fi) 28.5.2002 1 Tehtävän kuvaus Tehtävänämme oli verrata
Java-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
pitkittäisaineistoissa
Puuttuvan tiedon käsittelystä p. 1/18 Puuttuvan tiedon käsittelystä pitkittäisaineistoissa Tapio Nummi tan@uta.fi Matematiikan, tilastotieteen ja filosofian laitos Tampereen yliopisto Puuttuvan tiedon
The CCR Model and Production Correspondence
The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls
System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan
Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1
Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06
Kun yhtälöä ei voi ratkaista tarkasti (esim yhtälölle x-sinx = 1 ei ole tarkkaa ratkaisua), voidaan sille etsiä likiarvo.
Kun yhtälöä ei voi ratkaista tarkasti (esim yhtälölle x-sinx = 1 ei ole tarkkaa ratkaisua), voidaan sille etsiä likiarvo. Iterointi on menetelmä, missä jollakin likiarvolla voidaan määrittää jokin toinen,
Yleinen paikallinen vakautuva synkronointialgoritmi
Yleinen paikallinen vakautuva synkronointialgoritmi Panu Luosto 23. marraskuuta 2007 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4 Lähdeartikkeli Boulinier, C., Petit, F. ja Villain, V., When graph
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
Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:
Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen
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 >=
RINNAKKAINEN OHJELMOINTI A,
RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen
Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
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
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.
VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä
Pasi Vähämartti TEHTÄVÄT 1(13) VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä entity JK_kiikku2 is Port ( J : in std_logic; K : in std_logic; CLK : in std_logic; Reset : in std_logic; Q : out std_logic;
FUNKTIOITA. Sisällysluettelo
Excel 2013 Funktioita Sisällysluettelo FUNKTIOITA FUNKTIOITA... 1 Keskiarvo-funktio... 1 Minimi ja maksimi... 1 Lukumäärä... 1 IF-funktio (JOS)... 2 IF-funktion tekeminen funktioluettelon avulla... 2 IF-funktio,
Tarkennamme geneeristä painamiskorotusalgoritmia
Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi
Integrointialgoritmit molekyylidynamiikassa
Integrointialgoritmit molekyylidynamiikassa Markus Ovaska 28.11.2008 Esitelmän kulku MD-simulaatiot yleisesti Integrointialgoritmit: mitä integroidaan ja miten? Esimerkkejä eri algoritmeista Hyvän algoritmin
A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
Littlen tulos. Littlen lause sanoo. N = λ T. Lause on hyvin käyttökelpoinen yleisyytensä vuoksi
J. Virtamo 38.3143 Jonoteoria / Littlen tulos 1 Littlen tulos Littlen lause Littlen tuloksena tai Littlen lauseena tunnettu tulos on hyvin yksinkertainen relaatio järjestelmään tulevan asiakasvirran, keskimäärin
OSA II: Hajautettu ympäristö. Sisältö, osa II. Ei yhteistä muistia. Sanomanvälitys. Etäproseduurikutsu. Rendezvous. Rio 2004 / Auvo Häkkinen
OSA II: Hajautettu ympäristö Ei yhteistä muistia 6-1 Sisältö, osa II Sanomanvälitys Etäproseduurikutsu Rendezvous 6-2 Sanomanvälitys Käsitteistöä Kanavat Asiakkaat ja Palvelijat Kommunikointitapoja Andrews
RAKENNUSAKUSTIIKKA - ILMAÄÄNENERISTÄVYYS
466111S Rakennusfysiikka, 5 op. RAKENNUSAKUSTIIKKA - ILMAÄÄNENERISTÄVYYS Opettaja: Raimo Hannila Luentomateriaali: Professori Mikko Malaska Oulun yliopisto LÄHDEKIRJALLISUUTTA Suomen rakentamismääräyskokoelma,
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
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
C++11 seminaari, kevät Johannes Koskinen
C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,
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
anna minun kertoa let me tell you
anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta
Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa
Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa - johdanto - matemaattinen induktiotodistus - matriisien kertolaskun käyttömahdollisuus - käsinlaskuesimerkkejä - kaikki välivaiheet esittävä
58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen) 1. Lisäysjärjestämisessä järjestetään ensin taulukon kaksi ensimmäistä lukua, sitten kolme ensimmäistä lukua, sitten neljä ensimmäistä
The Viking Battle - Part Version: Finnish
The Viking Battle - Part 1 015 Version: Finnish Tehtävä 1 Olkoon kokonaisluku, ja olkoon A n joukko A n = { n k k Z, 0 k < n}. Selvitä suurin kokonaisluku M n, jota ei voi kirjoittaa yhden tai useamman
Epälineaaristen yhtälöiden ratkaisumenetelmät
Epälineaaristen yhtälöiden ratkaisumenetelmät Keijo Ruotsalainen Division of Mathematics Perusoletus Lause 3.1 Olkoon f : [a, b] R jatkuva funktio siten, että f(a)f(b) < 0. Tällöin funktiolla on ainakin
voidaan hylätä, pienempi vai suurempi kuin 1 %?
[MTTTP1] TILASTOTIETEEN JOHDANTOKURSSI, Syksy 2017 http://www.uta.fi/sis/mtt/mtttp1/syksy_2017.html HARJOITUS 5 viikko 42 6.10.2017 klo 10:42:20 Ryhmät: ke 08.30 10.00 LS C6 Paajanen ke 10.15 11.45 LS
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/
12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto
Parinmuodostuksesta tietojenkäsittelytieteen silmin Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Suomalainen Tiedeakatemia Nuorten Akatemiaklubi 18.10.2010 Sisältö Mitä tietojenkäsittelytieteessä
Turingin koneen laajennuksia
Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k
Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)
VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,
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,
Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)
Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.1 Jakojäännös ja kongruenssi Määritelmä 3.1 Kaksi lukua a ja b ovat keskenään kongruentteja (tai
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua
Matematiikka ja teknologia, kevät 2011
Matematiikka ja teknologia, kevät 2011 Peter Hästö 13. tammikuuta 2011 Matemaattisten tieteiden laitos Tarkoitus Kurssin tarkoituksena on tutustuttaa ja käydä läpi eräisiin teknologisiin sovelluksiin liittyvää