Stadia , Ohjelmointi 1 java, KL 22.5.08 1. Ohjelmassa on määritelty seuraavat neljä muuttujaa: int a=5, b=-7; String e; int[]d ={5, -7, 0, 4, 580, -16}; Ovatko seuraavat lauseet oikein kirjoitettuja? a) b=a; b c=a; c d[0]=a; d) Mitä metodin kutsuja seuraavassa lause sisältää? System.out.print(sqrt(1.44)); e) Mitä operaatioita seuraavassa lause sisältää? a=a*b+6; Mikä on muuttujan arvo d seuraavien lauseiden suorituksen jälkeen? f) d[3]*=3; (6 pistettä) 2. Kirjoita java-kielinen ohjelma, joka kysyy käyttäjältä kuinka paljon hän käytti aikaa kokeeseen valmistautumiseen ja mitä arvosanaa (0,1,2,3,4,5) hän tavoittelee. Jos aika on pienempi kuin tunti, ilmoittaa ohjelma, että eipä kannata odottaa hyvää arvosanaa. Jos tavoiteltu arvosana on 4 tai 5 ja käytetty aika vähemmän kuin 4h 30 min, ohjelma herjaa käyttäjää suurista luuloista. Muussa tapauksessa ohjelma kertoo, että opiskelijalla on todellisuudentajua. Ohjelmassa on vain main-metodi. Ohjelmassa ei saa olla mitään ylimääräistä, ei tarpeettomia muuttujia eikä tarpeettomia lauseita tai ehtoja. (rakenteet 4p, input-output 2p = yhteensä 6 pistettä) 3. USA:ssa autojen bensiininkulutus ilmoitetaan eri yksikössä kuin meillä. Kirjoita ohjelma, joka muuttaa kulutuksen Suomessa käytettävään yksikköön. Ohjelma sisältää metodin suomeen, joka saa parametrikseen auton kulutuksen USA:n yksikössä miles/gallon. Se kysytään käyttäjältä. Metodi suomeen palauttaa kulutuksen yksikkönä litraa/100 km. Pääohjelma (main) tulostaa kulutuksen. Määrittele ohjelmaasi sisäiset vakiot: 1 maili = 1,609 km ja 1 gallona = 3,785 litraa. Metodit ja tiedonvälitys pitää olla tässä kerrotulla tavalla, ei riitä että ohjelma suorittaa annetun tehtävän. (tiedonvälitys 4p, muu 2p = yhteensä 6 pistettä) 4. Tee ohjelma, jossa arvotetaan ja tulostetaan viiden kokonaisluvun muodostamaa taulukkoa. Taulukko annetaan metodeille parametriksi. Ohjelmassa on main-metodin(pääohjelman) lisäksi seuraavat metodit: tulosta, tayta ja lisaa. Tulosta-metodi tulostaa taulukon alkiot yhdelle riville välilyönnein erotettuna, muut metodit eivät tulosta mitään. Tayta-metodi täyttää taulukon käyttäjän antamilla luvuilla. Lisaa-metodi lisää ensimmäiseen alkioon luvun 1, toiseen luvun 2 jne. Pääohjelma kutsuu metodeja tayta ja lisaa tässä järjestyksessä. Pääohjelma kutsuu lisäksi tulosta-metodia kummankin muun metodin kutsun jälkeen. Kuva ajosta: C:\Borland\JBuilder2006\jdk1.5\b Anna 1. luku -4 Anna 2. luku 0 Anna 3. luku 4 Anna 4. luku 8 Anna 5. luku 12 -4.0 0.0 4.0 8.0 12.0 -3.0 2.0 7.0 12.0 17.0 5. Kirjoita ohjelma, joka muuttaa henkilöiden nimien järjestystä niin, että sukunimi siirretään alkuun pilkulla erotetuksi. Katso tulostetta alla. Nimet ovat: Aku Anselmi Eetu Ankka Hessu Vilperi Hopo Hannes Hanhi Muunnoksen jälkeen ne ovat: Ankka, Aku Anselmi Eetu Hopo, Hessu Vilperi Hanhi, Hannes Ohjelman voi tehdä kokonaan main-metodiin, mutta voi tehdä myös muita metodeja. (6 pistettä)