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

581325-0 Ohjelmoinnin perusteet, kurssikoe 14.11.2003/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:
                                                               (10 pistettä)
    

  2. Eräs viljavarastotyyppi muodostuu kahdesta viljasiilosta. Vain ensimmäinen siilo on varustettu lastauslaittein. Viljaa voidaan siirtää siilosta toiseen. Laadi luokka Viljavarasto viljavaraston toteutukseksi.

    (Konstruktori ja aksessorit tulkitsevat negatiiviset parametrien arvot nollaksi)

    Viljavaraston siiloja ei siis toteuteta PikkuVarasto-olioina!

                                                               (14 pistettä)
    

  3. "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!
                                                               (12 pistettä)
    

  4. Toteuta seuraava arvauspeli vuorovaikutteisena ohjelmana: Ennen pelin alkua pelinjohtaja syöttää ohjelmalle 100 eri kokonaislukua. satunnaisessa järjestyksessä. Tämän jälkeen pelaaja alkaa käyttää ohjelmaa. Pelaaja yrittää arvata pelinjohtajan koneeseen syöttämiä lukuja. Peli päättyy, kun pelaaja on onnistunut arvaamaan kolme eri lukua. Pelin tulos on tarvittujen arvausten määrä, siis vähintään kolme. Lopuksi ohjelma tulostaa tuloksen.

    Saat olettaa, että pelinjohtaja todella syöttää 100 eri lukua. Arvattavien lukujen hakeminen on tehokkuussyistä ohjelmoitava binäärihakua käyttäen.

                                                               (14 pistettä)