Helsingin yliopisto / Tietojenkäsittelytieteen laitos / 581325-0 Ohjelmoinnin perusteet
Copyright © 2006 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 11.-15.9.2006

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

  1. Mitä arvoja muuttujat saavat seuraavia lauseita suoritettaessa? Perustele.
      int i = 2, j, k = -3;
      double p, r = 5.6;
      String m, n = " hip hei", 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 + 20 + 101;
      o = 20 + 100 + n;
      m = n + (20+100);
      o = (11+100) + n;
      m = n + (10-120);
      o = (100-20) + n; 
    
  2. Kirjoita yksi tulostuslause, jotka tulostaa:
            "Hard, rock /// hallelujah \\\
             / Hard, rock, hallelujah..."
            screams one "monster".
    

  3. Laadi vuorovaikutteinen eli keskusteleva ohjelma onnenlukujen laskentaan. Onnenluku on jakojäännös, joka saadaan, kun pituuden, painon ja kengännumeron tulo jaetaan luvulla 49. Aluksi ohjelma kysyy käyttäjän nimen ja tulostaa sen onnenluvun selvittävään 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 suurempi, mutta pienempi kuin 100
    3. b on suurempi kuin c, mutta pienempi kuin a
    4. -23.7 < p < -4.14
    5. joko a on 7 ja b on negatiivinen tai q on suurempi kuin r:n ja p:n erotus
    6. r < -7.1 tai r > 3.1, c:n ja a:n summa on parillinen ja b ei ole 666
    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.