Johdatus ohjelmointiin: koe 21.6.1999/Avoin yliopisto/AW

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi. Jokainen tehtävä on 12 pisteen arvoinen.
  1. Selitä lyhyesti ja täsmällisesti:
         luokan lataaminen
         olion luonti
         metodin kuormittaminen (overloading)
         metodin korvaaminen (overriding)
         pakkaus (package)
         poikkeus (exception)
    

  2. Ohjelmoinnissa monenlaisille asioille annetaan nimiä: muuttujilla, parametreilla metodeilla, luokilla, ..., on nimi. Tällaisia nimiä kutsutaan usein tunnuksiksi. Eräs Johdatus ohjelmointiin -kurssia käyvä ystäväsi ei ole ihan täydellisesti ymmärtänyt, mitä tarkoitetaan tunnusten ns. näkyvyydellä (scope), eikä edes sitä, miksi tuon asian ymmärtäminen voisi olla tärkeää. Auta ystävääsi ja laadi hänelle asiasta kirjallinen selitys. Muista että esimerkit auttavat oppimisessa. Vastauksen arvioinnissa otetaan huomioon selostuksen ajateltu lukija. Älä siis kirjoita tarkastajalle, joka jo osaa asian, kirjoita tuolle ystävälle!

  3. Käytössäsi on tekstitiedostojen lukemiseen luokka Syottotiedosto. Luokalla on konstruktori Syottotiedosto(String nimi). Parametrina konstruktorille annetaan tiedoston nimi.

    Luokassa on metodit:

     public String lueRivi()
    
         Palauttaa arvonaan syöttötiedoston seuraavan rivin. Jos 
         kunnollisen tiedoston luonti epäonnistui ja metodia silti
         kutsutaan, metodi palauttaa arvon null.
    
     public boolean onLoppu()
    
         Palauttaa arvon true, jos tiedosto on jo luettu loppuun.
    
     public boolean onKunnossa()
    
         Palauttaa arvon true, jos konstruktori onnistui luomaan 
         kunnollisen tiedoston.
    
    
    Luokka Syottotiedosto pitää itse huolen poikkeuksista, luokan käyttäjän ei siis tarvitse niihin varautua.

    Laadi luokkaa Syottotiedosto käyttäen vuorovaikutteinen ohjelma OvatkoSamat. Ohjelma pyytää vertailtavien tiedostojen nimet ja tulostaa ruudulle ilmoituksen, ovatko tiedostot täsmälleen samanlaiset vai eroavatko ne toisistaan. Jos tiedostot ovat erilaiset, ohjelma tulostaa myös toisistaan eroavien rivien lukumäärän. Pidemmän tiedoston "ylimääräiset" rivit lasketaan "eroaviksi riveiksi".

    Jos käyttäjä antaa virheellisen tiedostonimen, ohjelma antaa virheilmoituksen ja kysyy uutta.

    Huom: Luokkaa Syottotiedosto ei siis pyydetä ohjelmoimaan!.





Hyvää kesää!