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

581325-0 Ohjelmoinnin perusteet, kurssikoe 12.11.2001/AW

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

  1. Selitä siis lyhyesti ja täsmällisesti seuraavat käsitteet: lauseke, lause, konstruktori, aksessori, indeksi.

  2. Laivalla on suunta 0...359 astetta ja nopeus -5.0...30.0 solmua. Negatiivinen nopeus tarkoittaa peruuttamista. Suunnittele laivan toteutukseksi luokka Laiva jota käytetään välinein:

    Luokan Laiva tietorakenteet piilotetaan luokan käyttäjältä.

  3. Laadi edellisen tehtävän luokkaa käyttäen sovellus Laivuri, jolla voi "ohjata laivaa". Laivaa ohjataan näppäimistöltä seuraavasti:

    Ohjelma tulostaa joka operaation jälkeen laivan tilan.

  4. "Mitä ihmettä nuo metodit oikein ovat?", parahtaa ystäväsi kuunnellessaan tarinoitasi Ohjelmoinnin perusteet -kurssilta. Ystäväsi on ohjelmoinut sen verran, että hän tuntee yksinkertaiset muuttujat, lausekkeet ja lauseet. "Mitä peijakkaan 'parametreja', kuka 'kutsuu' ja ketä, miksi?, hän jatkaa toivottomana. Auta ystävääsi ymmärtämään, mistä oikein on kysymys. Laadi siis asiasta kirjallinen selitys (enimmäispituus 1 konseptiarkki). Muista että esimerkit auttavat oppimisessa. Vastauksen arvioinnissa otetaan huomioon selostuksen ajateltu lukija. Älä siis kirjoita tarkastajalle, joka jo tuntee asian, kirjoita tuolle ystävälle!

  5. 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.