Tehtävät viikolle 1

Tehtävät tehdään "ohjelmointipajassa" eli ohjatusti harjoitussaleissa.

Pakolliset tehtävät on merkitty harmalla taustavärillä.

Tehtävät tehdään NetBeans-ohjelmointiympäristössä. Ohje alkuunpääsemiseksi täältä. Ennen kuin tiedät mitä teet, toimi täsmälleen ohjeen kuvaamalla tavalla. Jos juutut johonkin ongelmaan pyydä välittömästi apua pajaohjaajalta.

Ohjeessa luodaan ns. projekti johon ohjelma tehdään. Yleensä jokaista ohjelmaa varten on oma projektinsa. Tee aluksi aluksi muutamalle ensimmäiselle tehtävälle oma projekti, jotta opit rutinoidusti luomaan projekteja. Sen jälkeen voit nyt aluksi tehdä muutamia yksinkertaisia tehtäviä samaan projektiin. Jos et tiedä miten tämä tapahtuum kysy pajaohjaajalta.

Tehtävien tarkastamisen ja myöhemmin löytymisen mahdollistamiseksi suosittelemme kahta asiaa:

Useimmat seuraavista tehtävänannoista näyttävät mitä pyydetyn tehtävän tulisi tulostaa ruudulle toimiakseen oikein. Pyydä välittömästi apua pajaohjaajalta tai vaikkapa vieressä istuvalta jos tehtävänanto on epäselvä. Tehtävänannon epäselvyys on aina opettajien vika.

Tulostus

Seuraavissa tehtävissä harjoitellaan tuntuman saamista NetBeansiin, projektin luomista ja ruudulle tulostamista.

Muista lukea ensin NetBeans-aloittelijan ohje!

Nimi

Tee ohjelma, joka tulostaa nimesi.

Ohjelman tulostus voi olla seuraava:

Oskari Opiskelija

Hei Maailma! (Ja Mualima!)

Tee ohjelma, jonka tulostus on seuraava:

Hei Maailma!
(Ja Mualima!)

Ohpe

Tee ohjelma, jonka tulostus on seuraava:

####  #  #  ####  ####
#  #  #  #  #  #  #
#  #  ####  ####  ###
#  #  #  #  #     #
####  #  #  #     ####

Kuusi

Tee ohjelma, jonka tulostus on seuraava:

    *
   ***
  *****
 *******
*********
    *

HUOM: kirjoitit todennäköisesti aika monta kertaa System.out.println("..."). Kokeile kirjoittaa NetBeans:iin (main:in sisään) tyhjälle riville sout ja paina tabulaatoria (näppäin q:n vasemmalla puolella). Mitä tapahtuu? Tämä pieni apuväline säästänee jatkossa runsaasti aikaasi.

Muistithan kirjoittaa tehtävien alkuun oman nimesi ja tehtävänumeron tyyliin:

  // Olli Opiskelija Viikko 1 Tehtava 1.1

Täällä ohje miten saat lähes automatisoitua alkukommentin tekoprosessin. Toimi ohjeen mukaan nyt.

Muuttujia

Tarina

Tee ohjelma, joka tulostaa tarinan. Henkilön nimi tallennetaan muuttujaan, joten jos nimeä halutaan muuttaa, riittää antaa muuttujalle toinen arvo ja uusi nimi ilmestyy kaikkiin kohtiin tarinassa.

Voit halutessasi keksiä paremman tarinan.

Jos muuttujassa lukee "Matti", ohjelma voisi tulostaa seuraavaa:

Syrjäisessä laaksossa asui nuorukainen Matti,
joka oli ammatiltaan lammaspaimen.
Matti oli vasta herännyt,
kun pihaan ratsasti tumma-asuinen ritari.
Pian Matti saisi kuulla, että hänet oli
valittu tärkeään tehtävään...

Jos muuttujassa lukee "Arto", ohjelma voisi tulostaa seuraavaa:

Syrjäisessä laaksossa asui nuorukainen Arto,
joka oli ammatiltaan lammaspaimen.
Arto oli vasta herännyt,
kun pihaan ratsasti tumma-asuinen ritari.
Pian Arto saisi kuulla, että hänet oli
valittu tärkeään tehtävään...

Laskentaa

Yhteenlasku

Tee ohjelma, jonka avulla voidaan laskea kahden luvun summa. Ohjelman alussa määritellään kaksi muuttujaa, jotka sisältävät summattavat luvut. Voit tarvittaessa käyttää myös muita muuttujia.

Esimerkiksi jos muuttujissa on luvut 5 ja 4, ohjelman tulostus on seuraava:

5 + 4 = 9

Jos taas muuttujissa on luvut 73457 ja 12888, ohjelman tulostus on seuraava:

73457 + 12888 = 86345

Kertolasku

Tee edellistä ohjelmaa vastaava ohjelma, joka laskee kertolaskun.

Esimerkiksi jos muuttujissa on luvut 2 ja 8, ohjelman tulostus on seuraava:

2 * 8 = 16

Jos taas muuttujissa on luvut 277 ja 111, ohjelman tulostus on seuraava:

277 * 111 = 30747

Kuinka suuren kertolaskun ohjelmasi pystyy laskemaan?

Sekunnit vuodessa

Tee ohjelma, joka laskee, kuinka monta sekuntia on vuodessa. Voit olettaa, että vuodessa on 365 päivää (eli ei ole karkausvuosi).

Ohjelman tulostus on seuraava:

Vuodessa on X sekuntia.

X:n kohdalle tulee ohjelmasi laskema tulos.

Syötteen lukemista ja lisää laskentoa

Summaaja

Tee ohjelma, joka kysyy käyttäjältä kaksi lukua ja tulostaa niiden summan.

Anna ensimmäinen luku: 6
Anna toinen luku: 2

Lukujen summa: 8

Esimerkissä punainen väri tarkoittaa käyttäjän kirjoittamaa tekstiä. Tätä käytäntöä noudatetaan jatkossa esimerkeissä.

Jakaja

Tee ohjelma, joka kysyy käyttäjältä kaksi lukua ja tulostaa niiden osamäärän. Varmista, että 3 / 2 = 1.5. Jos desimaaliosa katoaa, lue monisteen kohdasta Liukuluvut eli desimaaliluvut missä vika on.

Anna ensimmäinen luku: 3
Anna toinen luku: 2

Jakolasku: 3 / 2 = 1.5

Ympyrän kehän pituus

Ympyrän kehän pituus lasketaan kaavalla säde on 2 * pii * säde. Tee ohjelma, joka kysyy käyttäjältä ympyrän säteen ja laskee sen perusteella ympyrän kehän pituuden. Javasta löytyy valmis piin arvo, saat sen kirjoittamalla Math.PI laskutoimitukseen.

Anna ympyrän säde: 20

Ympyrän kehä: 125.66370614359172

Suurempi luku

Kun kirjoitat NetBeans:iin Math. (eli Math ja perään piste), näet erinäisiä Javan valmiita matemaattisia laskutoimituksia, esim. Math.cos(10) laskee luvun 10 kosinin. Kokeile, löydätkö Math:sta sopivan työkalun seuraavan ohjelman tekemiseen. Jos et löydä tai osaa tehdä tätä kohtaa, siirry heti eteenpäin. Tutustumme asiaan tarkemmin myöhemmässä vaiheessa.

Anna luku: 20
Anna toinen luku: 14

Luvuista suurempi: 20

Ikien summa

Tee ohjelma, joka kysyy kahden käyttäjän nimet ja iät. Tämän jälkeen ohjelma tulostaa henkilöiden ikien summan.

Kerro nimi: Matti
Kerro ikä: 14

Kerro nimi: Arto
Kerro ikä: 12

Matti ja Arto ovat yhteensä 26 vuotta vanhoja.

Lukujen keskiarvo

Tee ohjelma, joka kysyy käyttäjältä kolme lukua ja tulostaa niiden keskiarvon.

Anna kolme lukua:
5
2
3

Lukujen 5, 2 ja 3 keskiarvo on 3.3333333333333335

Liukulukujen kanssa tapahtuu usein pyöristysvirheitä, niin myös tässä esimerkissä. Lukujen keskiarvo on 3,333333..., mutta ohjelmassa loppuun ilmestyy numero 5.

Valintaa

Positiivinen luku

Tee ohjelma, joka kysyy käyttäjältä luvun ja kertoo, onko se positiivinen (eli suurempi kuin nolla).

Anna luku: 5

Luku on positiivinen.
Anna luku: -2

Luku ei ole positiivinen.

Onhan koodisi varmasti sisennetty oikein?

Kertaa materiaalista kohta Koodin sisennys. Kokeile mitä tapahtuu NetBeansissa kun painat yhtä aikaa shift, alt ja f! Sama toiminnallisuus eli automaattinen sisennys saadaan aikaan valitsemalla yläpalkista Source ja sen alta Format.

Täysi-ikäisyys

Tee ohjelma, joka kysyy käyttäjän ikää ja kertoo, onko tämä täysi-ikäinen (eli 18-vuotias tai vanhempi).

Kuinka vanha olet? 12

Et ole vielä täysi-ikäinen!
Kuinka vanha olet? 32

Olet jo täysi-ikäinen!

Pariton vai parillinen?

Tee ohjelma, joka kysyy käyttäjältä luvun ja ilmoittaa, onko se parillinen vai pariton.

Anna luku: 2
Luku 2 on parillinen
Anna luku: 7
Luku 7 on pariton

Vihje: Luvun jakojäännös 2:lla kertoo, onko luku parillinen vai pariton. Jakojäännos taas saadaan %-operaattorilla

Lisää valintaa

Suurempi luku

Tee ohjelma, joka kysyy käyttäjältä kaksi lukua ja tulostaa niistä suuremman. Jos luvut ovat yhtä suuret, ohjelma huomaa myös tämän.

Esimerkkitulostuksia:

Anna ensimmäinen luku: 5
Anna toinen luku: 3

Suurempi luku: 5
Anna ensimmäinen luku: 5
Anna toinen luku: 8

Suurempi luku: 8
Anna ensimmäinen luku: 5
Anna toinen luku: 5

Luvut ovat yhtä suuret!

Arvosanat ja pisteet

Tee ohjelma, joka ilmoittaa kurssiarvosanan seuraavan taulukon mukaisesti.

pistemääräarvosana
0–29hylätty
30–341
35–392
40–443
45–494
50–605

Esimerkkitulostuksia:

Anna pisteet [0-60]: 37

Arvosana: 2
Anna pisteet [0-60]: 51

Arvosana: 5

Salasana

Tee ohjelma, joka kysyy käyttäjältä salasanan. Jos salasana on oikea, ohjelma tulostaa salaisen tiedon.

Valitse itse sopiva salasana ja salainen tieto.

Anna salasana: kissa
Salasana on väärin!
Anna salasana: tappara
Salasana on väärin! 
Anna salasana: ohpe
Salasana on oikein!
Salainen tieto: ...

Muista, mitä erityistä liittyy merkkijonojen vertailuun!

Luvut suuruusjärjestyksessä

Tee ohjelma, joka kysyy käyttäjältä kolme lukua ja tulostaa ne suuruusjärjestyksessä.

Anna ensimmäinen luku: 8
Anna toinen luku: 1
Anna kolmas luku: 3

Luvut suuruusjärjestyksessä: 1, 3 ja 8

Toimiihan ohjelmasi myös, jos käyttäjä antaa monta kertaa saman luvun?

Loogiset operaatiot

Iän tarkistus

Tee ohjelma, joka kysyy käyttäjän iän ja tarkistaa, että se on mahdollinen (ainakin 0 ja korkeintaan 120).

Kuinka vanha olet? 10
OK
Kuinka vanha olet? 55
OK
Kuinka vanha olet? -3
Mahdotonta!
Kuinka vanha olet? 150
Mahdotonta!

Käyttäjätunnukset

Tee ohjelma, joka tunnistaa seuraavat käyttäjät:

tunnussalasana
aleksitappara
elinakissa

Ohjelma näyttää käyttäjälle henkilökohtaisen viestin tai ilmoittaa, jos tunnus tai salasana on väärin.

Anna tunnus: aleksi
Anna salasana: tappara
Tappara on terästä!
Anna tunnus: elina
Anna salasana: kissa
Miau miau!
Anna tunnus: aleksi
Anna salasana: jokerit
Virheellinen tunnus tai salasana!

Karkausvuosi

Vuosi on karkausvuosi, jos se on jaollinen 4:llä. Kuitenkin jos vuosi on jaollinen 100:lla, se on karkausvuosi vain silloin, kun se on jaollinen myös 400:lla.

Tee ohjelma, joka tarkistaa, onko vuosi karkausvuosi.

Anna vuosi: 2011
Vuosi ei ole karkausvuosi.
Anna vuosi: 2012
Vuosi on karkausvuosi.