Ensimmäisen viikon harjoitukset liittyvät oppimateriaalin lukuihin 1 Algoritmeja: 1-17.
Kaikki harjoitustehtävät on syytä tehdä. Jotkin tehtävät on jatkossa merkitty keltaisella värillä. Ne ovat ehkä hieman muita haastavampia. Ilman niitäkin harjoituksista voi saada maksimipisteet, mutta ne lasketaan silti mukaan harjoituspisteitä määrättäessä – ne voivat siis korvata joitakin haasteettomampia tehtäviä tms. Mutta ennen kaikkea noista keltaisista tehtävistä sitä vasta oppiikin!
Huomautuksia ja ohjeita:
// 1. harjoitukset, tehtävä 1.3, Oili Opiskelija
Tässä harjoitellaan pääasiassa oppimateriaalin kohtaa 1 Algoritmeja: aliluvut 1-4.
Tee ohjelma, joka kirjoittaa nimesi näytölle tyyliin:
Olli Opiskelija
Käytä metodia System.out.println.
Käytä tämän tehtävän toimittamiseen palautusautomaattia! Ohje sivun alussa.
Tee ohjelma, joka kirjoittaa näytölle seuraavan tekstin:
Hoi Maailma! Hello World! Ciao il Mondo! Hejssan Världen!
Tee erikseen versio, jossa on neljä System.out.println-metodin kutsua ja sellainen, jossa on vain yksi System.out.println.
Tee ohjelma, joka kirjoittaa näytölle seuraavan tekstin:
#### # # #### #### # # # # # # # # # #### #### ### # # # # # # #### # # # ####
Tee erikseen versio, jossa on viisi System.out.println-metodin kutsua ja sellainen, jossa on vain yksi System.out.println.
Tee ohjelma, joka kirjoittaa näytölle seuraavat merkit:
* *** ***** ******* ********* *
Tee erikseen versio, jossa on kuusi System.out.println-metodin kutsua ja sellainen, jossa on vain yksi System.out.println.
HUOM: kirjoitit todennäköisesti aika monta kertaa
System.out.println("...")
.
Kokeile kirjoittaa NetBeans:iin (main-metodiin) 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:
// 1. harjoitukset, tehtävä 1.4, Oili Opiskelija
Tässä harjoitellaan pääasiassa oppimateriaalin kohtaa 1 Algoritmeja: aliluvut 5-7.
Huom:Tämän sarjan tehtävissä sijoita arvoja muuttujiin ja käytä muuttujia laskemisessa. Älä siis vain tulosta vakiotekstiä edellisten tehtävien tapaan. Toisaalta älä kuitenkaan vielä pyydä syötteitä ohjelman käyttäjältä.
Tee ohjelma, jonka avulla voidaan laskea kahden luvun summa. Ohjelman alussa määritellään kaksi muuttujaa, jotka sisältävät yhteenlaskettavat luvut. Voit tarvittaessa käyttää myös muita muuttujia.
Esimerkiksi jos muuttujissa on luvut 3 ja 7, ohjelman tulostus on seuraava:
3 plus 7 on 10
Jos muuttujissa on luvut 42 ja 3, ohjelman tulostus on seuraava:
42 plus 3 on 45
Tee edellisen tehtävän tapaan kertolaskuohjelma:
Jos muuttujissa on 7 ja 6, ohjelma tulostaa:
7 kertaa 6 on 42
Jos muuttujissa on 11111 ja 11111, ohjelma tulostaa:
11111 kertaa 11111 on 123454321
Kokeile ohjelmaa suurilla kerrottavilla. Mitä tapahtuu, kun luvut ovat hyvin suuria?
Tee edellisen tehtävän tapaan jakolaskuohjelma. Muuttujat ovat nytkin kokonaislukutyyppisiä, mutta tulos halutaan liukulukuna.
Jos muuttujissa on 128 ja 8, ohjelma tulostaa:
128 jaettuna 8:lla on 16.0
Jos muuttujissa on 5 ja 3, ohjelma tulostaa:
5 jaettuna 3 on 1.66666666666667
Mistä on kysymys jälkimmäisen esimerkin pitkässä kuutosjonossa?
Miten käy, jos asetat jakajan nollaksi? Rohkeasti vain! Ei sinulle itsellesi huonosti käy. Eikä edes ohjaaja moiti.
Tee ohjelma, joka laskee, kuinka monta sekuntia on vuodessa. Voit olettaa, että vuodessa on 365 päivää (eli kyseessä ei ole karkausvuosi).
Ohjelman tulostus on seuraava:
Vuodessa on X sekuntia.
X:n kohdalle tulee ohjelmasi laskema sekuntimäärä.
Tässä harjoitellaan pääasiassa oppimateriaalin kohtaa 1 Algoritmeja: aliluvut 8-13.
Huomaa että ponnahdusikkunakirjasto löytyy valmiina: Pop.java. Saadaksesi ponnahdusikkunatyökalut käyttöösi riittää sijoittaa tuo lähdekielinen Java-luokka samaan hakemistoon kuin luokka, jossa välineitä haluat käyttää. Kääntäjä osaa kääntääkin tuon työkaluluokan tarvittaessa automaattisesti. Muitakin – tyylikkäämpiä? – tapoja ottaa nämä välineet käyttöön on toki olemassa. NetBeansin käyttäjät saavat harjoitusten ohjaajilta neuvot, miten asia tuossa ympäristössä hoidellaan. Lisätietoja löytyy kurssimateriaalin kohdasta 1 Algoritmeja: 13 Keskusteleva ohjelma: ponnahdusikkunoita.
Käytä tämän tehtävän toimittamiseen palautusautomaattia! Ohje sivun alussa.
Ohjelma pyytää kaksi kokonaislukua ja ilmoittaa niiden summan:
Ohjelma pyytää kaksi kokonaislukua ja jakaa ensimmäisen toisella.
Varmista, että 3 / 2 = 1.5
.
Kokeile mitä tapahtuu, kun jaetaan nollalla!
Käytä tämän tehtävän toimittamiseen palautusautomaattia! Ohje sivun alussa.
Tee ohjelma, joka laskee ja ilmoittaa, kuinka monta kokonaista tuntia on käyttäjän syöttämässä sekuntien määrässä. Lue syöte ponnahdusikkunalla ja tulosta vastaus standardisyöttövirtaan operaatioilla System.out.println ja System.out.print.
Kokonaisia tunteja 123456 sekuntiin mahtuu 34
Kirjoita ohjelma jolle annetaan sekunnit syötteenä. Ohjelma laskee ja tulostaa tunnit, minuutit ja sekunnit. Lue syöte ponnahdusikkunalla ja tulosta vastaus standardisyöttövirtaan operaatioilla System.out.println ja System.out.print.
Vihje: Muista jäännösjako %.
123456 sekuntia on 34 tuntia, 17 minuuttia ja 36 sekuntia.
Tee ohjelma, joka kysyy käyttäjältä nimen iän. Sitten ohjelma tervehtii käyttäjää ja kertoo samalla tämän iän.
Ohjelma kysyy kahden henkiön nimen ja iän ja tulostaa ikien summan:
Ohjelma laskee peruslaskutoimitukset kahdelle syöttöluvulle:
Ohjelma pyytää kolme lukua ja laskee niiden keskiarvon:
Tässä harjoitellaan pääasiassa oppimateriaalin kohtaa 1 Algoritmeja: aliluvut 14-17.
Käytä tämän tehtäväsarjan 4 kaikkien ohjelmien toimittamiseen palautusautomaattia! Ohje sivun alussa.
Ohjelman tehtävä on ilmoittaa, kumpi kahdesta syöttöluvusta on suurempi.
Entä jos luvut ovat yhtä suuret? Miten ohjelman tulisi tässä tilanteessa toimia? Ehkä tämänkin tilanteen voisi selkeästi ilmoittaa?
Ohjelman tehtävä on selvittää, onko syöttöluku parillinen.
Vihje: parillisen luvun jakojäännös on 0, kun jaetaan luvulla 2.
Toinen tilanne:
Ohjelma laskee annetun luvun ja luvun 100 etäisyyden.
Huomaa, että lukujen tulostusjärjestyksen halutaan riippuvan lukujen suuruudesta: suurempi ensin.
Toinen tilanne:
Tee ohjelma, joka kysyy käyttäjältä syntymävuoden. Jos vuosi on välillä 1900-2010, ohjelma kertoo, montako vuotta käyttäjä täyttää tänä vuonna (2011). Muuten ohjelma tulostaa tekstin "Taidat narrata!"
Esimerkki narraamisyrityksestä:
Tee ohjelma, joka laskee ja ilmoittaa kurssista saatavan arvosanan. Arvosanarajat ovat:
pistemäärä | arvosana |
---|---|
0–29 | hylätty |
30–34 | 1 |
35–39 | 2 |
40–44 | 3 |
45–49 | 4 |
50–60 | 5 |
Myös "hylätty"-teksti on syytä muistaa ilmoittaa. Hylätyiksi tulkitaan myös kaikki välin 0-60 ulkopuoliset arvot.
Ohjelma lukee kolme lukua ja tulostaa ne suuruusjärjestyksessä:
Gregoriaanisessa kalenterissa vuosi on karkausvuosi, jos se on jaollinen nejällä Kuitenkaan 100:lla jaollinen vuosi ei ole karkausvuosi, paitsi jos se on jaollinen nyös 400:lla.
Tee ohjelma, jolta voi kysyä, onko vuosi karkausvuosi: