Helsingin yliopisto / Tietojenkäsittelytieteen laitos / 581325 Ohjelmoinnin perusteet
Copyright © 2009 Arto Wikla. Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, kuten kaupallisilla tai muilla kursseilla, on kielletty.

2. harjoitukset 14.-18.9.2009

Aiheita: aritmeettisia lausekkeita, kirjoittamista, lukemista, loogisia lausekkeita, if-lause

  1. Mitä arvoja muuttujat saavat seuraavia lauseita suoritettaessa? Perustele. (Tätä tehtävää ei tarvitse tehdä koneella, tarkistaa toki saa...)
      int i = 2, j, k = 1;
      double p, r = 5.6;
      String m, n = "Pluto", o;
      j = i + 10*(k+i);
      k = j/3;
      p = j/3;
      i = k*i/2;
      p = p/r/2;
      i++; ++i;
      --j; j--;
      p++; ++p;
      k += 10;
      r -= 1000;
      m = n + 10 + 101;
      o = 20 + 100 + n;
      m = n + (20+100);
      o = (11+108) + n;
      m = n + (30-120);
      o = (100-40) + n; 
    
  2. Kirjoita yksi tulostuslause, jotka tulostaa:
     *****************************************************
     *  Mieleni minun tekevi, aivoni \\\ ajattelevi ///  *
     *  lähteäni "laulamahan", saa'ani 'sanelemahan',    *
     *  sukuvirttä suoltamahan, lajivirttä laulamahan.   *
     *****************************************************
    

  3. Laadi vuorovaikutteinen eli keskusteleva ohjelma onnenlukujen laskentaan. Onnenluku on jakojäännös, joka saadaan, kun pituuden (sentteinä) ja kengännumeron summa jaetaan luvulla 7. Ohjelma kysyy myös käyttäjän nimen ja tulostaa sen onnenluvun ilmoittavaan raporttiinsa.

    Käytä kuvaavia muuttujan nimiä ja ohjelmoi keskustelu selkeäksi. Kommentoi ohjelma ja kiinnitä muutenkin huomiota ohjelman selkeään ulkoasuun. Miksi ohjelman ulkoasun on tärkeää olla selkeä? Kenelle se on tärkeää? Miksi ohjelman tulostuksen on tärkeää olla selkeää ja helposti ymmärrettävää? Kenelle tämä on tärkeää?

  4. Olkoon:
       int a, b, c;
       double p, q, r;
    
    Kirjoita looginen lauseke seuraaviin tapauksiin:

    1. a on pariton
    2. b on nollaa pienempi, mutta suurempi kuin -450
    3. b on suurempi kuin a, mutta pienempi kuin c
    4. -50 < p < 100
    5. joko a on 7 ja b on positiivinen tai q on suurempi kuin p:n ja r:n osamäärä
    6. r < -1.7 tai r > 20.1, c:n ja a:n summa on pariton ja b ei ole 59
    7. joko p on positiivinen tai q on positiivinen, mutta molemmat eivät ole positiivisia

  5. Kirjoita if-lauseita käyttäen ohjelma, joka lukee kolme lukua ja tulostaa ne suuruusjärjestyksessä. Ohjelmoi tehtävä kahdella erilaisella tavalla: siten että muuttujien arvoja vaihdetaan ja siten että niitä ei vaihdeta? Miten neljä lukua saataisiin tulostettua suuruusjärjestyksessä?


Takaisin harjoitussivulle.