Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009

Koko: px
Aloita esitys sivulta:

Download "Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009"

Transkriptio

1 Antitammirobotti Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Helsingin yliopisto Tietojenkäsittelytieteen laitos Robottiohjelmoinnin harjoitustyö (Java) Ohjaaja Mikko Apiola Helsingissä

2 Sisältö 1 Robotin rakenne ja toimintaperiaate 1 2 Toteutus ja sen ongelmat 2 3 Ohjelman osat Pääohjelma Käytösluokat Robotin liikuttelukoodi Valoanturidatan tulkitseminen Peliabstraktio Tekoäly Apuluokkia ja tietorakenteita Sivuttaisliike 5 5 Tarvittuja ohjelmointikurssien taitoja 6 6 Lähdekoodi 6

3 1 Robotin rakenne ja toimintaperiaate Tämän epäonnistuneen projektin tavoite oli toteuttaa tammea pelaava Lego Mindstorms NXT -robotti. Robotti liikkuu pelilaudan yli pyörillä ja liu'uttaa käsivarttaan laudan rivien yli. Käsivarressa on kiinteä valoanturi laudan tilan lukemista varten sekä moottorilla laskettava nappulanliikuttaja. Robotin kanssa pelataan vuorotellen siten, että ihmispelaaja painaa vuoronsa jälkeen robotin nappulaa, jonka jälkeen robotti lukee laudan tilan ja tekee oman siirtonsa. Tavallisen tammen sääntöjen mukaan nappula muuttuu laudan loppuun päätyessään tammeksi. Tammea merkitään yleensä kahdella päällekkäisellä nappulalla. Pelin sääntöjä muutettiin, koska robotti ei kykene helposti merkitsemään eikä tunnistamaan tamminappulaa. Uusissa säännöissä nappulat 1

4 eivät voi edetä päästyään laudan loppuun asti. Myös pelin tavoite käännettiin päinvastaiseksi: ensimmäinen pelaaja, joka ei voi enää tehdä siirtoja, on voittaja. 2 Toteutus ja sen ongelmat Robotin rakenteen kenties suurin ongelma oli käsivarren liu'uttajan liikerata. Liike oli melko epätarkka ja hitailla nopeuksilla nykivä. Moottorin asento ja käsivarren etäisyys moottorista olivat epälineaarisessa riippuvuussuhteessa. Lisäksi moottorin käynnistäminen ja pysäyttäminen vaikutti käsivarren liikkeeseen pienellä viiveellä. Kaikkien näiden tekijöiden huomioiminen ohjelmassa luotettavalla tavalla osoittautui liian vaikeaksi. Legon valosensori erottaa valitettavasti vain harmaasävyjä. Robotin täytyi kyetä erottamaan toisistaan mustat ja valkoiset nappulat sekä laudan musta reuna. Laudan pienen koon, sivuttaisliikeen epätasaisuuden ja muiden epätarkkuustekijöiden takia laudan lukeminen riittävän luotettavasti ei onnistunut. Robotin tekoäly toteutettiin alfa-beeta -karsinnalla tehostetulla minimax -algoritmilla. Pelipuun tutkintaa rajoitettiin vakiosyvyyteen, jossa laudan tila pisteytettiin yksinkertaisella heuristiikalla. Tekoäly toimi kohtalaisen hyvin. 3 Ohjelman osat Kaikki koodi sijaitsee pakkauksessa lego. 3.1 Pääohjelma Pääohjelman lego.main tehtävä on alustaa lejosin käytös rajapinta (behaviour API). lego-pakkauksen juuressa on myös muita pikaisiin kokeiluihin käytettyjä pääohjelmia. 2

5 3.2 Käytösluokat Koska projekti jäi kesken, käytösluokkia toteutettiin vain yksi: lego.behaviors.initialboardscan, jonka tehtävä on lukea laudan tila uudestaan. 3.3 Robotin liikuttelukoodi Robotin liikutteluun tarvittava apukoodi sijaitsee lego.control -pakkauksessa. MotorControl -rajapinta määrittää yhteisiä metodeja, jotka toteutettiin jokaiselle liikesuunnalle (HandControl, SidewaysControl, WheelControl). Sivuttaisliikkeen epälineaarisuuden kompensointi piilotettiin SidewaysControl -luokkaan. RobotControl sisältää em. MotorControl:n toteutukset sekä koodin rivien tai sarakkeiden skannaukseen. 3.4 Valoanturidatan tulkitseminen RobotControl:n skannausmetodit tuottavat taulukon valoanturin arvoja. Näiden arvojen tulkitsemiseen tarvittavat algoritmit sijaitsevat BoardScan- Data -luokassa. Koodi tulkitsee valoanturidataa käyränä ja etsii sieltä riittävän pitkiä tasaisia osia (BoardScanData.Segment). Näistä osista kaksi tumminta tulkitaan laudan reunoiksi ja loput tulkitaan joko laudaksi tai nappuloiksi. 3.5 Peliabstraktio Tammipeliä mallintavat luokat ovat lego.checkers -pakkauksen Board, Simple- Move ja JumpSequence. Laudan koordinaatistossa numeroidaan kaikki kahdeksan riviä (0-7), mutta sarakkeissa numeroidaan vain mustat ruudut (0-4). 3.6 Tekoäly Tekoäly sijaitsee luokassa lego.checkers.ai.minimaxai. Tekoälylle sopivat heuristiikat sijaitsevat lego.checkers.ai.heuristic -pakkauksessa ja to- 3

6 teuttavat PositionEvaluator -rajapinnan. 3.7 Apuluokkia ja tietorakenteita lego.misc -pakkauksessa on sekalaisia apuluokkia sekä joidenkin Lejosista puuttuvien tietorakenteiden toteutuksia. 4

7 4 Sivuttaisliike Sivuttaisliikkeessä täytyi ratkaista moottorin kulmaa ja käsivarren sijaintia yhdistävä kaava. Halutaan siis ratkaista pituus X kulman α funktiona. Voidaan kirjoittaa: X = X 1 + X 2 ja X 1 = H 1 cos(π α) = H 1 cos(α). Pituus X 2 voidaan ratkaista, kun tiedetään: X Y 2 4 = H 2 2 X 2 2 = H 2 2 Y 2 4 X 2 = Lisäksi tiedetään, että: H 2 2 Y 2 4 Y 1 + Y 3 = Y 2 + Y 4 Y 4 = Y 1 + Y 3 Y 2 = Y 1 Y 2 + H 1 sin(π α) = Y 1 Y 2 + H 1 sin(α) Saadaan lopuksi: X = X 1 + X 2 = H 1 cos(α) + H2 2 Y4 2 = H 1 cos(α) + H2 2 (Y 1 Y 2 + H 1 sin(α)) 2 missä Y 1, Y 2, H 1 ja H 2 ovat vakioita. 5

8 5 Tarvittuja ohjelmointikurssien taitoja Välttämättömiä taitoja Algoritmien laatimisen perusteet Algoritmien aika- ja tilavaativuuden arviointi Rekursion käyttö algoritmeissa Olio-ohjelmoinnin perusteet: kapselointi ja perintä Hyödyllisiä taitoja Polymorsmin hyödyntäminen Roskienkerääjän olemassaolon tiedostaminen Säikeet (Rinnakkaisohjelmointi, Ohjelmointitekniikka (Java)) 6 Lähdekoodi Robotin ohjelman lähdekoodi ulkoisine kirjastoineen sijaitsee hakemistossa lego/ ja sen alihakemistoissa. lego-extra/ sisältää joitakin yksikkötestejä sekä käyttöliittymän tekoälylle. Ohjelmaa kehitettiin Eclipse kehitysympäristössä käyttäen lejos-kirjaston Eclipse-liitännäistä. 6

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen

Lisätiedot

Lego Mindstorms NXT robottien etenemissuunnitelma

Lego Mindstorms NXT robottien etenemissuunnitelma Lego Mindstorms NXT robottien etenemissuunnitelma Ohjelmointi on yleisesti koettu luokanopettajien keskuudessa erääksi merkittävimmiksi uudistuksiksi, joita OPS 2016 tarjoaa. Tässä oppaassa on meidän koulumme

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: AKTUAATTORIT:

Lisätiedot

SÄÄNNÖT. Language: English / Suomi

SÄÄNNÖT. Language: English / Suomi Rules of Coerceo by Coerceo Company Finnish translation by Janne Henriksson SÄÄNNÖT Language: English / Suomi Tekijänoikeus Mitään tämän dokumentin osaa ei saa jäljentää, kopioida tai välittää missään

Lisätiedot

Lego NXT Mindstorms -ristinollarobotti

Lego NXT Mindstorms -ristinollarobotti Lego NXT Mindstorms -ristinollarobotti Jouko Strömmer Melissa Kasari jouko.strommer@helsinki.fi melissa.kasari@helsinki.fi Helsinki 20.5.2009 Java Standard Edition 6 lejos NXJ 0.7 beta Helsingin yliopisto

Lisätiedot

Toteutusdokumentti. FuBot

Toteutusdokumentti. FuBot Toteutusdokumentti FuBot Tuomo Tilli Tommi Sankola Robottiohjelmoinnin harjoitustyö Helsingin yliopisto, Tietojenkäsittelytieteen laitos 2.6.2009 Sisällysluettelo 1. Johdanto...3 2. Käyttöohje...3 3. Ohjelman

Lisätiedot

BL40A1810 Mikroprosessorit, harjoitus 1

BL40A1810 Mikroprosessorit, harjoitus 1 BL40A1810 Mikroprosessorit, harjoitus 1 Käytettävä laitteisto Kurssin opetuslaitteistona käytetään Legon MINDSTORMS laitteita, jonka pääosia ovat ohjelmoitava NXT-yksikkö (Atmel ARM7, 64k RAM, 256k Flash),

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015)

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

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

SUMO-ROBOTTI. Tehtävä

SUMO-ROBOTTI. Tehtävä SUMO-ROBOTTI Tehtävä Rakentaa ja ohjelmoida Lego Mindstorms NXT-sarjalla yksinkertainen Sumorobotti. Robotti ohjelmoidaan liikkumaan autonomisesti (ilman ohjausta) ja tunnistamaan mustan ottelualustan

Lisätiedot

8/20: Luokat, oliot ja APIt

8/20: Luokat, oliot ja APIt Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti

Lisätiedot

Puzzle SM 2005 15. 25.7.2005. Pistelasku

Puzzle SM 2005 15. 25.7.2005. Pistelasku Puzzle SM 005 5. 5.7.005 Pistelasku Jokaisesta oikein ratkotusta tehtävästä saa yhden () pisteen, minkä lisäksi saa yhden () bonuspisteen jokaisesta muusta ratkojasta, joka ei ole osannut ratkoa tehtävää.

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: AIVOT : + KONENÄKÖ

Lisätiedot

Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä!

Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä! Pelivaihtoehtoja Yksinkertaisin vaihtoehto: lfapetia voi pelata monella eri tavalla. Yksinkertaisimmassa vaihtoehdossa käytetään ainoastaan kirjainlaattoja. Pelilaudan miinusruudut ovat tavallisia ruutuja,

Lisätiedot

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

Tarvikkeet: A5-kokoisia papereita, valmiiksi piirrettyjä yksinkertaisia kuvioita, kyniä

Tarvikkeet: A5-kokoisia papereita, valmiiksi piirrettyjä yksinkertaisia kuvioita, kyniä LUMATE-tiedekerhokerta, suunnitelma AIHE: OHJELMOINTI 1. Alkupohdinta: Mitä ohjelmointi on? Keskustellaan siitä, mitä ohjelmointi on (käskyjen antamista tietokoneelle). Miten käskyjen antaminen tietokoneelle

Lisätiedot

Ohjeet ovat työn alla ja kirjaan niitä päivittäen ja edes takaisin lukien pari viikkoa.

Ohjeet ovat työn alla ja kirjaan niitä päivittäen ja edes takaisin lukien pari viikkoa. ( 1 ) Hannu Särön lautapelien ohjeita pelaajille - ( 1 ) - Sisältö. ( 2 ) - Jätkänshakki. ( 3 ) - Reversi. ( 4 ) - Tammi. ( 5 ) - Mylly. ( 6 ) - Shakki. ( 7 ) - Shakki, uudet napit ja uudet laudat. Ohjeet

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU ACTIVATOR 1 ACTIVATOR 2 PELIPUU ACTIVATOR 1 ACTIVATOR 2 -1 0 1 PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu)) v = for each Lapsi in

Lisätiedot

Pelaajat siirtävät nappuloitaan vastakkaisiin suuntiin pelilaudalla. Peli alkaa näin. Tuplauskuutio asetetaan yhtä kauas kummastakin pelaajasta.

Pelaajat siirtävät nappuloitaan vastakkaisiin suuntiin pelilaudalla. Peli alkaa näin. Tuplauskuutio asetetaan yhtä kauas kummastakin pelaajasta. DVD Backgammon Pelin tavoite Pelin tavoitteena on siirtää kaikki omat pelinappulat omalle sisäkentälle ja sieltä pois laudalta. Se pelaaja, joka ensimmäisenä on poistanut kaikki pelinappulansa pelilaudalta,

Lisätiedot

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET ROBOGEM_Ohjevihko_148x210mm.indd 1 PELIN TAVOITE Robotit laskeutuvat kaukaiselle planeetalle etsimään timantteja, joista saavat lisää virtaa aluksiinsa. Ohjelmoi

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

HiTechnic -kompassisensorin käyttäminen NXT-G -ympäristössä

HiTechnic -kompassisensorin käyttäminen NXT-G -ympäristössä NXT -kompassisensori NXT -roboteihin on saatavilla kahdenlaisia kompasseja: Wiltronics kompassit (tilaukset: http://www.wiltronics.com.au/) ja HiTechnic kompassit (NMC1034 Compass) (tilaukset: http://www.hitechnic.com/products).

Lisätiedot

Tietokoneshakki. Kari Timonen kari.timonen@cs.helsinki.fi

Tietokoneshakki. Kari Timonen kari.timonen@cs.helsinki.fi Tietokoneshakki Kari Timonen kari.timonen@cs.helsinki.fi Tekoäly kortti- ja lautapeleissä Helsingin yliopisto, tietojenkäsittelytieteen laitos Raportti C 2008 16, s. 74 85, joulukuu 2008 Tiivistelmä Tässä

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU -1 0 1 PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu))!

Lisätiedot

TIEA343 - Robottiohjelmointi 2011

TIEA343 - Robottiohjelmointi 2011 Samuli Rahkonen 6.7.2011 TIEA343 - Robottiohjelmointi 2011 Tämä on Jyväskylän yliopistossa järjestetyn robottiohjelmointikurssin harjoitustyön dokumentaatio. Robotin tarkoitus Robotin tarkoitus on ampua

Lisätiedot

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015 Ohjelmointi II Erkki Pesonen Luennot ja harjoitukset Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015 1 Johdantoa kurssilla opiskeluun: oppimistavoitteet. 1. Tiedän mitä asioita kurssilla opiskellaan

Lisätiedot

Lego Mindstorms NXT robottien etenemissuunnitelma

Lego Mindstorms NXT robottien etenemissuunnitelma Lego Mindstorms NXT robottien etenemissuunnitelma Ohjelmointi on yleisesti koettu luokanopettajien keskuudessa erääksi merkittävimmiksi uudistuksiksi, joita OPS 2016 tarjoaa. Tässä oppaassa on meidän koulumme

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Hakemistojen sisällöt säilötään linkitetyille listalle.

Hakemistojen sisällöt säilötään linkitetyille listalle. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ

Lisätiedot

OHJ-1160 Laaja Ohjelmointi 2

OHJ-1160 Laaja Ohjelmointi 2 Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ1160 Laaja Ohjelmointi 2 Harjoitustyö Avaruusseikkailu 2001 + 11 Nyyti Kinnunen 222500 kinnune8 nyyti.kinnunen@tut.fi 1 1 Ohjelman rakenne

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0 CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved

Lisätiedot

Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia

Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia Tehtävä 1 Tehtävässä 1 mallinnettiin Monopolipeliä. Alla olevassa esimerkissä peliin liittyy aina 2 noppaa, peliä pelataan pelilaudalla,

Lisätiedot

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011 PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9..0 Kokeessa saa vastata enintään kymmeneen tehtävään.. Sievennä a) 9 x x 6x + 9, b) 5 9 009 a a, c) log 7 + lne 7. Muovailuvahasta tehty säännöllinen tetraedri muovataan

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

Lisätiedot

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Vastauksia kysymyksiin Miten hahmon saa hyppäämään? Yksinkertaisen hypyn

Lisätiedot

Impedanssitomografia-peli

Impedanssitomografia-peli Impedanssitomografia-peli Avainsanat: inversio-ongelmat, päättely, satunnaisuus Luokkataso: 3.-5. luokka, 6.-9. luokka, lukio, yliopisto Välineet: kynä, paperia, 2 pelinappulaa, 4 kolikkoa tai kolikonheittokortit

Lisätiedot

Voiman momentti M. Liikemäärä, momentti, painopiste. Momentin määritelmä. Laajennettu tasapainon käsite. Osa 4

Voiman momentti M. Liikemäärä, momentti, painopiste. Momentin määritelmä. Laajennettu tasapainon käsite. Osa 4 Osa 4 Liikemäärä, momentti, painopiste Voiman momentti M Voiman vääntövaikutusta mittaava suure on momentti. Esim. automerkkien esitteissä on mainittu moottorin momentti ("vääntö"). Moottorin antama voima

Lisätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

* Trigonometriset funktiot suorakulmaisessa kolmiossa * Trigonometristen funktioiden kuvaajat

* Trigonometriset funktiot suorakulmaisessa kolmiossa * Trigonometristen funktioiden kuvaajat Trigonometria. a) Määrittele trigonometriset funktiot. b) Vertaa trigonometristen funktioiden ominaisuuksia määritys- ja arvojoukko sekä perusjakso). * Trigonometriset funktiot suorakulmaisessa kolmiossa

Lisätiedot

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi Älysopimusten kehittäminen Sopimus suuntautunut ohjelmointi There are currently 5,000 blockchain developers. By 2020, we project a global need for over 500,000 - ConsenSys Älysopimus alustat q Ethereum

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Shakkiopas vähemmän pelanneille

Shakkiopas vähemmän pelanneille Shakkiopas vähemmän pelanneille Sisällysluettelo: 1. Siirtäminen 2. Yleisiä muodollisuuksia 3. Pöytäkirjan pito 4. Avaukset yleensä 5. Siirron miettiminen 6. Vastustajan vuoro 7. Koulumatti ja Preussilainen

Lisätiedot

Pinta-ala- ja tilavuuskäsitteiden oppimispeli

Pinta-ala- ja tilavuuskäsitteiden oppimispeli Pinta-ala- ja tilavuuskäsitteiden oppimispeli Kari Mikkola, FM, OSAO, Kaukovainion yksikkö, tekniikka Geometriaa on perinteisesti osattu heikoiten matematiikan osa-alueista peruskoulun päättyessä [1],

Lisätiedot

Ohjelmistoarkkitehtuurit harjoitustyö RobotWarGame RobotFW SimulationFW SimulationGUIFW SWT/Java Kuva 1: Esimerkki arkkitehtuurin kerroskuvasta

Ohjelmistoarkkitehtuurit harjoitustyö RobotWarGame RobotFW SimulationFW SimulationGUIFW SWT/Java Kuva 1: Esimerkki arkkitehtuurin kerroskuvasta Ohjelmistoarkkitehtuurit harjoitustyö 2006 1 Johdanto Harjoitustyönä on toteuttaa kerroksittainen sovelluskehys erilaisten simulaatioon perustuvien pelien tekemiseen. Kehyksestä lisäksi erikoistetaan keskenään

Lisätiedot

Mobiilijärjestelmien ohjelmointi

Mobiilijärjestelmien ohjelmointi Mobiilijärjestelmien ohjelmointi 27.1.2004 Sasu Tarkoma sasu.tarkoma@cs.helsinki.fi Sisällys Johdanto Tarvittavat ohjelmat Harjoitustyön esittely Vaatimukset Demo Arvostelu Esimerkkejä Komentorivityökalut

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Uskontojen maailmassa

Uskontojen maailmassa Uskontojen maailmassa Pelikortit varhaiskasvatukseen JOHDANTO 2 Monikulttuuristuminen on nostanut esille tarpeen uudenlaiseen, käytännönläheiseen uskontodialogiseen keskusteluun ja oman taustansa tuntemiseen.

Lisätiedot

LUMATE-tiedekerhokerta, suunnitelma AIHE: PELIT JA TAKTIIKAT

LUMATE-tiedekerhokerta, suunnitelma AIHE: PELIT JA TAKTIIKAT LUMATE-tiedekerhokerta, suunnitelma AIHE: PELIT JA TAKTIIKAT 1. Alkupohdintaa Mitä lempipelejä oppilailla on? Ovatko ne pohjimmiltaan matemaattisia? (laskeminen, todennäköisyys ) Mitä taktiikoita esimerkiksi

Lisätiedot

Neljän alkion kunta, solitaire-peli ja

Neljän alkion kunta, solitaire-peli ja Neljän alkion kunta, solitaire-peli ja taikaneliöt Kalle Ranto ja Petri Rosendahl Matematiikan laitos, Turun yliopisto Nykyisissä tietoliikennesovelluksissa käytetään paljon tekniikoita, jotka perustuvat

Lisätiedot

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin perusteet, syksy 2006 Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Tietorakenteet (syksy 2013)

Tietorakenteet (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ätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

- 4 aloituslaattaa pelaajien väreissä molemmille puolille on kuvattu vesialtaat, joista lähtee eri määrä akvedukteja.

- 4 aloituslaattaa pelaajien väreissä molemmille puolille on kuvattu vesialtaat, joista lähtee eri määrä akvedukteja. AQUA ROMANA Vesi oli elintärkeä ja keskeinen edellytys Rooman imperiumin kehitykselle. Vedensaannin turvaamiseksi taitavimmat rakennusmestarit rakensivat valtavan pitkiä akvedukteja, joita pidetään antiikin

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset Opettajatuutorointi-kurssin syksyn 26 kyselyjen tulokset Opinnot keväällä ja syksyllä 26 Pirjo Moen, 2.1.26 Yleistä Kyselyyn vastasi 2.9.26 mennessä 121 opiskelijaa vanhan tutkintojärjestelmän mukaan etenevistä

Lisätiedot

Matinteko (1 / 10) Matinteko (2 / 10) Helpointa matin tekeminen on kahdella raskaalla upseerilla (esim. kuningattarella ja tornilla).

Matinteko (1 / 10) Matinteko (2 / 10) Helpointa matin tekeminen on kahdella raskaalla upseerilla (esim. kuningattarella ja tornilla). Shakkinappuloiden voimasuhteet Matinteko (1 / 10) Kuningas on pelin tärkein nappula, ilman kuningasta peli on hävitty. 1. Kuningas + Daami + Torni vs Kuningas Matinteko (2 / 10) Helpointa matin tekeminen

Lisätiedot

Johdatus tekoälyyn (T. Roos) Kurssikoe

Johdatus tekoälyyn (T. Roos) Kurssikoe 582216 Johdatus tekoälyyn (T. Roos) Kurssikoe 18.10.2013 Kokeessa saa pitää mukana käsinkirjoitettua A4-kokoista kaksipuolista lunttilappua, joka on palautettava koepaperin mukana. Huomaa että jokaisen

Lisätiedot

AC Hannes Statistics Tool. Ilkka Hakkarainen

AC Hannes Statistics Tool. Ilkka Hakkarainen AC Hannes Statistics Tool Ilkka Hakkarainen 24.3.2011 Sisältö 1 Johdanto 2 1.1 Järjestelmän tarkoitus........................ 2 1.2 Toimintaympäristö.......................... 2 1.3 Rajaukset...............................

Lisätiedot

Ohjelmointileirin järjestäminen

Ohjelmointileirin järjestäminen Ohjelmointileirin järjestäminen YMCA Finland -koulutus Virpi Sumu Linkki LumA-tiedekasvatuskeskus Matemaattis-luonnontieteellinen tiedekunta Linkki 24-25.3.2017 1 Mitä Linkki tekee? Kerhoja ja leirejä

Lisätiedot

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä 2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa

Lisätiedot

Kenguru 2015 Benjamin (6. ja 7. luokka)

Kenguru 2015 Benjamin (6. ja 7. luokka) sivu 1 / 8 NIMI LUOKKA Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Väärästä vastauksesta saat miinuspisteitä

Lisätiedot

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä keskustelualuetta simuloiva olioperustainen ohjelma (Simple Oope Board, S.O.B). Linkitetystä listasta perittyä omaa listaa käytetään muun muassa

Lisätiedot

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin käyttöohjeet» Ruutukentän luominen Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen

Lisätiedot

19/20: Ikkuna olio-ohjelmoinnin maailmaan

19/20: Ikkuna olio-ohjelmoinnin maailmaan Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

Lego Mindstorms NXT. OPH oppimisympäristöjen kehittämishanke 2011-2013. (C) 2012 Oppimiskeskus Innokas! All Rights Reserved 1

Lego Mindstorms NXT. OPH oppimisympäristöjen kehittämishanke 2011-2013. (C) 2012 Oppimiskeskus Innokas! All Rights Reserved 1 Lego Mindstorms NXT OPH oppimisympäristöjen kehittämishanke 2011-2013 (C) 2012 Oppimiskeskus Innokas! All Rights Reserved 1 Anturi- ja moottoriportit A B C 1 2 3 4 (C) 2012 Oppimiskeskus Innokas! All Rights

Lisätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 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ätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

75059 Suuri lajittelusarja

75059 Suuri lajittelusarja 75059 Suuri lajittelusarja Peliohjeet Tämä sarjan sisältö: 632 kpl lajitteluesineitä 3 kpl onnenpyörää 6 kpl lajittelukulhoa 1 kpl muovinen lajittelualusta 1 kpl numeromerkitty arpakuutio Lajittelusarja

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Trigonometriaa ja solve-komento GeoGebralla

Trigonometriaa ja solve-komento GeoGebralla Trigonometriaa ja solve-komento GeoGebralla Valitse yläreunasta Näytä-valikosta CAS ja Piirtoalue. CAS-on laskinohjelma, piirtoalueen avulla saat kuviot näkyville tarvittaessa. Harjoitellaan ensiksi CAS-ikkunan

Lisätiedot

VIRUSKAAPPARI-PELI - KURKISTUS OHJELMOINNILLISEEN AJATTELUUN

VIRUSKAAPPARI-PELI - KURKISTUS OHJELMOINNILLISEEN AJATTELUUN VIRUSKAAPPARI-PELI - KURKISTUS OHJELMOINNILLISEEN AJATTELUUN Tämä teos on lisensoitu Creative Commons CC BY 4.0 Kansainvälinen -käyttöluvalla. Tarkastele käyttölupaa osoitteessa http://creativecommons.org/licenses/by/4.0/.

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

Sisällysluettelo. 1. Johdanto

Sisällysluettelo. 1. Johdanto Säännöt Sisällysluettelo 1. Johdanto 3 2. Sisältö 4 3. Alkuvalmistelut 5 4. Pelin aloitus ja kulku 6 5. Pelin lopetus 9 6. Vaikea peli ja muut pelimuunnelmat 10 1. Johdanto Pelilauta on 25 ruudusta muodostuva

Lisätiedot

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on

Lisätiedot

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Tietorakenteet 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ätiedot

Toinen harjoitustyö. ASCII-grafiikkaa

Toinen harjoitustyö. ASCII-grafiikkaa Toinen harjoitustyö ASCII-grafiikkaa Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. Ideoita

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

Avaruuden muoto. Kuvaus: Tehtävässä pohditaan avaruuden muotoa ja pelataan ristinollaa erilaisilla pinnoilla.

Avaruuden muoto. Kuvaus: Tehtävässä pohditaan avaruuden muotoa ja pelataan ristinollaa erilaisilla pinnoilla. Avaruuden muoto Avainsanat: torus, Kleinin pullo, topologia Luokkataso: 6.-9. luokka, lukio Välineet: kyniä, pelilaudat (liitteenä) Kuvaus: Tehtävässä pohditaan avaruuden muotoa ja pelataan ristinollaa

Lisätiedot

Johdatus go-peliin. 25. joulukuuta 2011

Johdatus go-peliin. 25. joulukuuta 2011 Johdatus go-peliin 25. joulukuuta 2011 Tämän dokumentin tarkoitus on toimia johdatuksena go-lautapeliin. Lähestymistapamme poikkeaa tavallisista go-johdatuksista, koska tässä dokumentissa neuvotaan ensin

Lisätiedot

Merkkijono on palindromi, jos se säilyy samana, vaikka sen kääntää väärinpäin.

Merkkijono on palindromi, jos se säilyy samana, vaikka sen kääntää väärinpäin. A Palindromi Sinulle annetaan merkkijono, ja tehtäväsi on poistaa siitä tarkalleen yksi merkki, minkä jälkeen merkkijonon tulisi olla palindromi. Onko tehtäväsi mahdollinen? Merkkijono on palindromi, jos

Lisätiedot

a b c d

a b c d .. ÄÙ ÓÒ Ñ Ø Ñ Ø ÐÔ ÐÙÒ Ð Ù ÐÔ ÐÙÒ Ö Ø ÙØ 202 È ÖÙ Ö Ò ÑÓÒ Ú Ð ÒØ Ø ØĐ ÚĐ Ø a b c d. + + 2.. 4. 5. 6. + + + + + + + + + + P. Koska massojen suhteet (alkuperäinen timantti mukaan lukien) ovat : 4 : 7, niin

Lisätiedot

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö.

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö. Suorat ja tasot, L6 Suora xyz-koordinaatistossa Taso xyz-koordinaatistossa stä stä 1 Näillä kalvoilla käsittelemme kolmen laisia olioita. Suora xyz-avaruudessa. Taso xyz-avaruudessa. Emme nyt ryhdy pohtimaan,

Lisätiedot

Nosturirobotti. robotin tarkoitus. mikä on robotin tehtävä. Kurssin robottiohjelmointi, kesä 2011 harjoitustyö

Nosturirobotti. robotin tarkoitus. mikä on robotin tehtävä. Kurssin robottiohjelmointi, kesä 2011 harjoitustyö Kurssin robottiohjelmointi, kesä 2011 harjoitustyö Juha Hämäläinen (juha.h.hamalainen@jyu.fi) Jussi Jokinen (jussi.p.p.jokinen@jyu.fi) Videoita robotin toiminnasta: http://www.youtube.com/user/hamismies

Lisätiedot

Johdatus verkkoteoriaan luento Netspace

Johdatus verkkoteoriaan luento Netspace Johdatus verkkoteoriaan luento 3.4.18 Netspace Matriisioperaatio suunnatuissa verkoissa Taustoitusta verkkoteorian ulkopuolelta ennen kuljetusalgoritmia LP-ongelma yleisesti LP = linear programming =

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot