Tenttiarkisto: TKOPP1 - Lausekielinen ohjelmointi

 

13.12.2007

1. Vastaa seuraaviin Java-kieltä koskeviin kysymyksiin ja väittämiin valitsemalla oikea vaihtoehto, joita on jokaisessa kohdassa vain yksi kappale. Jokaisesta oikeasta vastauksesta saa 1 pistettä ja jokaisesta väärästä vastauksesta -1 pistettä. Jokaisesta vastaamatta jääneestä kohdasta saa 0 pistettä. Tehtävän minimipistemäärä on 0.

a) Suoritetaan lause System.out.println(true && !false);. Näytölle tulostui
(1) true (2) false

b) Mikä alla olevista lauseista esittelee vakion hyvän ohjelmointitavan mukaisesti?
(1) final int max = 10; (2) int max = 10;
(3) final int MAX = 10; (4) int MAX = 10;

c) Suoritetaan lauseet long a = 1; int b = 1; Onko nyt lausekkeen 1.0 * a * b; tuloksen tietotyyppi
(1) int (2) long (3) float (4) double

d) Suoritetaan lause System.out.println(8 * (7 - 3) % 9);. Näytölle tulostui
(1) 4 (2) 5 (3) 6 (3) 7

e) Kun alla oleva koodinpätkä suoritetaan, näytölle tulostuu
int a = 10; if(a < 12) if(a>17) a = a + 2; a = a + 1; System.out.println(a);
(1) 10 (2) 11 (3) 12 (4) 13

f) Kun alla oleva koodinpätkä suoritetaan, näytölle tulostuu

int i = 0;
while (++i < 5)
System.out.print(i + " ");

(1) ei mitään (2) 0 1 2 3 4 (3) 1 2 3 4 (4) 1 2 3 4 5

2. Yliopistotasoisten opintosuoritusten arvosteluasteikko on: 1 (välttävä), 2 (tyydyttävä), 3 (hyvä), 4 (kiitettävä) ja 5 (erinomainen). Kirjoita Java-ohjelma, joka tulostaa näytölle numeroa vastaavan suorituksen luonnehdinnan. Esimerkiksi arvosanaa 3 voitaisiin luonnehtia tekstillä "Arvosana 3 on hyvä.". Arvosanaa ei tarvitse lukea käyttäjältä vaan sen voi sijoittaa suoraan esimerkiksi int-tyyppiseen muuttujaan. Muista huomioida virheelliset arvot, joita ovat yhtä pienemmät sekä viittä suuremmat arvosanat.

3. Kirjoita java ohjelma, joka lukee sanan merkki kerrallaan ja tulostaa lukemansa sanan käännettynä. Ennen merkkien lukemista luetaan merkkien lukumäärä (>0). Lukumäärää kysellään kunnes syöte on oikein. Jos ohjelmalle syötetään esimerkiksi aluksi virheellinen syöte ja sitten sana "laki", niin ohjelma toimii seuraavasti:

Hei! Käännän sanan.
Anna merkkien lukumäärä (>0):
0
Virhe!
Anna merkkien lukumäärä (>0):
4
Anna 1. merkki:
l
Anna 2. merkki:
a
Anna 3. merkki:
k
Anna 4. merkki:
i
Käännetty sana on ikal.

4. Tee Javalla metodi, joka laskee yksiulotteisen taulukon alkioiden arvojen vaihteluvälin. Vaihteluväli on taulukon suurimman ja pienimmän arvon erotus. Taulukko koostuu int-tyyppisistä alkioista, joiden oletetaan olevan positiivisia (>=0). Taulukko on metodin ainoa parametri ja metodi palauttaa vaihteluvälin paluuarvona. Metodissa tulee huomioida se, että taulukolle ei ole varattu muistia: paluuarvo on -1, mikäli metodille annetaan null-arvoinen taulukkoparametri. (Taulukon arvojen positiivisuutta ei tarvitse tarkistaa.) Esittele main-metodissa 5 alkion kokoinen taulukko ja alusta se luvuilla. Kutsu metodiasi main-metodista siten, että annat taulukon parametrina. Tulosta paluuarvo main-metodissa näytölle. Jos taulukossa olisi esimerkiksi luvut 2, 7, 5, 3 ja 1, niin taulukon pienin arvo on 1, suurin arvo 7 ja vaihteluväli on 7 - 1 = 6. Tällöin ohjelma voisi tulostaa vaikkapa tekstin "Vaihteluväli on 6.".

Liite: Esimerkkiohjelma

class OhjelmaEsimerkki {

  public static void main(String[] args) {
    System.out.println("Anna luku: ");
    int luku = In.readInt();
    System.out.print("Luku " + luku + " on ");
    if (luku < 0)
      System.out.println("negatiivinen");
    else
      System.out.println("positiivinen");
  }
}

Uudet käyttäjät

  • ApinaSalaatti
  • ailin
  • Wiljam
  • Orbitum
  • Lari

Paikalla olevia

0 käyttäjää ja 3 vierasta.