Ohjelmointityö 3. Mikko Laamanen

Koko: px
Aloita esitys sivulta:

Download "Ohjelmointityö 3. Mikko Laamanen 185667"

Transkriptio

1 Ohjelmointityö 3 Mikko Laamanen

2 Sisällysluettelo Tehtävän määrittely ja ratkaisuperiaate... 1 Tehtävän määrittely... 1 Ratkaisuperiaate... 1 Ohjelman käyttöohje... 1 Syötteet ja tulosteet... 1 Ohjelman sisältämät tarkastukset ja virheilmoitukset... 2 Ohjelman rajoitukset... 2 Ajo-ohje... 3 Ohjelman toiminta... 3 Tietorakenteet... 3 Ohjelman rakennet... 3 Luokat, tietojäsenet ja metodit... 4 Joukkue-luokka... 4 Sarja-luokka... 5 Tiedostot-luokka... 6 Ottelu-luokka... 6 Lue-luokka... 6 Valikot-luokka... 7 Muutosohjeet... 7 Testaus... 8 Liitteet Liite 1: Tehtäväpaperi Liite 2: Projektisuunnitelma Liite 3: Ohjelmalistaus Valikot.java: Joukkue.java: Lue.java: Sarja.java: Tiedostot.java:... 43

3 Tehtävän määrittely ja ratkaisuperiaate Tehtävän määrittely Tehtävänä oli tehdä ohjelma, joka ylläpitää jääkiekkosarjan tulostaulukkoa kunkin pelikierroksen jälkeen. Pelikierrosten ei kuitenkaan välttämättä tarvitse olla täysiä kierroksia. Lisäksi piti tehdä ohjelma, jolla pystyy tarvittaessa korjaamaan aikaisemmin virheellisesti syötettyjä tietoja. Ohjelman pitää pystyä myös tulostamaan joukkueittain paremmuusjärjestyksessä oleva sarjataulukko. Ratkaisuperiaate Tehtävä on ratkaistu kokoamalla ohjelma useista osista (luokista) jotka kukin hoitavat omat osansa ja toimintonsa mahdollistaen tehtävän annossa määritellyt asiat. Esimerkiksi yksi ohjelman osista on nimeltään "Joukkue" ja se huolehtii kaikista joukkuetta koskevista tiedoista ja niiden tietojen käsittelystä. Näitä eri ohjelman osia käsitellään enemmän osiossa "Ohjelman rakenne". Ohjelman käyttöohje Syötteet ja tulosteet Kaikki ohjelman tarvitsemat syötteet syötetään ajon aikana, eli ohjelma ei tarvitse toimiakseen komentoriviparametreina annettavia syötteitä. Kaikkien syötteiden syöttö tapahtuu silloin kun ohjelma niitä pyytää. Syöte kirjoitetaan komentoriville ja painetaan enter näppäintä. Malliajo: Tervetuloa kayttamaan jaakiekkosarjan tulostaulukon yllapitoohjelmaa Paavalikko Jatka aikaisemman sarjataulukon kasittelya: 1 Aloita uuden sarjataulukon yllapito: 2 Lopeta: Valintasi: Uuden sarjataulukon luonti Montako joukkuetta osallistuu: 3 Anna 1. joukkueen nimi: testijoukkue1 1

4 Anna 2. joukkueen nimi: testijoukkue2 Anna 3. joukkueen nimi: testijoukkue3 Tallennetaanko tiedot? (k/e): k Anna tiedoston johon tiedot tallennetaan nimi (esim. sarja2010): testisarja Tiedostonimi on vapaa. Tallennetaan. Valintasi: Syota seuraava(1.) kierros: 1 Paavalikko: Paavalikko Jatka aikaisemman sarjataulukon kasittelya: 1 Aloita uuden sarjataulukon yllapito: 2 Lopeta: Valintasi: 0 Ohjelman suoritus loppui. Ohjelman toiminta on malliajon kaltaista koko ajan. Ohjelma huolehtii siitä, ettei käyttäjä syötä tietoja jotka eivät ole ohjelmalle kelpaavia. Ohjelman sisältämät tarkastukset ja virheilmoitukset Jokaisen ohjelmalle annetun lukusyötteen oikeellisuus tarkistetaan ja tarvittaessa syötteestä annetaan virheilmoitus ja pyydetään uutta syötettä. Merkkijono syötteitä ei sen sijaan ohjelmassa tarkisteta muulloin kuin tietojen tallennusta tai latausta suoritettaessa. Ohjelma tarkistaa näissä tapauksissa, että onko syötteenä annetun merkkijonon ja ohjelman lisäämän tiedostopäätteen nimistä tiedostoa olemassa. Jokaisesta lukusyötteestä tarkistetaan, että se todellakin on luku. Ohjelman kaikkien lukusyötteiden pitää myös olla kokonaislukuja. Tämän jälkeen tarkistetaan vielä että sen arvo on vähintään 0 ja enintään Lisäksi ohjelmassa voidaan tarkistaa, että syöte on muuten ohjelman suoritukselle kelpaava, eli esimerkiksi valikoissa naivigoitaessa hyväksytään vain ohjelman tarjoamia syötevaihtoehtoja. Ohjelman rajoitukset Ohjelman syötteitä on rajoitettu niin, että käyttäjä voisi ohjelman käytön kannalta antaa vain suhteellisen järkeviä syötteitä, vaikka lukusyötteiden yläraja on asetettu silti suhteellisen suureksi. 2

5 Ohjelman merkkijono syötteiden pituutta ei ole rajoitettu, vaan kaikki rajoitukset koskevat luku syötteitä. Kaikkien ohjelmaan syötettävien lukujen tulee olla joko yhtäsuuria tai suurempia kuin 0 ja suurin mahdollinen syötettävä luku on Lukusyötteiden koko on rajoitettu tuhanteen koska oletetusti ohjelmalla ei tarvita syöttää lähellekkään näin suuria lukuja. Tällä karsitaan mahdollisia virhesyötteitä. Valikoissa syötteet on kuitenkin rajoitettu juuri niiksi vaihtoehdoiksi joita ohjelma tarjoaa. Ajo-ohje Ohjelman lähdekoodi löytyy osoitteesta: cs.joensuu.fi/~mlaamane/ohjelmointityo/ Ohjelman api löytyy osoitteesta: cs.joensuu.fi/~mlaamane/ohjelmointityo/api/ Ohjelman kääntäminen lähdekoodista toiminnalliseen versioon tapahtuu antamalla komentorivillä komento: javac Valikot.java Valikot.java sisältää ohjelman pääohjelman ja sen kääntäminen kääntää myös muut ohjelman osat. Kun ohjelma on käännetty, sen voi suorittaa komentorivillä komennolla: java Valikot Ohjelman toimintaan ei tarvita parametrisyötteitä. Ohjelman toiminta Tietorakenteet Joukkue-luokka Luokassa käytetään linkitettyä listaa joukkue-olion pelaamien otteluiden tallentamiseen. Tiedostot-luokka Luokan metodit käsittelevät eli lataavat ja tallentavat olioita tiedostoihin ja tiedostoista oliotaulukkoina. Sarja-luokka Luokassa käytetään oliotaulukkoa sarjaan kuuluvien joukkueiden eli Joukkue-olioiden tallentamiseen. Sarja-luokka käyttää myös linkitettyä listaa kaikkien sarjassa pelattujen otteluiden eli Ottelu-olioiden tallentamiseen. Loput ohjelmassa käytettävistä tiedoista käsitellään lukuisissa paikallismuuttujissa. Ohjelman rakennet Ohjelma koostuu kuudesta luokasta jotka ja joiden tehtävät ovat: 3

6 Ottelu-luokasta luotu olio pitää sisällään tiedot kyseiseen otteluun osallistuneista joukkueista, sen aikana tehdyistä maaleista ja kierroksesta jonka aikana ottelu on pelattu. Sarja-luokasta luotu olio sisältää tiedon sarjaan osallistuvista joukkueista, jo pelatuista otteluista ja kierroksista, sekä tiedoston nimen johon sarja on mahdollisesti tallennettu. Tiedostot-luokan tarkoituksena on staattisesti tallentaa sarjoja tiedostoihin ja myös ladata jo aikaisemmin tallennettuja sarjoja. Joukkue-luokasta luotu olio sisältää tiedot yhdestä sarjaan osallistuvasta joukkueesta. Joukkueen tietoja ovat sen nimi, pelatut ottelut, otteluiden lukumäärä, voittojen-, tappioiden-, ja tasapelien lukumäärä, sekä tehtyjen- ja päästettyjen maalien lukumäärä. Näiden lisäksi joukkue olio sisältää myös joukkueen saamat pisteet eli sijoituksen sarjassa. Lue-luokka sisältää staattiset metodit lukujen sekä tekstin lukemiseen käyttäjältä. Lukujen lukemisessa varmistetaan syötteen olevan luku ja pyydetään käyttäjältä uutta lukua virheellisen syötteen sattuessa. Valikot-luokka sisältää toiminnot käyttäjän kanssa kommunikoimiseen. Luokka tulostaa kaikki valikot ja huolehtii syötteiden vastaan ottamisesta ja käsittelystä. Luokat, tietojäsenet ja metodit Joukkue-luokka Luokan attribuutit: private String nimi joukkueen nimi. private LinkedList<Ottelu> ottelut joukkueen pelaamat ottelut. private int ottelutlkm joukkueen pelaamien otteluiden lukumäärä. private int voitot joukkueen voittamien otteluiden lukumäärä. private int tasapelit joukkueen pelaamien otteluiden lukumäärä jotka ovat päättyneet tasapeliin. private int haviot joukkueen häviämien otteluiden lukumäärä. private int tehdytmaalit joukkueen tekemien maalien lukumäärä. private int paastetytmaalit joukkueen päästämien maalien lukumäärä. private int pisteet joukkueen pisteet sarjassa. Luokan metodit: public void paivitajoukkue()-metodi käy läpi kaikki joukkueen pelaamat pelit ja niiden pohjalta päivittää joukkueen tiedot, jotka ovat riippuvaisia pelatuista peleistä (esim. voitot ja häviöt). public boolean jopelattu(string joukkue, int kierros)-metodi tarkistaa, että onko joukkue pelannut jo ottelun parametrina annettua joukkuetta vastaan parametrina annettuna kierroksena. public String getnimi()-metodi joka palauttaa joukkueen nimen. public LinkedList<Ottelu> getottelut()-metodi joka palauttaa linkitetyn listan joukkueen jo pelaamista otteluista. public void tulostaottelut()-metodi joka tulostaa joukkueen pelaamat ottelut. 4

7 public int getottelutlkm()-metodi joka palauttaa joukkueen pelaamien otteluiden lukumäärän. public int getvoitot()-metodi joka palauttaa joukkueen voittojen lukumäärän. public int gethaviot()-metodi joka palauttaa joukkueen häviöiden lukumäärän. public int gettehdytmaalit()-metodi joka palauttaa joukkueen tekemien maalien lukumäärän. public int getpaastetytmaalit()-metodi joka palauttaa joukkueen päästämien maalien lukumäärän. public int getpisteet()-metodi joka palauttaa joukkueen pistemäärän. public String tostring()-metodi joka palauttaa joukkueen tiedot merkkijonoon kerättynä. Sarja-luokka Luokan attribuutit: private Joukkue[] joukkueet sarjaan osallistuvat joukkueet. private LinkedList<Ottelu> ottelut sarjassa pelatut ottelut. private String tiedosto tiedoston, johon sarjan tiedot on tallennettu, nimi. private int kierrokset sarjassa pelattujen kierrosten lukumäärä. Luokan metodit: public void lisaaottelu(ottelu ottelu)-metodi joka lisää parametrina syötetyn ottelun sarjan tietoihin. public void korjaaottelu(string joukkue1, String joukkue2, int kierros)-metodi tietyn ottelun korjaamiseen. Jos parametreina annettujen tietojen mukainen ottelu löytyy sarjasta, metodi poistaa sen ja aloittaa kyseisien tietojen pohjalta uuden ottelun syötön. public Ottelu getottelu(string joukkue1, String joukkue2, int kierros)-metodi joka hakee sarjasta ottelun joka tästää metodin saamiin parametreihin. public void Lajittele()-metodi joka lajittelee sarjan joukkueet paremmusjärjestykseen eli niin että eniten pisteitä omaava joukkue on ensimmäisenä. public void settiedosto(string tiedosto)- metodi asettaa sarjan tallennustiedoston nimeksi parametrina saamansa merkkijonon. public String gettiedosto()-metodi palauttaa tiedoston nimen johon sarja on tallennettu. public void setkierrokset(int kierros)-metodi joka asettaa parametrinaan saamansa kokonaisluvun sarjassa menneellään olevan kierroksen arvoksi. public int getkierrokset()-metodi palauttaa sarjassa menneillään olevan kierroksen. public Joukkue[] getjoukkueet()-metodi joka palauttaa taulukkona sarjaan osallistuvat joukkueet. public int joukkueetlkm()-metodi joka palauttaa sarjaan osallistuvien joukkueiden lukumäärän. public boolean joukkueloytyy(string joukkue)-metodi palauttaa tiedon siitä, että osallistuuko metodille parametrina annetun merkkijonon niminen joukkue sarjaan. public void tulostaottelut()-metodi joka tulosaa muotoillusti kaikki sarjassa pelatut ottelut. public void tulostasarja()-metodi tulostaa muotoillusti sarjataulukon. 5

8 Tiedostot-luokka Luokan attribuutit: Ei attribuutteja. Luokan metodit: public static boolean tallennus(sarja[] sarja)-staattinen metodi joka tallentaa sarjan tiedostoon joka käy ilmi sarjan sisältämistä tiedoista. public static boolean tallennus(sarja[] sarja, String tiedosto)-staattinen metodi joka tallentaa sarjan tiedostoon jonka nimi on annettu metodille parametrina. public static Sarja[] lataus(string tiedosto) throws Exception-staattinen metodi joka lataa sarjan tiedostosta jonka nimen metodi on saanut parametrinaan. Ottelu-luokka Luokan attribuutit: private Joukkue joukkue1 toinen otteluun osallistuvista joukkueista. private Joukkue joukkue2 toinen otteluun osallistuvista joukkueista. private Joukkue tasapeli tasapeli niminen joukkue joka palautetaan jos ottelu on päättynyt tasapeliin. private int j1maalit toisen joukkueen maalien lukumäärä. private int j2maalit toisen joukkueen maalien lukumäärä. private int kierros kierros jolla ottelu on pelattu. Luokan metodit: public Joukkue voittaja()-metodi joka palauttaa ottelun voittaneen joukkueen. public Joukkue getjoukkue1()-metodi joka palauttaa toisen ottelussa pelanneista joukkueista. public Joukkue getjoukkue2()-metodi joka palauttaa toisen ottelussa pelanneista joukkueista. public int getjoukkue1maalit()-metodi joka palauttaa toisen ottelussa pelanneen joukkueen ottelussa tekemät maalit. public int getjoukkue2maalit()-metodi joka palauttaa toisen ottelussa pelanneen joukkueen ottelussa tekemät maalit. public int getkierros()-metodi joka palauttaa kierroksen jolla ottelu on pelattu. public void tulostaottelu()-metodi joka tulostaa ottelun tiedot muotoillusti. Lue-luokka Luokan attribuutit: static Scanner skanneri Scanner-olio jonka avulla syötteitä luetaan komentoriviltä. Luokan metodit: public static String string()-metodi lukee käyttäjältä merkkijonon ja palauttaa sen sellaisenaan. public static int integer()-metodi lukee käyttäjältä merkkijonon josta se sitten yrittää parsia kokonaisluvun. Jos merkkijonosta saadaan kokonaisluku, palautetaan se 6

9 samantien. Jos merkkijonon parsiminen epäonnistuu, metodi kutsuu itseään rekursiivisesti kunnes käyttäjä antaa oikeanlaisen syötteen. Valikot-luokka Luokan attribuutit: private static Sarja sarja käsiteltävä Sarja-olio. private static Ottelu ottelu käsiteltävä Ottelu-olio. private static boolean tallennettu tieto siitä, että onko luotu sarja jo tallennettu. Luokan metodit: public static void paavalikko()-metodi piirtää päävalikon ja kutsuu valinta-metodia jossa suoritetaan valikolle sopivat kyselyt. public static int valikko1()-metodi piirtää valikon vanhan sarjataulukon lataamista varten ja kutsuu valinta-metodia jossa suoritetaan valikolle sopivat kyselyt. public static int valikko2()-metod piirtää uuden sarjataulukon luomiseen sopivan valikon ja kutsuu valinta-metodia jossa suoritetaan valikolle sopivat kyselyt. public static int valinta(int valinta)-metodi joka tuottaa parametrista riippuen erilaisia kyselyjä käyttäjälle ja jatkaa ohjelman suoritusta käyttäjän antamien syötteiden perusteella. public static void kierros(int kierros)-metodi joka pyytää käyttäjää syöttämään yhden kokonaisen kierroksen peli kerrallaan. public static void sarjantallennus(sarja sarja)-metodi joka käynnistää käsiteltävän sarjan tallennuksen. Tarvittaessa kysyy käyttäjältä tiedoston nimen johon sarja halutaan tallentaa. public static void ottelunsyotto()-metodi tuottaa yhden ottelun syöttämiseen tarkoitetun valikon jossa kaikki tarvittavat tiedot kysellään käyttäjältä. public static void ottelunsyotto(string nimi1, String nimi2, int kierros)-metodi tuottaa valikon jossa parametreina saatujen tietojen pohjalta luotuun otteluun kysellään käyttäjältä maalien määrät. public static void ottelunkorjaus()-metodi joka tuottaa ottelun korjaukseen tarvittavan valikon jossa kaikki tarvittavat tiedot kysellään käyttäjältä. public static void etsiottelu()-metodi tuottaa valikon jossa ottelun tunnistetiedot kysellään käyttäjältä ja sen jälkeen ottelun muut tiedot tulostetaan jos kyseinen ottelu käsiteltävästä sarjasta löytyy. public static void tulostakeskelle(string s)-metodi joka tulostaa parametrina saamansa merkkijonon keskitetysti Windowsin komentokehotteessa. public static void tulostaviiva()-metodi joka tulostaa 80 merkkiä pitkän viivan. public static void tulostaviiva(int pituus)-metodi joka tulostaa parametrinaan saamansa kokonaisluvun mittaisen viivan. public static String getviiva(int pituus)-metodi joka palauttaa parametrinaan saamansa kokonaisluvun mittaisen merkkijonon joka koostuu viiva-merkeistä ('-'). public static void main(string[] args)-metodi joka käynnistää koko ohjelman suorituksen. Tulostaa tervehdysviestin ja kutsuu paavalikko()-metodia. Muutosohjeet Ohjelma on harjoitustyö, eikä sitä ole tarkoitettu muutettavaksi. 7

10 Testaus Testeissä on pyritty suorittamaan kaikki ohjelman koodit vähintään kerrran. Osa ohjelman osista käydään testeissä kuitenkin useita kertoja läpi. Päävalikko Testin tarkoitus: Odotettu tulos: Saatu tulos: Testataan valikon toimintaa syötteellä 1 Siirrytään valikkoon jossa voidaan suorittaa aikaisemman sarjataulukon käsittelyä. Testataan valikon toimintaa syötteellä 2 Testataan valikon toimintaa syötteellä 0 Testataan jotain muuta syötettä kuin mitä ohjelma antaa vaihtoehdoiksi. Syöte: 3 Testataan jotain muuta syötettä kuin mitä ohjelma antaa vaihtoehdoiksi. Syöte A Siirrytään valikkoon jossa voidaan aloittaa uuden sarjataulukon ylläpito. Ohjelman suoritus lopetetaan. Ohjelma antaa ilmoituksen virheellisestä syötteestä ja pyytää syötettä uudelleen. Ohjelma antaa ilmoituksen virheellisestä syötteestä ja pyytää syötettä uudelleen. Uuden sarjataulukon luonti valikko, osallistuvien joukkueiden määrä. Testin tarkoitus: Odotettu tulos: Saatu tulos: Annetaan syötteeksi negatiivinen luku, jotta nähdään kuinka ohjelma reagoi epäloogiseen syötteeseen. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää syöttämään syötteen uudelleen. Annetaan syötteeksi merkkijono, ei siis lukua kuten ohjelma tarvitsee. Syöte: Aaa3 Annetaan syötteeksi kokonaisluku, jonka pitäisi olla ohjelmalle kelpaava syöte. Syöte 1 Annetaan syötteeksi kokonaisluku, jonka pitäisi olla ohjelmalle kelpaava syöte. Syöte 2 Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää syöttämään syötteen uudelleen. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää syöttämään syötteen uudelleen, koska sarjaan täytyy osallistua vähintään kaksi joukkuetta. Syöte on oikeanlainen, joten siirrytään ohjelman suorituksessa eteenpäin. Uuden sarjataulukon luonti valikko, osallistuvien joukkueiden nimet. Testin tarkoitus: Odotettu tulos: Saatu tulos: Annetaan syötteeksi Siirrytään kysymään seuraavan mikätahansa merkkijono. Syöte: joukkueen nimeä kunnes kaikki 8

11 joukkue1 joukkueet on nimetty. Tämän jälkeen siirrytään ohjelman suorituksessa eteenpäin. Uuden sarjataulukon luonti valikko, kysely että halutaanko syötetyt tiedot tallentaa. Testin tarkoitus: Odotettu tulos: Saatu tulos: Ohjelma tarjoaa syötteeksi Ohjelma kysyy tiedostolle kahta vaihtoehtoa joko k tai e. Syötteeksi annetaan k. nimeä johon tiedot halutaan tallentaa. Syötteeksi annetaan e. Siirrytään ohjelman suorituksessa eteenpäin Annetaan jokin muu kuin ohjelman antama syötevaihtoehto. Syöte: a. tallentamatta valittuja tietoja. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää uutta syötettä. Uuden sarjataulukon luonti valikko, syötettyjen tietojen tallennus. Testin tarkoitus: Odotettu tulos: Saatu tulos: Annetaan ohjelmalle jokin tiedoston nimi jonka tiedetään olevan vapaana. Syöte: testitallennus Tiedoston tallennus onnistuu ja ohjelman suorituksessa siirrytään eteenpäin. Annetaan ohjelmalle jokin tiedoston nimi jonka tiedetään olevan varattu. Syöte: varattunimi Ohjelma ilmoittaa, että annetun niminen tiedosto on jo olemassa ja kysyy, että halutaanko sen yli kirjoittaa. Uuden sarjataulukon luonti valikko, syötettyjen tietojen tallennus, tiedoston ylikirjoitus kysymys. Testin tarkoitus: Odotettu tulos: Saatu tulos: Annetaan syötteeksi ohjelman Tiedoston yli kirjoitetaan ja antamista syötteistä ( k tai e ) syöte: k ohjelman suoritusta jatketaan Syöte: e Tiedoston yli ei kirjoiteta ja ohjelma pyytää uutta tiedoston nimeä johon tiedot voidaan tallentaa. Annetaan syötteeksi jokin muu kuin ohjelman antama syötevaihtoehto. Syöte 10 Ohjelma jatkaa kysymyksen kysymistä kunnes käyttäjä antaa jommankumman annetuista syötevaihtoehdoista. Uuden sarjataulukon luonti valikko, seuraavaksi tehtävä asia(paluu päävalikkoon tai seuraavan kierroksen syöttäminen). 9

12 Testin tarkoitus: Odotettu tulos: Saatu tulos: Testataan valikon toimintaa syöttämällä jokin muu syöte kuin ehdotettu(1 tai 0) syötevaihtoehto. Syöte: B Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää syötettä uudelleen. Annetaan oikeanlainen syöte. Syöte: 1 Annetaan oikeanlainen syöte. Syöte: 0 Siirrytään valikkoon jossa syötetään seuraavan kierroksen tiedot peli kerrallaan. Siirrytään päävalikkoon. Uuden sarjataulukon luonti valikko, seuraavan kierroksen syöttäminen. Testin tarkoitus: Odotettu tulos: Saatu tulos: Annetaan syötteeksi positiivisia kokonaislukuja. Kokeilu syöte: 1 Ohjelma kysyy kierroksen kaikkien pelien tulokset ja siirtyy suorituksessa eteenpäin. Annetaan syötteeksi jokin syöte joka ei voi olla tehtyjen maalien määrä, kuten A3 Annetaan syötteeksi vielä jokin toinen syöte joka ei voi olla tehtyjen maalien määrä, kuten -3 Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää syötettä uudestaan. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää syötettä uudestaan. Kunkin syötetyn kierroksen jälkeen ohjelma tulostaa sarjataulukon ja tämän jälkeen kysyy, että haluaako käyttäjä tallentaa syötetyt tiedot. Tallennus kysely on sama kuin jo aikaisemmin testattu tallennus (syöte: k tai e ). Tämän jälkeen kysytään, että mitä seuraavaksi halutaan tehdä. Tämä on sama valikko kuin jo aikaisemmin testattu valikko. Viimeistään kun kaikki kierrokset on syötetty, palataan päävalikkoon. Aikaisemman sarjataulukon käsittelyn jatkaminen, tiedoston nimen kysely. Testin tarkoitus: Odotettu tulos: Saatu tulos: Annetaan tiedoston nimi jonka tiedetään sisältävän aikaisemmin tallennettuja tietoja. Ohjelma lataa tiedostosta aikaisemman sarjataulukon ja tulostaa sen tiedot. Tämän jälkeen tulostetaan valikko jossa kysytään, että mitä sarjataulukolle halutaan tehdä. Annetaan tiedoston nimi jonka tiedetään oikeasti puuttuvan. Annetaan syötteeksi 0. Joka on syöte jonka ohjelma ilmoittaa peruuttavan toiminnon. Ilmoitetaan, että kyseisen nimistä tiedostoa ei löytynyt ja pyydetään käyttäjää syöttämään tiedoston nimi uudelleen. Vanhan sarjataulukon lataus peruutetaan ja palataan päävalikkoon. 10

13 Aikaisemman sarjataulukon käsittelyn jatkaminen, kun tiedot on ladattu. Testin tarkoitus: Odotettu tulos: Saatu tulos: Testataan valikon toimintaa Tulostaa sarjan tilanteen ja syötteellä: 1 palaa takaisin samaan Testataan valikon toimintaa syötteellä: 2 Testataan valikon toimintaa syötteellä: 3 Testataan valikon toimintaa syötteellä: 4 Testataan valikon toimintaa syötteellä: 5 Testataan valikon toimintaa syötteellä: 0 Testataan valikon toimintaa syötteellä: C (ei kuulu ohjelman antamiin vaihtoehtoihin) Testataan valikon toimintaa syötteellä: -1 (ei kuulu ohjelman antamiin vaihtoehtoihin) valikkoon. Tulostaa kaikki sarjan ottelut niin että yhden joukkueen pelit näytetään kerrallaan. Palaa tulostuken jälkeen samaan valikkoon. Siirtyy kyselemään etsittävän ottelun tietoja, eli ottelun joukkueiden nimiä ja kierrosta jolla ottelu on pelattu. Jos ottelu löytyy, ohjelma tulostaa sen tiedot. Lopuksi ohjelma palaa takaisin samaan valikkoon. Siirtyy ottelun korjaus osioon jossa ohjelma kyselee halutun ottelun tiedot ja sen jälkeen tulostaa nykyiset tiedot. Tämän jälkeen ohjelman tulisi aloittaa uusien tietojen kysely käyttäjältä. Ohjelma tallentaa sarjan tiedot, oli niitä muutettu tai ei. Ohjelma myös ilmoittaa, että onnistuiko tallennus vai ei. Siirrytään takaisin päävalikkoon. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää uutta syötettä. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää uutta syötettä. Aikaisemman sarjataulukon käsittelyn jatkaminen, tietyn ottelun etsiminen joko tulostusta tai korjausta varten. Testin tarkoitus: Odotettu tulos: Saatu tulos: Testataan ohjelman toimintaa kun sille annetaan jokin joukkueen nimi joka ei kuulu käsiteltävään sarjaan. Syöte: Ohjelma ilmoittaa, että kyseisen nimistä joukkuetta ei löydy sarjasta ja pyytää käyttäjää syöttämään joukkueen nimen 11

14 joukkue4 kun sarjan joukkueet ovat joukkue1, joukkue2, joukkue3 Syötetään ohjelmalle joukkueen nimi jonka tiedetään osallistuvan kyseiseen sarjaan. Syöte: joukkue1 kun sarjan joukkueet ovat joukkue1, joukkue2, joukkue3 Testataan ohjelman toimintaa syötettäessä ottelun kierrosta. Syötteeksi annetaan positiivinen luku. Syöte: 1 Testataan ohjelman toimintaa syötettäessä ottelun kierrosta. Syötteeksi annetaan negatiivinen luku. Syöte: -1 Testataan ohjelman toimintaa syötettäessä ottelun kierrosta. Syötteeksi annetaan jotakin muuta kuin kokonaisluku. Syöte: D uudelleen. Kyselyä jatketaan kunnes ottelun molempiin joukkueisiin on saatu sarjassa olevien joukkueiden nimet. Ohjelma siirtyy suorituksessa eteenpäin eli kysyy toisen joukkueen nimeä ja sen saatuaan kysyy kierrosta jolla ottelu on pelattu. Ohjelma hakee syötettyjen tietojen mukaisen ottelun ja tulostaa sen. Jos ottelua ei löydy siitä ilmoitetaan käyttäjälle ja siirrytään takaisin valikkoon josta ottelun haku on käynnistetty. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää käyttäjältä uutta syötettä. Ohjelma ilmoittaa virheellisestä syötteestä ja pyytää käyttäjältä uutta syötettä. Jos ladattuun sarjataulukkoon ei vielä ole tallennettu kaikkia sarjan kierroksia tai otteluja, on aikaisemman sarjataulukon käsittelyvalikko hiukan erilainen. Siinä on silloin kaksi ylimääräistä valikon kohtaa: 1. Syota seuraava(x.) kierros ja 2. Syota ottelu. Näiden jälkeen tulee jo aikaisemmin testatut kohdat: 3. Tulosta sarjan tilanne, 4. Tulosta kaikki ottelut, 5. Etsi yksi ottelu, 6. Korjaa ottelu, 7. Tallenna ja 0. Paavalikko. Testin tarkoitus: Odotettu tulos: Saatu tulos: Testataan valikon toimintaa antamalla syötteeksi 1 Ohjelma siirtyy osioon jossa syötetään kokonainen kierros kerrallaan, jonka toiminnallisuus on jo testattu ylempänä. Testataan valikon toimintaa antamalla syötteeksi 2 Testataan valikon toimintaa antamalla syötteeksi jokin muu syöte kuin ohjelman vaihtoehdoiksi antama. Syöte: 8 Testataan valikon toimintaa antamalla syötteeksi jokin muu Ohjelma siirtyy osioon jossa kysytään käyttäjältä syötettävän ottelun tiedot. Sama toiminnallisuus on testattu jo aikaisemmin. Ohjelma ilmoittaa, että syötteen tulee olla väliltä 0-7 ja pyytää syötettä uudestaan. Ohjelma ilmoittaa syötteen olevan virheellinen ja pyytää 12

15 syöte kuin ohjelman vaihtoehdoiksi antama. Syöte: E käyttäjältä uutta syötettä. 13

16 Liitteet Liite 1: Tehtäväpaperi Ohjelmointi 3 Tee ohjelma, joka ylläpitää jääkiekkosarjan tulostaulukkoa kunkin (ei välttämättä täyden) pelikierroksen jälkeen. Tee lisäksi ohjelma, jolla on mahdollista korjata virheet jotka edellisten kierrosten tuloksien kirjoituksessa on syntynyt. Ohjelmalla on voitava tulostaa joukkueittain paremmuusjärjestyksessä oleva sarjataulukko. 14

17 Liite 2: Projektisuunnitelma 15

18 16

19 17

20 Liite 3: Ohjelmalistaus Valikot.java: import java.io.; / Pääohjelma joka huolehtii valikoiden toiminnasta ja toimintojen toteutuksesta. Suurin osa ohjelman tulostuksista suoritetaan ja muotoillaan tässä Mikko v1.0 / public class Valikot { private static Sarja sarja; private static Ottelu ottelu; private static boolean tallennettu = false; / Piirtää päävalikon ja kutsuu valinta-metodia jossa kysytään, että mitä tehdään seuraavaksi. / public static void paavalikko(){ int syote = 0; int val; boolean onnistui = false; int paluuarvo = 10; do { System.out.println(""); tulostaviiva(); tulostakeskelle("paavalikko\n"); tulostaviiva(); val = valinta(0); while (val!= 0); / Piirtää valikon jossa ladataan vanha sarjataulukko. Kutsuu valinta-metodia jossa kysytään, että mitä tehdään Palauttaa aina 0, tämä tarvitaan vain ohjelman suorituksen kontrollointiin. / public static int valikko1() { String tiedosto; Sarja[] sarjataul; int val = 0; 18

21 boolean onnistui = false; tulostaviiva(); tulostakeskelle("vanhan sarjataulukon lataus\n"); tulostaviiva(); System.out.print("Anna aikaisemman sarjataulukon sisaltavan tiedoston nimi (peruuta: 0): "); tiedosto = Lue.string(); do { try { tiedosto = tiedosto + ".dat"; sarjataul = Tiedostot.lataus(tiedosto); sarja = sarjataul[0]; onnistui = true; sarja.tulostasarja(); catch ( Exception e) { if(tiedosto.equals("0.dat")) return 0; System.out.println("Tiedostoa ei loytynyt!\n"); System.out.print("Anna tiedoston nimi uudelleen: "); tiedosto = Lue.string(); System.out.println(""); while (!onnistui); do { if (sarja.getkierrokset() == 3) val = valinta(1); else if (sarja.getkierrokset() < 3) val = valinta(3); while (val!= 0); return 0; / Piirtää valikon jossa luodaan uusi sarjataulukko. Kutsuu valinta-metodia jossa kysytään, että mitä tehdään Palauttaa aina 0, tämä tarvitaan vain ohjelman suorituksen kontrollointiin. / public static int valikko2() { int kappaletta; String syote; String tiedosto; boolean tallennusonnistui; 19

22 tulostaviiva(); tulostakeskelle("uuden sarjataulukon luonti\n"); tulostaviiva(); do { System.out.print("Montako joukkuetta osallistuu: "); kappaletta = Lue.integer(); System.out.println(""); kaksi.\n"); while ( kappaletta < 2 ); if ( kappaletta == 0 ) { Lue.string(); return 0; else if ( kappaletta < 2 ) { System.out.println("Joukkueita tulee olla vahintaan Joukkue[] joukkueet = new Joukkue[kappaletta]; for ( int i = 0; i < kappaletta; i++) { String nimi; System.out.print("Anna " + (i+1) + ". joukkueen nimi: "); nimi = Lue.string(); joukkueet[i] = new Joukkue(nimi); sarja = new Sarja(joukkueet); Sarja[] sarjataul = new Sarja[1]; sarjataul[0] = sarja; do { System.out.print("\nTallennetaanko tiedot? (k/e): "); syote = Lue.string(); System.out.println(""); if(syote.equals("k") syote.equals("e")) { if (syote.equals("k")) { sarjantallennus(sarja); else { tallennettu = false; else { System.out.println("Syotteen tulee olla joko 'k' tai 'e'!"); while (!(syote.equals("k") syote.equals("e"))); if (valinta(2) == 1) kierros(1); 20

23 if(sarja.getkierrokset() == 1) if (valinta(2) == 1) kierros(2); if(sarja.getkierrokset() == 2) if (valinta(2) == 1) kierros(3); if(sarja.getkierrokset() == 3) System.out.println("Kaikki kierrokset syotetty, palataan paavalikkoon."); return 0; / Piirtää erilaisia valinta Haluttu Palauttaa tiedon valitusta valinnasta / public static int valinta(int valinta) { int syote = 0; if(valinta == 0) { // kutsuttu päävalikosta tulostakeskelle(getviiva(50)); tulostakeskelle(string.format("%-49s", "Jatka aikaisemman sarjataulukon kasittelya: ")+"1"); tulostakeskelle(string.format("%-49s", "Aloita uuden sarjataulukon yllapito: ")+"2"); tulostakeskelle(string.format("%-49s", "Lopeta: ")+"0"); tulostakeskelle(getviiva(50)); System.out.print("\n\nValintasi: "); do { syote = Lue.integer(); if(syote < 0 syote > 2) System.out.print("Syotteen tulee olla luku valilla 0-2.\nAnna valintasi uudelleen: "); while(syote < 0 syote > 2); if ( syote == 1 ) { valikko1(); else if ( syote == 2 ) { valikko2(); else if(valinta == 1) { // kutsuttu valikosta jossa käsitellään vanhaa sarjataulukkoa tulostakeskelle(getviiva(50)); tulostakeskelle(string.format("%-49s", "Tulosta sarjan tilanne: ")+"1"); 21

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

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

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

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

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

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,

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

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Java-kielen perusteita

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

Lisätiedot

Ohjelmointityö 65 Tekstinmuotoilu ohjelma. Dokumentaatio. Aki Heikkinen (155394)

Ohjelmointityö 65 Tekstinmuotoilu ohjelma. Dokumentaatio. Aki Heikkinen (155394) Ohjelmointityö 65 Tekstinmuotoilu ohjelma Dokumentaatio Aki Heikkinen (155394) 15.6.2007 Sisällysluettelo 1. Tehtävän määrittely ja ratkaisuperiaate... 1 1.1. Tehtävän määrittely... 1 1.2. Ratkaisuperiaate...

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

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

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

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

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

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

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

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

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

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

Mikä yhteyssuhde on?

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

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

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

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

Luokan sisällä on lista

Luokan sisällä on lista 1 Luokan sisällä on lista Luokan sisällä lista Listan sisältävä luokka Konstruktorit get-metodi Lista muissa metodeissa addxx-metodi Yksinkertainen pääohjelma Kertauksen List-luokan metodeja 1 Luokan sisällä

Lisätiedot

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) 1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Java-API, rajapinnat, poikkeukset, UML,...

Java-API, rajapinnat, poikkeukset, UML,... Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

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

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

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

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

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

YHTEYSSUHDE (assosiation)

YHTEYSSUHDE (assosiation) YHTEYSSUHDE (assosiation) -Mikä on yhteyssuhde? -Miten toteutan yhteyssuhteen? 1 Mikä on yhteyssuhde? Yhteyssuhde kuvaa kahden olion välistä suhdetta: Esim. Auto Henkilö, omistussuhde Tili Asiakas, omistussuhde

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if 3 Lauseet Lue kirjasta s. 54-84 Tämän osan sisältö Ehdollinen lause if Looginen lauseke vertailut AND-operaattori &&, & OR-operaattori, NOT-operaattori! Valintalause switch Toistolauseet while for do while

Lisätiedot

Rinnakkaisohjelmointi, Syksy 2006

Rinnakkaisohjelmointi, Syksy 2006 Rinnakkaisohjelmointi, Syksy 2006 17.12.2006 Opintopiiri WTF Mika Holmström Paula Kemppi Janne Piippo Lasse Lukkari Javan semaforit 1. Menetelmän käyttötarkoitus ja sovellusalue Semaforin idea kehitettiin

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

Ohjelmistotekniikan menetelmät, koe 2.5.2014

Ohjelmistotekniikan menetelmät, koe 2.5.2014 Ohjelmistotekniikan menetelmät, koe 2.5.2014 Vastaa tehtävään 3 erilliselle konseptille. Tehtävät 1 ja 2 saavat olla samalla konseptilla. Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa

Lisätiedot

Interaktiivinen tarinankerronta

Interaktiivinen tarinankerronta Interaktiivinen tarinankerronta Tehtävä 1: Tarinan alku pääohjelmaan Main. java ei tehdä muutoksia tulostusrivit tiedostoon Kayttoliittyma.java tulostus lyhyesti sout + tab komennolla Tiedoston Kayttoliittyma.java

Lisätiedot

Java ja grafiikka. Ville Sundberg 12.12.2007

Java ja grafiikka. Ville Sundberg 12.12.2007 Java ja grafiikka Ville Sundberg 12.12.2007 What happen Viritetty JPanel Graphics ja Graphics2D ImageIO ja BufferedImage Animaatio ja ajastus Optimoinnista Kehykset import javax.swing.jframe; public class

Lisätiedot

Ohjelmoinnin perusteet, 1. välikoe

Ohjelmoinnin perusteet, 1. välikoe Ohjelmoinnin perusteet,. välikoe Nimi: Opiskelijanumero:.. 3. 4. Yhteensä Ohje: Ratkaise kaikki tehtävät. Lähdemateriaalia ja tietokonetta ei saa käyttää. Noudata ohjelmointitehtävissä Java-kielen vakiintuneita

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

JAVA-OHJELMOINTI 3 op A274615

JAVA-OHJELMOINTI 3 op A274615 JAVA-OHJELMOINTI 3 op A274615 JFC & Swing, Look & Feel, Events Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko 5 Taulukot Tämän osan sisältö Taulukon esittely ja luonti Taulukon alustaminen Taulukon koko Taulukon käsittely indeksointi peräkkäiskäsittely hajakäsittely harva taulukko Taulukon järjestäminen Kaksiulotteinen

Lisätiedot

Luokkakirjastot. esiintymämetodien käytöstä:

Luokkakirjastot. esiintymämetodien käytöstä: Luokkakirjastot Esimerkkejä Jokainen olio on jotain tyyppiä ja ko. tyyppistä oliota voidaan käsitellä ko. luokan metodeilla Merkkijonojen käsittely: String, StringBuffer, StringBuilder, StringTokenizer,..

Lisätiedot

Harjoitustyö (TKO_2023)

Harjoitustyö (TKO_2023) Harjoitustyö (TKO_2023) Jyri Lehtonen (72039) (alkuperäinen 29.1.2008) päivitetty: 8.2.2008 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee Java-appletti, joka kysyy käyttäjältä asioita Java-kielestä.

Lisätiedot

Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta

Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta 22. Taulukot 22.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.2 Yleistä

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

12 Mallit (Templates)

12 Mallit (Templates) 12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

Toiminta ennen ensimmäistä ottelua (1/2)

Toiminta ennen ensimmäistä ottelua (1/2) Toiminta ennen ensimmäistä ottelua (1/2) Kotijoukkue kirjautuu järjestelmään omalla joukkuekoodillaan Joukkue- /seuratunnus -kohdasta. Kirjoita joukkueesi tunnus siihen ja paina Kirjaudu -kohdasta. Tunnukset

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

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

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

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita. Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa

Lisätiedot

Pakkauksen kokoaminen

Pakkauksen kokoaminen 13. Pakkaukset 13.1 Sisällys Pakkauksen kokoaminen (package). Pakkaukset ja hakemistorakenne. Pakkauksen luokkien käyttö muissa pakkauksissa (import). Pakkaukset ja näkyvyys. 13.2 Pakkauksen kokoaminen

Lisätiedot

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi lötköjen kansoittamaa alkulimaa simuloiva olioperustainen ohjelma Java-kielellä. Lötköt säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti

Lisätiedot

Goalkeeper Game Statistics (v12) käyttöohjeet

Goalkeeper Game Statistics (v12) käyttöohjeet 1 Goalkeeper Game Statistics (v12) käyttöohjeet Oikeudet Goalkeeper game statistics v12 ohjelman tekijänoikeudet ovat pysyvästi tekijällä (Markku Aalto, Vantaa, markku.aalto@finhockey.fi), ellei niitä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

Lisätiedot

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä. Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä. JUnit-ympäristö 1. Luo tests -pakkaukseen uusi luokka. Nimeä VHTestit. 2. Laita VHTestit periytymään TestCase:sta

Lisätiedot

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli 812341A Olio-ohjelmointi, 2016 Olio-ohjelmoinnin peruskäsitteet ja Java-kieli Sisältö 1. Java-kieli 2. Luokka 3. Luokkakaaviot 4. Lisää Javaa Javalla 2 Java-kieli n Sun Microsystems tutkimusprojekti 1991

Lisätiedot

PALLOVERKKO SÄHKÖINEN OTTELUPÖYTÄKIRJA

PALLOVERKKO SÄHKÖINEN OTTELUPÖYTÄKIRJA PALLOVERKKO SÄHKÖINEN OTTELUPÖYTÄKIRJA 30.6.2011 KÄYTTÄJÄTUNNUKSEN TILAAMINEN LÖYTYY SIVUN ALAREUNASTA TUNNUSTEN TILAAMINEN: JOTTA PÄÄSEE KIRJAUTUMAAN JÄRJESTELMÄÄN TULOSPALVELUVASTAAVANA, PITÄÄ OLLA TUNNUKSET

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

Lisätiedot

Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata.

Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata. 1 Tulostaulun käyttöohje 1. Yleistä Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata. Näytön alapuolella olevilla A, B, C jne. painikkeilla voi valita

Lisätiedot

Ehto- ja toistolauseet

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

Lisätiedot

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan

Lisätiedot

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8) WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8) 1 UUDEN KILPAILUTIEDOSTON AVAUS Avaa Wcondes ohjelma tuplaklikkaamalla wcondes.lnk ikonia. Ohjelma avaa automaattisesti viimeksi tallennetun kilpailutiedoston.

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

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

ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015

ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015 ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015 Sisältö ARVI-menettelyn perusteet... 1 Arvioinnin syöttäminen... 2 Arvion lähettäminen TE-toimistoon... 5 Sovelluksen sulkeminen... 6 Virhetilanteiden

Lisätiedot

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot

PALLOVERKKO SÄHKÖINEN OTTELUPÖYTÄKIRJA

PALLOVERKKO SÄHKÖINEN OTTELUPÖYTÄKIRJA PALLOVERKKO SÄHKÖINEN OTTELUPÖYTÄKIRJA 12.12.2012 KÄYTTÄJÄTUNNUKSEN TILAAMINEN TILAA TUNNUKSET SEURASI PÄÄKÄYTTÄJÄLTÄ. KIRJAUTUMINEN PALLOVERKKOON POLKU KIRJAUTUMISEEEN PALLOLIITON ETUSIVULTA : SEURAPALVELUT-

Lisätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

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

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus Sisällys 19. Olio-ohjelmointia Javalla Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit

Lisätiedot

Ohjelmointi Tunnilla 1 (5) 13.10.2014. Viikko 7 tuntitehtäviä: metodien tekeminen Javalla

Ohjelmointi Tunnilla 1 (5) 13.10.2014. Viikko 7 tuntitehtäviä: metodien tekeminen Javalla 1 (5) Viikko 7 tuntitehtäviä: metodien tekeminen Javalla 1. Tee ohjelma (kalvoesimerkkinä), joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavan välityspalkkion. Välityspalkkion on 3,44%

Lisätiedot