581325-0 Ohjelmoinnin perusteet, koe 12.6.2010 / Arto Wikla (Avoin yliopisto)

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi.


  1. Selitä lyhyesti ja selkeästi käsitteet parametri, konstruktori, aksessori, kapselointi.
                                                                                    (16 pistettä)
    
    

  2. Oliiviöljyasemalla on kaksi öljysäiliötä. Vain pääsäiliöön voidaan suoraan lisätä öljyä ja vain pääsäiliöstä asiakas voi tankata öljyä. Toinen säiliö on varastosäiliö, jota käytetään automaattisesti hyväksi, kun ensimmäisen säiliön kapasiteetti ei riitä. Laadi luokka OliiviOljyAsema oliiviöljyaseman toteutukseksi.

    Havainnollista OliiviOljyAsema-luokan käyttöä pienellä pääohjelmalla. Tämän ohjelman ei tarvitse eikä ole syytä lukea mitään.

                                                                                    (17 pistettä)
    
    

  3. Toteuta seuraava arvauspeli vuorovaikutteisena ohjelmana: Ennen pelin alkua pelinjohtaja syöttää ohjelmalle sata kokonaislukua satunnaisessa järjestyksessä. Luvut saavat olla mitä tahansa kokonaislukuja. Sama luku saa esiintyä useammankin kerran.

    Tämän jälkeen pelaaja alkaa käyttää ohjelmaa. Pelaaja yrittää arvata pelinjohtajan koneeseen syöttämiä lukuja. Peli päättyy, kun pelaaja onnistuu arvaamaan jonkin pelinjohtajan syöttämän luvun. Pelin tulos on tarvittujen arvausten määrä, jonka ohjelma lopuksi tulostaa.

    Saat olettaa, että kaikki syötetyt luvut ovat kelvollisia kokonaislukuja.

    Arvattavien lukujen hakeminen on tehokkuussyistä ohjelmoitava binäärihakua käyttäen.

                                                                                    (17 pistettä)
    
    
Aurinkoista ja lämmintä kesää!