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

581325-0 Ohjelmoinnin perusteet, kurssikoe 13.11.2002/AW

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

  1. Vastaa lyhyesti ja täsmällisesti seuraaviin kysymyksiin:
                                                               (12 pistettä)
    

  2. Lämpötilan maksimin ja minimin rekisteröintiin käytetään laitetta MinMax. Laitteelle syötetään lämpötiloja ja siltä voidaan milloin tahansa kysyä toistaiseksi korkeinta ja toistaiseksi matalinta lämpötilaa. Kun laite otetaan käyttöön, se asettaa molemmiksi lämpötiloiksi 0.0. Laite voidaan myös myöhemmin nollata. Laitteelta voidaan kysyä, onko se alkutilassa vai voiko sen ilmoittamiin lämpötiloihin luottaa.

    Toteuta laite luokkana MinMax, jolla on konstruktorin lisäksi seuraavat aksessorit:

    Huomaa että ensimmäinen rekisteröity lämpötila on sekä "toistaiseksi korkein" että "toistaiseksi matalin".

                                                               (12 pistettä)
    

  3. "Olio, mikä hemmetin olio? Ja mitä ihmeen kapselointia?", 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!
                                                               (12 pistettä)
    

  4. Toteuta seuraava palvelu vuorovaikutteisena ohjelmana: Aamuisin ohjelmalle syötetään merkkijonoja (String-arvoja) missä järjestyksessä milloinkin. Merkkijonojen loppuminen ilmaistaan syöttämällä loppumerkiksi "loppu". Merkkijonoja ei ole koskaan tuhatta enempää. Päivän mittaan usein kysellään oliko jokin merkkijono (String-arvo) aamulla syötettyjen merkkijonojen joukossa. Illalla ohjelma suljetaan syöttämällä loppumerkiksi merkkijono "yötä". Tehokkuussyistä merkkijonojen hakeminen on ohjelmoitava binäärihaulla.
                                                               (14 pistettä)