Helsingin yliopisto / Tietojenkäsittelytieteen laitos / Ohjelmoinnin perusteet / Copyright © 1999 Arto Wikla.

581325-0 Ohjelmoinnin perusteet, koe 8.11.1999/AW

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi. Jokainen tehtävä on 15 pisteen arvoinen. Jokainen vastaus omalle arkilleen!

  1. Kahviautomaatti on laite, joka valmistaa kahvia kahvinpuruista ja vedestä. Mallinna laite luokkana Kahviautomaatti, joka tarjoaa seuraavat välineet:

    • public Kahviautomaatti(String laatu)
      luo Kahviautomaatti-olion. Vesisäiliö on tyhjä, kahvinpurusäiliön sisältö on nolla yksikköä.
    • public double paljonkoVettä()
      palauttaa arvonaan veden määrän
    • public int paljonkoPuruja()
      palauttaa arvonaan kahvinpurujen määrän
    • public String mikäLaatu()
      palauttaa arvonaan kahvin laadun.
    • public void lisääVettä(double määrä)
      täyttää vesisäiliötä annetulla määrällä (litroja).
    • public void lisääPuruja(int määrä)
      täyttää kahvinpurusäiliötä annetulla määrällä (yhden kahvikupillisen valmistamiseen tarvitaan yksi yksikkö kahvinpuruja).
    • public boolean valmistaAnnos()
      "valmistaa yhden annoksen kahvia", vesimäärä vähenee 0.02 litraa, kahvinpuruja kuluu yksi yksikkö. Metodi palauttaa arvon true, jos kahvia oli mahdollista valmistaa.
    • public String toString()

  2. "Olio, mikä hemmetin olio?", kysyy ystäväsi kuunnellessaan tarinoitasi Ohjelmoinnin perusteet -kurssilta. Ystäväsi on ohjelmoinut sen verran, että hän tuntee yksinkertaiset muuttujat, lausekkeet ja lauseet, mutta olio-ohjelmoinnista hän ei tiedä yhtään mitään. Auta ystävääsi ymmärtämään, mitä oliot ovat, miten niitä ohjelmoidaan ja käytetään, mitä hyötyä ja iloa niistä voi olla. Laadi siis asiasta kirjallinen selitys (maks. pituus 1 arkki). Muista että esimerkit auttavat oppimisessa. Vastauksen arvioinnissa otetaan huomioon selostuksen ajateltu lukija. Älä siis kirjoita tarkastajalle, joka jo osaa oliot, kirjoita tuolle ystävälle!

  3. Hienossa kahvilassa tarjoillaan ranskalaista ja italialaista kahvia. Kahvit valmistetaan tehtävässä 1 kuvailluilla Kahviautomaatti-olioilla. Ohjelmoi sovellus, jolla henkilökunta voi hoitaa kahvinvalmistusta ja tarjoilua.

    Toteuta ohjelman käyttöliittymä "komentotulkkina" seuraavasti:

         komento
            1        täydennetään ranskalaisen kahvin vesisäiliötä
            2        täydennetään ranskalaisen kahvin kahvinpurusäiliötä
            3        valmistetaan annos ranskalaista kahvia
            4        täydennetään italialaisen kahvin vesisäiliötä
            5        täydennetään italialaisen kahvin kahvinpurusäiliötä
            6        valmistetetaan annos italialaista kahvia
            7        suljetaan kahvila
    

    Huom: Tämän tehtävän voi toki tehdä vaikka ei Kahviautomaatti-luokkaa ohjelmoisikaan!

  4. Ohjelmoi jonkin pääohjelman avuksi metodit