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

581325-0 Ohjelmoinnin perusteet, kurssikoe 17.10.2005/AW

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi. Jokainen vastaus (1, 2, 3) kirjoitetaan omalle arkilleen!

  1. Mehuautomaatissa on kaksi säiliötä: vesisäiliö ja mehutiivistesäiliö. Mehua valmistetaan sekoittamalla yksi osa tiivistettä ja yhdeksän osaa vettä.

    Ohjelmoi luokka Mehuautomaatti mehuautomaatin toteutukseksi. (Konstruktori ja aksessorit tulkitsevat negatiiviset parametrien arvot nollaksi. Säiliöitä ei toteuteta PikkuVarasto-oliona!)

    Laadi myös pääohjelma, joka esittelee ja havainnollistaa konstruktorin ja aksessoreiden käyttöä.

                                                               (16 pistettä)
    
  2. "Olio, mikä hemmetin olio? Ja mitä ihmeen kapselointia? Onko 'API-kuvaus' jokin valokuvauksen laji?", kysyy ystäväsi kuunneltuaan tarinoitasi Ohjelmoinnin perusteet -kurssilta. Ystäväsi on ohjelmoinut sen verran, että hän tuntee yksinkertaiset muuttujat, lausekkeet, lauseet, metodit ja parametrit, 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 (maksimipituus on 1 konseptiarkki). Muista että esimerkit ja kuvat auttavat oppimisessa. Vastauksen arvioinnissa otetaan huomioon selostuksen ajateltu lukija. Älä siis kirjoita tarkastajalle, joka jo osaa oliot, kirjoita tuolle ystävälle!
                                                               (18 pistettä)
    
  3. Lotto on numeroveikkaus, jossa arvotaan 7 numeroa ja 3 lisänumeroa kokonaisluvuista 1, 2, ..., 39. Veikkaaja yrittää arvata 7 numeroa. Loton voittoluokat ovat 7 oikein, 6 ja lisänumero oikein, 6 oikein, 5 oikein ja 4 oikein.

    Tee ohjelma joka ensin lukee oikean lottorivin, ja jolta sitten voi kysellä, voittiko jokin lottorivi. Myös voittaneen rivin voittoluokka pitää ilmoittaa. Kyselyitä voi olla useampia. Päätä itse, miten ohjelman toiminta päättyy.

    Saat olettaa, että kaikki syötteet annetaan kelvollisina kokonaislukuina. Syöttölukujen arvot on kuitenkin tarkastettava ja mahdollisista virheistä ilmoitettava. (Saattaa olla hyvä idea ohjelmoida erillinen apumetodi syöttölukujen tarkastamiseen. Ehkäpä voisi harkita jopa metodia, joka lukee kokonaisen lottorivin?)

                                                               (16 pistettä)