Nämä harjoitukset liittyvät oppimateriaalin lukuihin I Algoritmeja (Scala): 1-15.
Harjoitustehtävien otsikoilla on värikoodaus: Vihreät tehtävät on syytä tehdä joka tapauksessa. Värittämättömiä ei ole ihan pakko tehdä, mutta nekin ovat hyvin hyödyllisiä ja myös vaikuttavat pisteisiin. Keltaiset tehtävät ovat vähän haastavampia. Nekin lasketaan mukaan harjoituspisteitä määrättäessä, mutta ilmankin niitä harjoituksista voi saada maksimipisteet.
Huom: Jokaisen ohjelmatiedoston alkuun on kirjoitettava kommenttina harjoituskerta, tehtävän numero ja tekijän nimi tyyliin:
// 1. harjoitukset, tehtävä 1.3, Oili Opiskelija
Tee ohjelma, joka kirjoittaa nimesi näytölle.
Tee ohjelma, joka kirjoittaa näytölle seuraavan tekstin:
Hoi Maailma! Hello World! Ciao il Mondo! Hejssan Världen!
Tee ohjelma, joka kirjoittaa näytölle seuraavan tekstin:
#### # # #### #### # # # # # # # # # #### #### ### # # # # # # #### # # # ####
Tee ohjelma, joka kirjoittaa näytölle seuraavan tekstin:
* *** ***** ******* ********* *
Huom! Näissä neljässä tehtävässä sijoita arvoja muuttujiin ja käytä muuttujia laskemisessa, älä siis vain tulosta vakiotekstiä! Toisaalta älä vielä lue arvoja käyttäjältä.
Tee ohjelma joka tulostaa seuraavaa
3 plus 7 on 10 42 plus 3 on 45
10 miinus 7 on 3 45 miinus 3 on 42
6 kertaa 6 on 36 11111 kertaa 11111 on 123454321
128 jaettuna 8 on 16 5 jaettuna 3 on 1.66666666666667
Ohjelma pyytää kaksi kokonaislukua ja ilmoittaa näiden summan.
Anna ensimmäinen luku: 6 Anna toinen luku: 2 Niiden summa on 8
Ohjelma pyytää kaksi kokonaislukua ja jakaa ensimmäisen toisella.
Varmista, että 3 / 2 = 1.5
Anna ensimmäinen luku: 3 Anna toinen luku: 2 3/2 = 1.5
Ohjelma voittaa aina, mutta niukasti:
Arvaa luku: 5 Minun lukuni on 6, hävisit niukasti!
Arvaa luku: 5 Minun lukuni on 235, hävisit rutkasti!
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.
Mikä on nimesi: Matti Mikä on ikäsi: 14 Hei Matti, olet siis 14!
Ensimmäisen nimi: Matti Kuinka vanha Matti on? 14 Toisen nimi: Arto Kuinka vanha Arto on? 12 Matti ja Arto ovat yhteensä 26 vuotta.
Anna ensimmäinen luku: 3 Anna toinen luku: 2 Summa: 3 + 2 = 5 Erotus: 3 - 2 = 1 Tulo: 3 * 2 = 6 Osamäärä: 3 / 2 = 1.5 Jakojäännös: 3 % 2 = 1
Anna kolme lukua: 4 12 7 Lukujen 4, 12 ja 7 keskiarvo on: 7.666666666666667
Anna ensimmäinen luku: 8 Anna toinen luku: 3 8 on suurempi kuin 3
Entä jos luvut ovat yhtä suuret? Miten ohjelman tulisi tässä tilanteessa toimia?
Vihje: parillisen luvun jakojäännös on 0, kun jaetaan luvulla 2.
Anna luku: 2 Luku 2 on parillinen
Anna luku: 7 Luku 7 on pariton
Huomaa, että lukujen tulostusjärjestys riippuu suuruudesta (annettu luku vs. 100)
Anna luku: 82 100-82 = 18
Anna luku: 123 123-100 = 23
Tee ohjelma, joka ilmoittaa, kurssista saatavan arvosanan.
Arvosanarajat ovat:
30: 1, 35: 2, 40: 3, 45: 4, 50: 5, alle 30 on hylätty.
Anna pisteet [0-60]: 48 Arvosanaksi 48 pisteellä tulee 4
Anna ensimmäinen luku: 8 Anna toinen luku: 1 Anna kolmas luku: 3 Luvut suuruusjärjestykessä: 1, 3 ja 8
Käytä tässä tehtävässä while
-lausetta ja muuttujaa, joka
askeltaa kahden välein.
1 3 5 7 ... 99
Käytä tässä tehtävässä while
-lausetta ja muuttujaa, joka
askeltaa alaspäin.
100 99 ... 2 1
Mihin asti lukuja tulostetaan: 6 1 2 3 4 5 6
Mihin asti parillisia lukuja tulostetaan: 10 2 4 6 8 10
Ohjelma kysyy käyttäjän ikää niin kauan, kun
käyttäjä ei ymmärrä antaa ikää, joka on väilliä 0-120.
Käytä while
-lausetta, jonka ehtona on
syötetyn iän tarkistus.
Miten vanha olet: 121 Ei kelpaa! Miten vanha olet: -2 Ei kelpaa! Miten vanha olet: 7 Kiitos 7-vuotias!
Laadi ohjelma, jolla voi laskea kokonaislukujen summan. Lukuja on milloin mikin määrä. Ja nollalla ilmaistaan syöttölukujen loppuminen. Pidä huoli, että ohjelma toimii, vaikka heti aluksi syötettäisiin loppumerkiksi nolla.
Anna kokonaislukuja, 0 lopettaa: 2 -4 100 2 0 Lukujen summa on: 104
Vihje: Käytä jotain muuttujaa, vaikkapa summa
,
joka jonne yksi kerrallaan ynnätään syöttölukuja.
Muokkaa edellistä tehtävää siten, että ohjelma laskee ja tulostaa myös lukujen keskiarvon.
Anna kokonaislukuja, 0 lopettaa: Anna luku: 3 Anna luku: -3 Anna luku: 8 Anna luku: 2 Anna luku: 0 Positiivisia 3 Negatiivisia 1
Vihje: Käytä yhtä muuttujaa laskemaan positiivisten lukumäärää ja toista negatiivisten.
Anna kokonaislukuja, 0 lopettaa: 8 92 2 -7 32 0 Suurin luku oli 92, pienin luku oli -7.
Vihje: Tee ohjelmasta ensin versio, joka löytää suurimman syöttöluvun ja laajenna sitten ohjelma löytämään myös pienin luku.
Huomaa että nolla on nyt erikoistapaus, se ei tässä tehtävässä ole "suurin" eikä "pienin". Ohjelman toivottu toiminta erikoitapauksissa:
Anna kokonaislukuja, 0 lopettaa: 0 Ei lukuja!
Anna kokonaislukuja, 0 lopettaa: 87 0 Suurin luku oli 87, pienin luku oli 87.
Tee ohjelma, joka ensin lukee kaksi kokonaislukua, alarajan ja ylärajan. Sitten ohjelma lukee syöttölukuja ja kirjoittaa jokaisen välillä alaraja–yläraja olevan syöttöluvun luettuaan ilmoituksen "Osui!", muiden kohdalla "Huti!". Ohjelman suoritus päättyy, kun tutkittavaksi luvuksi syötetään nolla. Lopuksi ohjelma tulostaa tilaston osumista.
Anna alaraja: 5 Anna yläraja: 8 Anna lukuja, 0 lopettaa: 1 Huti! 9 Huti! 8 Osui! -21 Huti! 6 Osui! 9 Huti! 0 Osumia 2 kappaletta. Huteja 4 kappaletta.
Kuinka monta lukua syötät: 3 2 4 1 Lukujen summa on: 7