Ohjelmointitehtävät, viikko 1

Tehtävien tiedostopohjat löytyvät täältä.

1. Kertoma

Luonnollisen luvun n kertoma lasketaan kaavalla 1 · 2 · 3 · ... · n. Esimerkiksi luvun 5 kertoma on 1 · 2 · 3 · 4 · 5 = 120. Lisäksi on sovittu, että luvun 0 kertoma on 1.

Tee ohjelma Kertoma.java, joka kysyy käyttäjältä luvun ja tulostaa sitten sen kertoman. Voit olettaa, että tuloksena oleva kertoma mahtuu int-tyyppiseen kokonaislukumuuttujaan.

Esimerkki

Anna luku: 5
Kertoma: 120

Esimerkissä punaisella väritetyt kohdat vastaavat käyttäjän kirjoittamaa tekstiä. Toteuta ohjelma tarkalleen esimerkin mukaisesti, koska ohjelma tarkistetaan automaattisesti.

2. Suuri kertoma

Javan tavalliset kokonaislukumuuttujat eivät voi sisältää kovin suuria lukuja. Esimerkiksi int-tyyppisen muuttujan suurin sallittu arvo on 2147483647 (reilut kaksi miljardia). Jos ohjelmassa on tarpeen käsitellä suuria kokonaislukuja, apuun tulee luokka BigInteger.

Tee ohjelma SuuriKertoma.java, joka toimii edellisen ohjelman tavoin, mutta se laskee tarvittaessa suuriakin kertomia.

Esimerkki

Anna luku: 25
Kertoma: 15511210043330985984000000

Löydät tietoa luokasta BigInteger Googlella: hakusanat "java biginteger api" vievät Javan dokumentaatioon ja hakusanat "java biginteger example" antavat esimerkkejä. Samalla tavalla voi etsiä tietoa mistä tahansa Javan luokasta.

3. Palindromi

Palindromi on sana, joka on sama alusta loppuun ja lopusta alkuun luettuna. Esimerkiksi sanat ala ja enne ovat palindromeja.

Tee ohjelma Palindromi.java, joka lukee käyttäjältä sanan ja ilmoittaa, onko se palindromi. Voit olettaa, että sana muodostuu kirjaimista az.

Esimerkki 1

Anna sana: enne
Sana on palindromi.

Esimerkki 2

Anna sana: aika
Sana ei ole palindromi.

4. Pienin ja suurin

Tee ohjelma PieninSuurin.java, joka lukee käyttäjältä joukon kokonaislukuja ja tulostaa lopuksi pienimmän ja suurimman luvun. Jokainen kokonaisluku mahtuu int-muuttujaan. Ohjelma kysyy ensin, kuinka monta lukua käyttäjä antaa. Voit olettaa, että käyttäjä antaa ainakin yhden ja korkeintaan miljoona lukua.

Esimerkki

Kuinka monta? 5
Anna luvut:
-5
2
-1
7
3
Pienin: -5
Suurin: 7

5. Kirjainneliö

Tee ohjelma Kirjainnelio.java, joka tulostaa annetun kokoisen kirjainneliön seuraavien esimerkkien mukaisesti. Voit olettaa, että kirjainneliön koko (kerrosten määrä) on 1–26.

Esimerkki 1

Anna koko: 3
AAAAA
ABBBA
ABCBA
ABBBA
AAAAA

Esimerkki 2

Anna koko: 4
AAAAAAA
ABBBBBA
ABCCCBA
ABCDCBA
ABCCCBA
ABBBBBA
AAAAAAA