Tehtävät tehdään harjoitussaleissa.
Pakolliset tehtävät on merkitty harmalla taustavärillä.
HUOM: nimeä tiedostot otsikossa olevan sanan mukaan
HUOM2: kaikki ohjelmat tehdään tästä lähtien NetBeans-ohjelmalla. Jokaiselle tehtävällä kannattaa tehdä oma projekti, paitsi ne tehtävät jotka liittyvät toisiinsa voidaan tehdän saman projektin alle. Kurssimateriaalissa on lyhyt ohje NetBeansin käyttöön. Lue ohje ja toimi sen mukaan. Opimme vähitellen käyttämään ohjelmaa paremmin.
Tee metodi public static void kuusi()
, joka tulostaa kuusen.
Tarvitset myös "pääohjelman", eli main-metodin, josta kutsut kuusi-metodia. Pääohjelma sijoitetaan aina sopivasti nimetyn ohjelmarungon (eli luokan) sisään kuten materiaalin luvun 2 alussa tapahtuu. Käytä ohjelmarungon nimenä tehtävien otsikoita.
* *** ***** ******* ********* *
Vaikka tehtävässä pyydettäisiin vain metodin tekemistä, tulee tästä lähtien kaikissa tehtävissä olla vastauksena toimiva ohjelma, eli "pääohjelma" eli main-metodi ja ohjelmarunko (eli luokka) on oltava mukana.
Käytä edellisessä tehtyä metodia siten, että tulostat allekkain useamman kuusen.
* *** ***** ******* ********* * * *** ***** ******* ********* *
Tee metodi jakaja
, joka tulostaa jakolaskun esimerkin mukaisesti.
Huom: metodi saa jaettavat luvut parametreina.
128 jaettuna 8 on 16 5 jaettuna 3 on 1.66666666666667
Tee metodi, joka palauttaa ympyrän kehän (piirin) pituuden double
-arvona. Pi:n arvon saat seuraavasti: Math.PI
(double).
Anna ympyrän säde: 20 Ympyrän kehä on: 125.663706143592
Tee ohjelma, joka kysyy käyttäjältä nimen ja tämän jälkeen iän. Tämän jälkeen ohjelma tervehtii käyttäjää ja kertoo samalla tämän iän. Nimen ja iän kysyminen tapahtuu pääohjelmassa eli mainissa. Tervehtiminen hoidetaan omassa metodissa.
Kuten luentomateriaalissa todettiin, on lukija:ssa sellainen ikävä piirre, että se ei toimi kunnolla jos luetaan ensin käyttäjältä luku ja sen jälkeen merkkinono. Eli jos luet iän ensin ja nimen sen jälkeen, hyppää ohjelma nimen yli kokonaan.
Kerro nimesi: Matti Mikä on ikäsi: 14 Hei Matti, olet siis 14!
Tee viisi metodia, jotka suorittavat laskuoperaatiot ja palauttavat lopputuloksen.
Anna ensimmäinen luku: 3 Anna toinen luku: 2 Summa: 3 + 2 = 5 Erotus: 3 - 2 = 1 Jako: 3 / 2 = 1.5 Jakojäännös: 3 % 2 = 1 Kerto: 3 * 2 = 6
Tee ohjelma, joka kertoo minkä arvosanan kurssista saa.
Ohjelma käyttää metodia, jolle annetaan pisteet ja joka palauttaa pisteitä vastaavan arvosanan.
pisteet muuttuvat arvosanaksi seuraavan mukaan: 30-34 pistettä: 1, 35-39: 2, 40-44: 3, 45-49: 4, 50-60 : 5 ja alle 30 pistettä on hylätty.
Anna pisteet [0-60]: 30 Arvosanaksi 30 pisteellä tulee 1
Listaa joka toinen luku väliltä 0-100 laskevassa järjestyksessä. Toteuta sama sekä while- että for-lausee avulla!
100 98 96 94 ...
Lue ja summaa n kappaletta lukuja.
Kuinka monta lukua syötät: 3 2 4 1 Lukujen summa on: 7
Kuinka monta negatiivista ja positiivista?
Anna 0 lopettaaksesi. Anna luku: 3 Anna luku: -3 Anna luku: 8 Anna luku: 2 Anna luku: 0 Positiivisia 3 Negatiivisia 1
Selvitä käyttäjän syötteistä pienin ja suurin. Älä laske nollaa kummaksikaan.
Anna lukuja, 0 lopettaa: 8 92 2 32 0 Suurin luku oli 92, pienin luku oli 2.
Alusta taulukko seuraavasti: int[] luvut = {-1, -1, -1, -1, -1, -1, -1};
ja lue siihen taulukon pituuden verran lukuja. Taulukon tulostus tapahtuu omassa metodissa.
Huom: Ohjelman tulee toimia taulukon pituudesta riippumatta. Tässä esimerkissä taulukon pituus on 7, mutta se voi olla muutakin. Joudut siis käyttämään while- tai for-komentoa taulukon käsittelyyn. Taulukon pituuden kertoo luvut.length
, älä siis kirjoita koodiisi taulukon pituudeksi mitään numeroarvoa.
Syötä 7 numeroa: 1 32 6 8 12 17 22 Syötit numerot: 1,32,6,8,12,17,22
Yhdistä edellä olevat tehtävät ja pelaa.
Lukujen arvuuttelun tulee tapahtua omassa metodissa. Metodi saa parametrinaan taulukon, jossa alussa syötetyt luvut ovat. Vihje: metodista voi poistua milloin tahansa komennolla return.
Syötä 7 numeroa: 1 32 6 8 12 17 22 Kiitos, Aloitetaan peli.. Arvaa luku: 4 Ei löydy! Arvaa luku: 101 Ei löydy! Arvaa luku: 6 Löytyi!
Tulosta arvosanajakauma siten, että teet metodin, joka piirtää tarvittavan määrän tähtiä. Älä siis toista tähtien tulostusta koodissasi kuuteen kertaan vaan hoida jokaisen tähtimäärän tulostus saman metodin avulla. Lue arvosanat myös taulukkoon, jonka koko on 6. Voit alustaa taulukon komennolla int[] arvosanat = {-1, -1, -1, -1, -1, -1}
.
Anna seuraavat luvut, Hylättyjä: 3 1: 3 2: 7 3: 2 4: 7 5: 10 Kurssin Agile Entwicklung mit Ruby über Gleis arvosanajakauma 5: ********** 4: ******* 3: ** 2: ******* 1: *** 0: *** Hyväksyttyjä 87% osallistujista
Muutetaan edellistä tehtävää siten, että opettaja syöttää aluksi opiskelijoiden koepistemäärät. Syötetty koepistemäärä muutetaan vastaavaksi arvosanaksi tehtävän 3.1 metodilla. Näin selvitetyt arvosanat talletetaan taulukkoon joka täytyy nyt alustaa seuraavasti int[] arvosanat = {0, 0, 0, 0, 0, 0}
.
Kurssin nimen ja arvosanataulukon parametrina saava metodi tulostaa kurssin arvosanajakauman.
Syötä kurssin nimi: Ohjelmoinnin perusteet Syötä opiskelijoiden koepistemäärät. Lopetus -1:llä. 44 35 17 56 7 ... 54 -1 Kiitos. Kurssin Ohjelmoinnin perusteet arvosanajakauma 5: ********** 4: ******* 3: ** 2: ******* 1: *** 0: *** Hyväksyttyjä 87% osallistujista
Tee vuorovaikutteinen ohjelma KorkeaKuusi, joka pyytää kolmion korkeuden ja tulostaa "*"-merkeistä muodostuvan kolmion seuraavan esimerkin tapaan. Kuusen tulostus tapahtuu sitä varten tehdyn metodin avulla. Jos korkeus on vaikkapa kuusi, ohjelma tulostaa:
Anna korkeus: 6 * *** ***** ******* ********* *********** *
Anna korkeus: 3 * *** ***** *
Tehtävä ei ole helppo. Mieti ongelmaa ensin kynän ja paperin kanssa. Kuusen tulostava metodi kannattanee toteuttaa siten, että se kutsuu erillistä apumetodia, joka tulostaa yhden kuusen "tason", eli ensin *, sitten ***, jne. sekä tasoon liittyvät sisennykset.
Saat olettaa, että käyttäjä todellakin syöttää tiedon oikean tyyppisenä - kuten saat olettaa kurssin kaikissa tehtävissä, ellei muuta pyydetä. Mutta varaudu kuitenkin siihen että luku on arvoltaan sopimaton: negatiivinen luku ei kelpaa leveydeksi. Virhetilanteessa ohjelman pitää antaa virheilmoitus ja pyytää uutta lukua kunnes saa kelvollisen.