581325-0 Ohjelmoinnin perusteet, koe 6.6.2003/AW (Avoin yliopisto)

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi. Jokainen vastaus omalle arkilleen!
  1. Laadi vuorovaikutteinen eli keskusteleva ohjelma kolmioiden pinta-alan laskentaan. Pinta-ala lasketaan kaavalla: ala = kanta*korkeus/2. Ohjelma pyytää tiedot käyttäjältä ja tarkistaa tietojen järkevyyden. Ohjelmalla pitää voida yhdellä suorituskerralla laskea useiden kolmioiden pinta-ala.
                                                               (12 pistettä)
    
  2. "Mitä ihmettä nuo parametrit 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. Myös metodien kutsumisen idean hän on ymmärtänyt, mutta parametrit ovat jääneet vieraiksi. "Mihin niitä voi käyttää ja miten ne toimivat", huokaa hän hyvin 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!
                                                                (14 pistettä)
    
  3. Maitoautossa on kaksi tankkia. Vain ensimmäinen tankki on varustettu lastauslaittein. Maitoa voidaan siirtää tankista toiseen. Laadi luokka Maitoauto maitoauton toteutukseksi.

                                                               (12 pistettä)
    

  4. Toteuta seuraava palvelu vuorovaikutteisena ohjelmana: Aamuisin ohjelmalle syötetään ensin korkeintaan tuhat kokonaislukua missä järjestyksessä milloinkin. Lukuja voi siis olla vähemmänkin. Päivän mittaan sitten usein kysellään onko jokin luku aamulla syötettyjen lukujen joukossa. Illalla ohjelma suljetaan. Tehokkuussyistä lukujen hakeminen on välttämättä ohjelmoitava binäärihakua käyttäen.
                                                               (12 pistettä)
    
Aurinkoista ja lämmintä kesää!