C++-harjoitustyön raportti: Musta maija

Koko: px
Aloita esitys sivulta:

Download "C++-harjoitustyön raportti: Musta maija"

Transkriptio

1 C++-harjoitustyön raportti: Musta maija Eino Malinen (67203) Tietojenkäsittelytieteet Turun yliopisto Palautus: Osallistunut kursille: syksy 2006

2 Sisällysluettelo Kuvaus ongelman ratkaisusta...3 Käytetyt luokat ja niiden jäsenet...4 Pelaaja...4 Ihmispelaaja...5 AIPelaaja...5 Pelipoyta...6 Kortti...7 Käännöskomento ja käyttöohje...8 Käännös...8 Pelin aloittaminen...8 Haasteen asettaminen...8 Haasteeseen vastaaminen...9 Nostopakan koko ja pelin loppuminen...10 Koeajot...11 Näppäimistösyöttö...11 Haasteen ja vastauksen käsittely...12 Pelin loppuminen...14 Pohdintaa /15

3 Kuvaus ongelman ratkaisusta Musta maija -korttipelin ohjelmallinen toteutus koostuu luokista ja peliä suorittavasta osasta, joka käyttää luokkia. Peliä suorittava osa alustaa aluksi pelin, jonka jälkeen se aloittaa suorituksen. Peliä suoritetaan haasteina ja vastauksina (ks. kuva 1). Vuorossa oleva pelaaja antaa haasteen eli sijoittaa pelipöydälle kortteja kaadettavaksi. Viereinen pelaaja antaa vastauksen haasteeseen eli pyrkii kaatamaan pöydällä olevia kortteja. Kuva 1. Musta maija -pelin eteneminen. Musta maija -pelistä on abstrahoitu pelaaja, pelipöytä ja kortti. Näihin abstraktioihin päädyttiin selvittämällä sellaiset tietotyypit, jotka ovat itsenäisiä verrattuna muihin tietotyyppeihin. Pelin suunnitteluvaiheessa mukana oli lisäksi nostopakka, mutta toteutusvaiheessa kyseinen tyyppi siirtyi pelipöydän ominaisuudeksi. 3/15

4 Käytetyt luokat ja niiden jäsenet Pelissä on viisi luokkaa (ks. kuva 2), jotka noudattelevat suunnitteluvaiheen tietoabstraktioita identtisesti. Pelaaja-luokka on lisäksi jakaantunut ihmispelaajaksi (Ihmispelaaja) ja tietokonepelaajaksi (AIPelaaja). Kuva 2. Musta maija -pelin luokat. Pelaaja Pelaaja-luokka (ks. kuva 3) edustaa pelaajaa, jolla on kädessään kortteja. Pelin toteutuksessa Pelaaja-luokka on abstrakti luokka annakortit()-metodin kautta, jolloin siitä ei voi luoda olioita. Luokan kaikki muut piirteet, annakortit()-metodia lukuunottamatta on toteutettu. Luokka käyttää asiakassuhdetta Kortti-luokkaan nähden. Pelaaja-luokalla on vektorimuuttuja kortit_ ja merkkijonotyyppinen muuttuja nimi_. Näistä ensimmäisessä säilytetään käsikortteja osoituksina Kortti-luokan olioihin. Jälkimmäinen kertoo pelaajan nimen. Molemmat muuttujat ovat tyypiltään suojattuja. Luokan konstruktori ottaa vastaan merkkijonotyyppisen muuttujan, jonka se tallettaa nimi_- muuttujaan. Kuva 3. Pelaaja-luokan jäsenet. 4/15

5 Pelaaja-luokan muut metodit jakaantuvat pyyntö-, tulostus- ja sijoitusmetodeihin. Pyyntömetodeja ovat korttienmaara(), joka palauttaa käsikorttien määrän, sekä annanimi(), joka palauttaa pelaajan nimen. Näiden lisäksi metodilla annakortit() pyydetään pelaajalta kortteja joko haasteeseen tai vastaukseen, ja se ottaa parametreina boolean-tyyppisen tiedon haasteesta, pelissä käytettävän valttimaan sekä vastausta varten haastekortit. Metodi annakortit() palauttaa vektorina kortit haasteeseen tai vastaukseen. Ainoa tulostusmetodi on naytakortit(), joka tulostaa kasikortit ruudulle, ja sen parametrina välitetään tieto valttimaasta, jota tarvitaan tulostuksessa. Sijoitusmetodilla lisaakortit() pelaajan käsikortteihiin lisätään metodin parametrina annetut kortit. Ihmispelaaja Ihmispelaaja-luokka (ks. kuva 4) perii Pelaaja-luokasta antaen samalla toteutuksen annakortit()-metodille. Tämän piirteen lisäksi luokassa on ainoastaan konstruktori, joka ottaa vastaan merkkijonon, jonka se sijoittaa yläluokan nimi_-muuttujaan. Metodin annakortit() toteutuksessa tulostetaan tekstiä ja luetaan näppäimistöltä. Kuva 4. Ihmispelaaja-luokan jäsenet. Kuva 5. AIPelaaja-luokan jäsenet. AIPelaaja AIPelaaja-luokka (ks. kuva 5) perii Pelaaja-luokasta antaen toteutuksen annakortit()- metodille. Toteutettu tietokonepelaaja on hyvin yksinkertainen. Haasteeseen arvotaan maata, jota on on tietokonepelaajan käsikorteissa. Haasteeseen annettavaan vastaukseen selvitetään käsikorteissa olevat haastemaata sekä valtteja vastaavat kortit. Tämän jälkeen tietokonepelaaja valitsee haastemaata vastaavista korteista ne, jotka pystyvät kaatamaan haastekortit. Lopuksi valteilla paikataan ylijääneitä haastekortteja. Muut piirteet ovat yhteneväisiä Ihmispelaaja-luokan kanssa. 5/15

6 Pelipoyta Pelipoyta-luokka (ks. kuva 6) edustaa musta maija -pelissä pöytää, jossa on nostopakka sekä haaste- ja vastauskortit. Lisäksi pöydällä ovat pelaajat. Pöytä käyttää asiakassuhdetta Korttiluokkaan ja Pelaaja-luokkiin nähden. Konstruktorissa luodaan kortit ja sekoitettu nostopakka. Destruktorissa tuhotaan muuttujien sisältö keosta. Pelipoyta-luokan yksityisiä muuttujia ovat osoittimia sisältävät vektorit haastekortit_, nostopakka_ ja pelaajat_. Lisäksi sillä on Kortti-tyyppinen osoitin valtti_, jota käytetään pelissä valttimaan merkkinä. Luokassa on kuusi pyyntömetodia. Metodi annavaltti() palauttaa valtti_-muuttujan. Metodi annapelaaja() palauttaa parametrina olevaa kokonaislukua vastaavan pelaajan kohdan pelaajat_-muuttujasta. Metodit montanostokorttia() ja montahaastekorttia() palauttavat vastaavasti nostopakan koon ja haastekorttien määrän. Metodi annahaastekortit() palauttaa pöydällä olevat haastekortit. Lopuksi jaakortteja()-metodi palauttaa nostopakasta parametrina annetun määrän kortteja. Lisäysmetodeja on kaksi. Metodi lisaapelaaja() saa parametrina osoituksen pelipöydälle lisättävään Pelaaja-olioon. Metodi haaste() lisää pöydälle haastekortit. Kuva 7. Kortti-luokan jäsenet. Kuva 6. Pelipoyta-luokan jäsenet. Luokassa on myös metodi vastaus(), jonka parametrina on haasteeseen annettavat vastauskortit. Metodi tarkistaa vastauksen ja palauttaa Kortti-vektorin, jossa on epäonnistuneet vastauskortit ja niitä vastaavat haastekortit. 6/15

7 Kortti Kortti-luokka (ks. kuva 7) edustaa yhtä pelikorttia ja sillä on kolme yksityistä muuttujaa. Muuttuja maa_ on yksi luetellun tyypin Maa muuttujista: HERTTA, RUUTU, RISTI, PATA, VAPAA. Kokonaislukutyyppisistä muuttujista nro_ ilmaisee kortissa olevan numeron yhdestä kolmeentoista ja arvo_ ilmaisee kortin pelissä olevan arvon. Ässät ovat arvoltaan neljätoista ja musta maija (PATA 12) on arvoltaan sata. Luokan konstruktori saa parametreina arvot kaikille kortin muuttujille. Oletusparametrit luovat Maatyyppiä VAPAA olevan kortin, jonka muuttujat nro_ ja arvo_ ovat arvoltaan miinus yksi. Muut luokan metodit ovat kaikkien muuttujien arvojen palautukseen. Tiedostossa Kortti.h on toteutettu luokan lisäksi aiemmin mainittu lueteltu tyyppi Maa ja korttien arvon vertailuun tarvittava vertaakortteja()-metodi, joka saa syötteeksi kaksi Kortti-oliota. Vertailua käytetään ohjelmassa sort()-metodin parametrina. 7/15

8 Käännöskomento ja käyttöohje Musta maija -peli on toteutettu C++-kielellä ja siinä on käytetty ainoastaan standardikirjastoa. Ohjelmointiympäristönä oli GNU/Linux, mutta käännös pitäisi onnistua myös muissa käyttöjärjestelmissä. Käännös Ohjelma kääntyy ainakin Free Software Foundationin GCC-julkaisuun kuuluvalla g++-kääntäjällä. Ohjelman lähdekoodi sijaitsee kansiossa src. Käännös tapahtuu kirjoittamalla konsoliin: g++ -ansi -pedantic -Wall -c *.cpp ja tämän jälkeen: g++ -ansi -pedantic -Wall *.o -o mustamaija Pelin aloittaminen Ohjelma käynnistetään komennolla:./mustamaija Käynnistyksen jälkeen ruutuun tulee valikko, josta valitaan halutut pelaajat: Tervetuloa musta maija -peliin! Valitse pelaajat: 1) Ihminen vs. ihminen 2) Ihminen vs. tietokone >>> Valintasi: Haasteen asettaminen Peli vuorottelee haasteiden ja haasteisiin annettavien vastausten välillä. Jos vuorossa olevan pelaajan pitää antaa haaste, ohjelma tulostaa ruudulle: 8/15

9 KASIKORTIT a: HERTTA 2 b: RUUTU 10 c: RISTI 6* d: RISTI 12* e: PATA >>> Ihmispelaaja 1, anna haastekortti (lopettaaksesi valitse 0): Haastekortit valitaan yksi kerrallaan kirjoittamalla kortin vieressä oleva kirjain. Huomaa lisäksi, että valttikortit on merkitty tähdellä. Valitut kortit tulevat näkyviin: HAASTEKORTIT HERTTA KASIKORTIT a: RUUTU 10 b: RISTI 6* c: RISTI 12* d: PATA >>> Ihmispelaaja 1, anna haastekortti (lopettaaksesi valitse 0): Haastekorttien lisäämistä jatketaan niin kauan kunnes valitaan numero 0. Valittuihin haastekortteihin ei voi lisätä haastemaasta poikkeavaa. Jos pelaaja ei valitse yhtään haastekorttia ennen lopetusta, siirtyy vuoro suoraan seuraavalle pelaajalle. Haasteeseen vastaaminen Jos olet vastaamassa haasteeseen, ohjelma tulostaa ruudulle: 9/15

10 HAASTEKORTIT : HERTTA KASIKORTIT a: RUUTU 6 b: HERTTA 11 c: PATA 4 d: HERTTA 1 e: PATA >>> Ihmispelaaja 2, minka kortin haastat (lopettaaksesi valitse 0): Pelaaja valitsee ensin haastettavan kortin kirjoittamalla haastekortin vieressä olevan numeron tai valitsemalla numeron nolla. Jos yhtään korttia ei ole haastettu, haastekortit lisätään vastaavalle pelaajalle ja vuoro säilyy haastajalla. Kun pelaaja on valinnut haastekortin, ohjelma tulostaa: >>> Milla kortilla haluat vastata (lopettaaksesi valitse 0): Tällöin käsikorteista valitaan kortti kirjoittamalla sen vieressä olevan kirjain tai valitsemalla numeron 0, jolloin ohjelma palaa takaisin kysymään haastettavaa korttia. Vastauskortin pitää olla samaa maata kuin haaste tai valtti. Pelaaja ei voi lyödä mustalla maijalla (PATA 12). Kun vastauskortit on valittu, valitaan numero 0, jonka jälkeen ohjelma tarkistaa kaadot. Jos haasteeseen vastaa tietokonepelaaja, tulostuu ruudulle tietokoneen vastaus haastekortteihin: ----TIETOKONEEN VASTAUS HAASTEESEEN---- RISTI 4 <- RISTI Nostopakan koko ja pelin loppuminen Ohjelma tulostaa ihmispelaajan ruudulle ennen haasteen tai vastauksen antamista nostopakan koon: >>> NOSTOPAKKA: 40 KORTTIA <<< Peli loppuu kunnes nostopakka on tyhjä ja jommankumman pelaajan käsikortit ovat loppuneet. Tällöin ruudulle tulostuu: >>> Pelin voitti Tietokonepelaaja. Pelin voi lopettaa kesken painamalla yhtäaikaa CTRL ja C. 10/15

11 Koeajot Koeajoissa testattiin näppäimistösyöttöä, haasteen ja vastauksen käsittelyä sekä pelin loppumista. Koeajon aikana havaitut virheet korjattiin ja koeajo suoritettiin uudelleen, mutta tekstissä käytetään ainoastaan onnistuneiden ajojen tuloksia. Näppäimistösyöttö Näppäimistösyöttöä testattiin kaikissa syöttöä vaadittavissa kohdissa. Näitä olivat pelaajien valinta sekä ihmispelaajan haasteen ja vastauksen asettaminen. Yhteensä ohjelmassa suoritetaan näppäimistön lukuoperaatioita neljässä eri kohdassa. Testauksessa syötteeksi annetaan virheellinen syöte. Jos kysytty syöte on kirjain, annetaan numero ja päinvastoin. Lisäksi syöte voi olla valintamahdollisuuksien ulkopuolella, kuten jos valittavana on kirjaimet a:sta c:hen, annettaan syötteeksi d. Kuva 8. Näppäimistösyötteen testaamista. Pelaajan valinnassa syötteeksi vaaditaan numeroa 1 tai 2. Testauksessa syötteeksi annetaan kirjain a ja numero 3, joita kumpaakaan ohjelma ei hyväksy. Numeron 1 tai 2 valinta jatkaa ohjelma 11/15

12 suoritusta varsinaiseen peliin. Haasteen valinnassa oikea syöte on kirjaimet alkaen a:sta tai numero 0. Testauksessa syötteeksi annetaan viimeistä valintaa seuraava kirjain f ja numero 1, joita ohjelma ei hyväksy. Peli jatkuu kunnes annetaan syöte a:sta e:hen tai numero 0. Haasteelle annettavan vastauksen koostuu kahdesta näppäimistösyötteestä. Ensin valitaan haastettava kortti, jota vastaa syötettä numerosta 1 alkaen. Testisyötteeksi annetaan kirjain a ja numero 2. Ohjelma ei hyväksy syötteitä ennen kuin annetaan oikea syöte. Koeajoissa virheellinen syöte tunnistettiin, ja ohjelma pyysi käyttäjää yrittämään uudelleen. Ohjelma jatkaa kunnes annetaan oikea syöte. Haasteen ja vastauksen käsittely Haasteen ja vastauksen käsittely testattiin kahden ihmispelaajan sekä ihmispelaajan ja tietokonepelaajan pelatessa. Testaus koski haasteen vastaanoton sekä haasteeseen annettavan vastauksen onnistumista. Lisäksi testattiin mustan maijan (PATA 12) käsittelyä. Kuva 9. Haasteen antaminen. 12/15

13 Kahden ihmispelaajan haasteen käsittelyssä testattiin syötteen onnistumista. Ensimmäinen pelaaja antaa haasteeksi yhden kortin (RISTI 11), jonka jälkeen valitaan numero 0. Toiselle pelaajalle annetaan vastausvuoro. Haastekortti tulostuu toiselle pelaajalle ja korttiin voidaan antaa vastaus. Haasteen antamisessa testattiin myös virheellisen maakortin antamista. Haasteeseen oli sijoitettu jo yksi kortti (PATA 6), jonka jälkeen yritettiin lisätä muita maita (RISTI 6*, RUUTU 8). Ohjelma tunnisti virheellisen sijoituksen. Kahden pelaajan haasteeseen annettavan vastauksen käsittelyssä vastauksen annettiin samaa maata oleva (RUUTU 7 RUUTU 11) sekä toisessa testissä valttikortti (PATA 7 RUUTU 4*). Ohjelma hyväksyi molemmat vastaukset. Ihmispelaajan ja tietokonepelaajan pelatessa tietokonepelaajalle annettiin haastekortti. Tietokonepelaaja pystyi antamaan vastauksen haasteeseen. Lisäksi tietokonepelaaja jatkoi antamalla ihmispelaajalle haastekortin (ks. kuva 10). Kuva 10. Tietokonepelaaja vastaa haasteeseen ja antaa oman haasteensa. Mustan maijan (PATA 12) käsittelyä testattiin yrittämällä antaa se vastaukseksi haasteeseen tai yrittämällä kaataa musta maija. Ohjelma tunnisti molemmat tilanteet virheellisiksi ja pyysi yrittämään uudelleen. 13/15

14 Kaikissa koeajoissa haaste ja vastaus tunnistettiin onnistuneesti. Pelin loppuminen Pelin loppumista testattiin sekä kahdella ihmispelaajalla että ihmispelaajalla ja tietokoneella. Kahden ihmispelaajan peli loppui onnistuneesti. Ihmispelaajan ja tietokonepelaajan testaus suoritettiin siten, että molemmat saivat voittaa. Tietokoneen annettiin voittaa ottamalla kaikki tietokoneen haastekortit, jolloin lopussa kädessä oli 48 korttia, haasteessa 3 ja valttina yksi kortti eli yhteensä 52 korttia. Ihmispelaaja voitti tietokoneen pelaajan myös onnistuneesti. Kuva 11. Ihmispelaaja voittaa pelin. 14/15

15 Pohdintaa Jotkut luokkien metodit lukevat näppäimistöltä ja tulostavat sivuvaikutuksena ruudulle. Tämä ei ole hyvän ohjelmointitavan mukaista, sillä lähdekoodin uudelleenkäytettävyys kärsii. Jos pelin haluaisi nyt toteuttaa graafisella käyttöliittymällä, olisi metodit muokattava. Pelin malli, tietosisältö ja sen käyttöliittymä on hyvä erottaa toisistaan. Ohjelman tekstipohjaista käyttöliittymää ei ole myöskään helppo laajentaa. Mahdollisia lisättäviä piirteitä voisivat olla pelin lopettaminen kesken muutoin kuin painamalla CTRL ja C. Peli voisi myös arpoa aloittavan pelaajan. Lisäksi virheellisten korttisijoitusten peruuttamiseen pitäisi olla mahdollisuus. 15/15

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

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

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

PELIOHJEET (suomeksi) Koira. Peli on kaksivaiheinen: Vaihe 1:

PELIOHJEET (suomeksi) Koira. Peli on kaksivaiheinen: Vaihe 1: PELIOHJEET (suomeksi) Koira Peli on kaksivaiheinen: Vaihe 1: Jokaiselle osanottajalle/pelaajalle jaetaan kolme (3) korttia. Loput kortit asetetaan pelipöydälle pinoon, pakaksi. Huomattavaa on, että pakan

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/2006 1.1.1

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/2006 1.1.1 1 Asentaminen...2 2 Yleistä ja simuloinnin aloitus...2 2.1 PI-säätimet...3 2.2 Trendit...4 3 Lämpölaitoksen ohjaus...5 4 Voimalan alkuarvojen muuttaminen...6 5 Tulostus...8 6 Mahdollisia ongelmia...8 6.1

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

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013 Tehtävä 2.2. Tehtävä-työkalun avulla opiskelijat voivat palauttaa tehtäviä Moodleen opettajan arvioitaviksi. Palautettu tehtävä näkyy ainoastaan opettajalle, ei toisille opiskelijoille. Tehtävä-työkalun

Lisätiedot

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Tehtävä 1: Metodit, listat, alkuluvut (4p) Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Alkuluvut ovat lukuja, jotka ovat suurempia kuin yksi ja jotka ovat jaollisia

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

JAKELUPISTE KÄYTTÖOHJE 2/6

JAKELUPISTE KÄYTTÖOHJE 2/6 käyttöohjeet JAKELUPISTE KÄYTTÖOHJE 2/6 1. Esittely JakeluPiste on helppo ja yksinkertainen ratkaisu tiedostojen lähettämiseen ja vastaanottamiseen. Olipa kyseessä tärkeä word dokumentti tai kokonainen

Lisätiedot

NT VALTTAAMINEN NT 1

NT VALTTAAMINEN NT 1 NT VALTTAAMINEN NT 1 VALTTAAMINEN Kun pelinviejä on ensimmäisen kerran kiinni, hänen tulee poistaa puolustajien valtit, ellei hän selvästi huomaa parempaa pelitapaa Syitä, miksi ei valtata heti: Tarvitset

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Säännöt. Pelivalmistelut

Säännöt. Pelivalmistelut Haasteet Haasteet 1. Lusikka kuppiin 2. Posse Pong 3. Räkäpallo 4. Syömäpuikkohaaste 5. hamsteriposket 6. Lattian kautta kuppiin 7. Korttipalapeli 8. Lajitteluhaaste 9. Pingis ristinolla 10. Lusikkaflipperi

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

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

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

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään

Lisätiedot

Luokat ja oliot. Ville Sundberg

Luokat ja oliot. Ville Sundberg Luokat ja oliot Ville Sundberg 12.9.2007 Maailma on täynnä olioita Myös tietokoneohjelmat koostuvat olioista Σ Ο ω Μ ς υ φ Ϊ Φ Θ ψ Љ Є Ύ χ Й Mikä on olio? Tietokoneohjelman rakennuspalikka Oliolla on kaksi

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

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

Ohjeistus pöytäkirjan käyttöön. Suomen Lentopalloliitto ry

Ohjeistus pöytäkirjan käyttöön. Suomen Lentopalloliitto ry Ohjeistus pöytäkirjan käyttöön Suomen Lentopalloliitto ry 11.9.2018 Pöytäkirjasovelluksen testaus https://lentopallo.torneopal.fi/taso/laskuridev.php Ylläoleva osoite avaa näkymän, johon syötetään ottelunumero

Lisätiedot

OTT-S99 TESTAUSLOMAKE 1(22) Käyttäjää (tunnusta) ei saa olla kannassa

OTT-S99 TESTAUSLOMAKE 1(22) Käyttäjää (tunnusta) ei saa olla kannassa OTT-S99 TESTAUSLOMAKE 1(22) Rekisteröityminen R1 Kannan pohjustus Käyttäjää (tunnusta) ei saa olla kannassa Tunnus Opiskelija Nimi Mikko Matemaatikko Osoite Matikkakuja 1 Postinro 00500 Postiosoite Helsinki

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

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

Harjoitustyö: virtuaalikone

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

Lisätiedot

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Pistelaskurin saamiseksi tarvitaan kaksi osaa: Laskuri, joka laskee pisteitä Olio, joka näyttää pisteet ruudulla Laskuri voi olla esimerkiksi tyyppiä

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

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

PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE

PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE SISÄLLYSLUETTELO 1. YLEISTÄ 3 2. ENNEN OTTELUN ALKUA Kirjautuminen 3 3. TILASTOINTI Aloitusnäkymä ja kokoonpanot 4 Pelaajien vaihtaminen 6 Maali 7 Rangaistukset 8 Poista

Lisätiedot

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen Nspire CAS - koulutus Ohjelmiston käytön alkeet 3.12.2014 Pekka Vienonen Ohjelman käynnistys ja käyttöympäristö Käynnistyksen yhteydessä Tervetuloa-ikkunassa on mahdollisuus valita suoraan uudessa asiakirjassa

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot

Harjoitus 2 (viikko 45)

Harjoitus 2 (viikko 45) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Asdf Helsinki 22.2.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Kuisma Sami Louhio

Lisätiedot

Salasuhteita. esimerkiksi espanjaksi nimi tarkoittaa pientä pusua.

Salasuhteita. esimerkiksi espanjaksi nimi tarkoittaa pientä pusua. Salasuhteita Avioliittopeleistä kehiteltiin edelleen uusia pelejä, joissa varsinaisten avioliittojen lisäksi kohdataan sopimattomia suhteita kuningatarten ja sotilaiden välillä vieläpä maiden rajat ylittäen!

Lisätiedot

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti

Lisätiedot

4. Luokan testaus ja käyttö olion kautta 4.1

4. Luokan testaus ja käyttö olion kautta 4.1 4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE

PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE SISÄLLYSLUETTELO 1. YLEISTÄ 2. ENNEN OTTELUN ALKUA Kirjautuminen 3. TILASTOINTI Näkymän muokkaus Kokoonpanot Pelaajien vaihtaminen Maali Rangaistukset Poista -toiminto

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

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

Toinen harjoitustyö. ASCII-grafiikkaa 2017

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

Lisätiedot

OTATKO RISKIN? peli. Heitä noppaa 3 kertaa. Tavoitteena on saada

OTATKO RISKIN? peli. Heitä noppaa 3 kertaa. Tavoitteena on saada OTATKO RISKIN? peli 1. Heitä noppaa 20 kertaa. Tavoitteena on saada vähintään 10 kertaa silmäluku 4, 5 tai 6. Jos onnistut, saat 300 pistettä. Jos et onnistu, menetät 2. Heitä noppaa 10 kertaa. Tavoitteena

Lisätiedot

Tikon kassamaksujen käsittely

Tikon kassamaksujen käsittely Lokakuu 2012 1 (14) Käyttöohje Lokakuu 2012 2 (14) Sisällysluettelo Johdanto... 3 1. Turvakoodisarjojen käsittely... 4 1.1. Turvakoodisarjan selausnäyttö... 4 1.2. Turvakoodisarjan ylläpitonäyttö... 4

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

AutoFutur ja KoneFutur. Asiakastyytyväisyyskysely- palvelu. Käyttöohje

AutoFutur ja KoneFutur. Asiakastyytyväisyyskysely- palvelu. Käyttöohje AutoFutur ja KoneFutur Asiakastyytyväisyyskysely- palvelu Käyttöohje 18.2.2011 1 Sisällys KÄYTTÖÖNOTTO... 3 ASETUKSET... 3 KYSELYIDEN MUOKKAAMINEN JA LÄHETTÄMINEN... 3 Kyselytekstin asettaminen ja muokkaaminen...

Lisätiedot

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows www.olfellows.net 1.

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows www.olfellows.net 1. Condes Suunnistuksen ratamestariohjelmisto Versio 7 Quick Start opas Yhteystiedot: olfellows Jouni Laaksonen Poijukuja 4 21120 RAISIO jouni.laaksonen@olfellows.net www.olfellows.net olfellows www.olfellows.net

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia? Muilla kielillä: English Suomi Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia? Kun kaksi fysiikkaoliota törmää toisiinsa, syntyy törmäystapahtuma. Nämä tapahtumat voidaan ottaa kiinni

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

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet Raporttiarkiston (RATKI) käyttöohjeet Ohjeet 15.11.2012 1.0 Vastuutaho TRAFI Sisällys Raporttiarkiston (RATKI) käyttöohjeet 1 1. Johdanto 3 1.1. Esitiedot 3 1.2. Käyttöoikeudet 3 1.3. Sisäänkirjautuminen

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin Zyxel Prestige 645 ISP Zyxel Prestige 645 WEB Zyxel Prestige 645R Zyxel Prestige 645 Ennen aloitusta tarkista,

Lisätiedot

Task list Submit code Submissions Messages Scoreboard View queue Edit contest

Task list Submit code Submissions Messages Scoreboard View queue Edit contest Jäätelö Edit task Translate 1.00 s Uolevi aikoo ostaa kaksi jäätelötötteröä: yhden Maijalle ja yhden itselleen. Tiedossasi on jokaisen myynnissä olevan jäätelötötterön hinta ja paino sekä suurin summa,

Lisätiedot

Käyttötapauksen nimi Lukija: pääsivu

Käyttötapauksen nimi Lukija: pääsivu Lukija: pääsivu Lukija Käyttäjä on avannut sivuston pääsivun Ruudulle tulostuvat kirjoittajat ja heidän juttujensa otsikot. - Lopputulos Käyttäjä voi valita kirjoittajan jutut tai kirjoittajan jutun 1

Lisätiedot

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PUSU-ryhmä Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Jussi Hynninen

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

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5 Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät tekniset ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida

Lisätiedot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari

Lisätiedot

Käyttötapauksen nimi Lukija: pääsivu

Käyttötapauksen nimi Lukija: pääsivu Lukija: pääsivu Lukija Käyttäjä on avannut sivuston pääsivun Ruudulle tulostuvat 5 viimeisen jutun otsikot ja kirjoittajat sekä jutun alku. - Käyttäjä voi valita kirjoittajan (jutut) tai yhden jutun. Käyttäjävoi

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

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

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,

Lisätiedot

Sisällysluettelo. v.0.9 2

Sisällysluettelo. v.0.9 2 Käyttöopas Sisällysluettelo DYNAROAD HENKILÖKUNTA... 3 TIEPROJEKTIN LUOMINEN... 4 DYNAROAD KÄYTTÄJÄ... 5 TIEPROJEKTIN MUOKKAUS... 6 Työkohdetyyppien lisääminen... 7 Työkohteen lisääminen... 8 Urakoitsijoiden

Lisätiedot

RSS -syötteen tilaaminen

RSS -syötteen tilaaminen OHJE 1 (6) RSS -syötteen tilaaminen Valitse lehtilistasta lehti jonka haluat tilata, http://extra.pkssk.fi/html/tieteellinen_kirjasto/lehdet.html Klikkaa RSS -kuvaketta [eri sivustoilla kuvakkeet sijaitsevat

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Harjoitus 5 (viikko 41)

Harjoitus 5 (viikko 41) 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. Vältä liian pitkiä rivejä, käytä

Lisätiedot

Tehtävän lisääminen ja tärkeimmät asetukset

Tehtävän lisääminen ja tärkeimmät asetukset Tehtävä Moodlen Tehtävä-aktiviteetti on tarkoitettu erilaisten tehtävien antamiseen verkossa. Tehtävä-aktiviteettia ei ole tarkoitettu ainoastaan tehtävien palautukseen, kuten moni sen sellaiseksi mieltää,

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Sport In The Box Käyttöohje

Sport In The Box Käyttöohje Sport In The Box Käyttöohje Esivalmistelut: Kytke käytössä oleva pelikello/konsoli kiinni USBkaapelilla tietokoneeseen ennen virran kytkemistä pelikelloon/konsoliin. Odota että laite on asennettu käyttövalmiiksi,

Lisätiedot

Harjoitus 3 (viikko 39)

Harjoitus 3 (viikko 39) 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. Vältä liian pitkiä rivejä. Ohjelmointitehtävien

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A 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ätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

ELÄINSOVELLUKSEN KÄYTTÖOHJE. 25.8.2005 Seija Lahtinen

ELÄINSOVELLUKSEN KÄYTTÖOHJE. 25.8.2005 Seija Lahtinen ELÄINSOVELLUKSEN 25.8.2005 Seija Lahtinen 1 (11) Sisällys 1 Eläinsovelluksen käyttöohje 3 2 Koiran tietojen lisääminen.. 3 3 Linnun tietojen lisääminen.. 5 4 Eläintietojen tulostaminen. 8 5 Eläimen tietojen

Lisätiedot

BRIDGEN HISTORIA. ETO/Bridgen peruskurssi, oppitunti 1 2

BRIDGEN HISTORIA. ETO/Bridgen peruskurssi, oppitunti 1 2 NT JOHDANTO NT BRIDGEN HISTORIA Tikkipelit syntyivät 1500-luvulla, esim. twist 1800-luvulla kehittyi biritch eli venäläinen twist, suosittu Yhdysvalloissa ja Englannissa Nimi biritch vääntyi englantilaiseen

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Pelitehtäviä. Helpot tehtävät. Tuomas Korppi

Pelitehtäviä. Helpot tehtävät. Tuomas Korppi Solmu 1/2012 1 Pelitehtäviä Tuomas Korppi Tämänkertaisissa tehtävissä analysoimme yksinkertaisia pelejä. Tehtävät 1 6 ovat helppoja, ja soveltuvat arvioni mukaan yläasteelle 1. Tehtävät 7 11 ovat vaikeampia,

Lisätiedot

! Luettelo ilmoittautuneista Tästä ruudusta löytyy joukkueiden yhteystiedot, puh.nro +

! Luettelo ilmoittautuneista Tästä ruudusta löytyy joukkueiden yhteystiedot, puh.nro + ! Mitä aiot tehdä? Valitse! Luettelo ilmoittautuneista Tästä ruudusta löytyy joukkueiden yhteystiedot, puh.nro + e-mail! Pelaajien syöttö Tässä ruudussa syötetään etukäteen pelaajien nimet ja numerot kuhunkin

Lisätiedot

Opiskelun ja työelämän tietotekniikka (DTEK1043)

Opiskelun ja työelämän tietotekniikka (DTEK1043) Opiskelun ja työelämän tietotekniikka (DTEK1043) pääaine- ja sivuaineopiskelijat Taulukkolaskennan perusteet Yleistä Tämä harjoitus käsittelee taulukkolaskentaohjelman perustoimintoja. Harjoituksissa opetellaan

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

KÄYTTÖOHJE truck check In Itsepalvelukioski

KÄYTTÖOHJE truck check In Itsepalvelukioski KÄYTTÖOHJE truck check In Itsepalvelukioski SISÄLLYSLUETTELO 1 TRUCK CHECK IN KÄYTTÖOHJE... 3 1.1 ALOITUSRUUDUN TIEDOT... 3 1.2 KÄYTÖN ALOITTAMINEN... 4 1.3 KONTTI- TAI SEMIREKAN VALINTA... 4 2 ERI TEHTÄVÄTYYPPIEN

Lisätiedot

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - VYM JA KANTA Versio 1.0 i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

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

Lisätiedot

Kirjausohjelman käyttöohje 3.01

Kirjausohjelman käyttöohje 3.01 - 1 - Kirjausohjelman käyttöohje 3.01 Ohjeet on suunniteltu ohjelman versiolle 3.01. 1. Yleisiä ohjeita ohjelman käyttäjälle: Tietokannan (tietokanta.dat) ja kirjausohjelman (kirjaus.exe) saat koneellesi

Lisätiedot

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006 TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa

Lisätiedot

Kontrollilaitteet. Arsenaali

Kontrollilaitteet. Arsenaali Arsenaali Kontrollilaitteet Tietokonepeleissä käytettäviä kontrollilaitteita on valtava määrä Kaikilla alustoilla, joilla pelejä pelataan on jokin vakio kontrolleri PC: Hiiri ja näppäimistö Konsolit: Controller

Lisätiedot

Tukipyyntö-toiminnon ohje

Tukipyyntö-toiminnon ohje Tukipyyntö-toiminnon ohje Diagnoosilaitteen teknisen tukipyyntötoiminnon avulla avataan teknistä tukea koskeva asiakirja, joka sisältää tietoja ongelmatilanteen ratkaisemiseksi. Sen kautta saadaan käyttöön

Lisätiedot

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Ylläpitodokumentti Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 16.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Helppokäyttöisyyttä Windows Vista käyttöjärjestelmän asetuksilla

Helppokäyttöisyyttä Windows Vista käyttöjärjestelmän asetuksilla Lena Wahlroos-Hänninen, Helsingin Tikoteekki 2009 1 Helppokäyttöisyyttä Windows Vista käyttöjärjestelmän asetuksilla Windows-käyttöjärjestelmä mahdollistaa useita eri helppokäyttötoimintoja, joilla voi

Lisätiedot

TyontekijaOhjelma. +main() (käyttää) + = public - = private

TyontekijaOhjelma. +main() (käyttää) + = public - = private 1 (6) OPPIMISTEHTÄVÄT 11 (opetusviikko 15) Periytyminen, Rajapinta, Kertaus 1) Periytyminen: Periytä Henkilo-luokasta Tyontekija-aliluokka. Tyontekija-luokalla on attribuutti tuntipalkka (desimaaliluku).

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

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

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot