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

Ohjelmoinnin jatkokurssi, koe 13.12.2010/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öä.

                                                                                  (12 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 ja koukkumetodi
                                                                                  (12 pistettä)
    
  3. Tee ohjelma LaskeSanojenMaara, jolla voi tutkia tekstitiedoston sanojen lukumääriä. Ensin ohjelma pyytää tutkittavan tekstitiedoston nimen. Seuraavaksi ohjelma pyytää tutkittavat sanat, joiden lukumäärät lasketaan. "Sanat" ovat mitä tahansa ei-tyhjiä String-merkkijonoja. Varsinaisena työnään ohjelma laskee ja tulostaa kunkin annetun sanan lukumäärän annetussa tiedostossa.

    Ohjelman on varauduttava virheisiin ja käsiteltävä poikkeukset. Virheilmoitusten pitää olla havainnollisia.

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

    Vihjeitä:

                                                                                 (12 pistettä)
    
    
    
    

Onnea kokeeseen & hauskaa joulua!