Helsingin yliopisto / Tietojenkäsittelytieteen laitos / Ohjelmoinnin jatkokurssi / Copyright © 2011 Arto Wikla.

Ohjelmoinnin jatkokurssi, koe 12.12.2011/AW

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, opiskelijanumerosi ja allekirjoituksesi. Kirjoita jokainen vastaus omalle konseptiarkilleen! Kokeessa mikään lähdemateriaali ei ole sallittu.

  1. Käytössäsi on luokka IntJoukko, jonka "API" kokonaisuudessaan on seuraavanlainen:

    Mitään muuta et tiedä luokan IntJoukko rakenteesta tai toteutuksesta. Et esimerkiksi sitä, onko toteutus samantapainen kuin harjoitustehtävissä!

    Ohjelmoi luokalle IntJoukko aliluokka IntJoukkoPlus, jonka "API" on seuraavanlainen:

    Havainnollista erillisellä pääohjelmalla kaikkien IntJoukkoPlus-luokan operaatioiden, myös perittyjen, käyttöä.

                                                                                  (10 pistettä)
    

  2. Selitä lyhyesti ja täsmällisesti seuraavat Java-ohjelmoinnin käsiteparit ja käsitteet. Älä viittaa vastauksissasi muihin tehtäviin, koska joka tehtävän tarkastaa eri tarkastaja! Vastauksen maksimipituus on yksi konseptipaperiarkki, siis 4 sivua.

    1. yliluokka ja aliluokka
    2. abstrakti luokka ja rajapintaluokka (eli interface)
    3. polymorfismi
    4. sovelluskehys ja koukkumetodi
    5. tapahtumaohjattu ohjelma
                                                                                  (10 pistettä)
    
  3. Tee ohjelma Sanakirja.java, joka tarjoaa sanakirjapalvelun:

    Ensin ohjelma pyytää käyttäjältä sanakirjatiedoston nimen. Sitten ohjelma lukee tästä tekstitiedostosta sanapareja sana-käännös. Jokainen sana on tiedostossa omalla rivillään, Jokainen pariton rivi esittää sanaa alkukielellä. Jokaista paritonta riviä seuraava parillinen rivi on edellisen rivin sanan käännös.

    Opiskeltuaan sanaston ohjelma reagoi jokaiseen käyttäjän kirjoittamaan syöttöriviin (= sana alkukielellä) tulostamalla näytölle kyseisen sanan käännöksen tai ilmoituksen, ettei käännöstä löydy. Kun käyttäjä kirjoittaa tyhjän syöttörivin, ohjelman suoritus päättyy.

    Saat tyytyä pitämään "sanoina" yksittäisiä syöttörivejä sellaisinaan, mutta muuten ohjelman on varauduttava virheisiin ja käsiteltävä poikkeukset. Virheilmoitusten pitää olla havainnollisia.

    Kaytä ratkaisussasi HashMap<K,V>-luokkaa:

                                                                                 (10 pistettä)
    
    

Onnea kokeeseen & hauskaa joulua!