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

Ohjelmoinnin jatkokurssi, koe 14.12.2009/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 Kokonaislukujoukko, jonka "API" on seuraavanlainen:

    Mitään muuta et tiedä luokan Kokonaislukujoukko rakenteesta tai toteutuksesta!

    Ohjelmoi luokalle Kokonaislukujoukko aliluokka KokonaislukujoukkoPlus, jonka "API" on seuraavanlainen:

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

                                                                                  (16 pistettä)
    

  2. Selitä lyhyesti ja täsmällisesti seuraavat Java-ohjelmoinnin 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 (interface)
    3. polymorfismi
                                                                                  (18 pistettä)
    
  3. Tee ohjelma Sanakirja, joka tarjoaa sanakirjapalvelun:

    Ensin ohjelma lukee komentoriviparametrina annetusta 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:

                                                                                 (16 pistettä)
    
    
    
    

Onnea kokeeseen & hauskaa joulua!