Rästitehtävä 1

Osamaksulaskuri (280 p)

Tällä rästitehtävällä voit korvata yhden kierroksista 1, 2 tai 3. Jos sinulta puuttuu minimipisteet kahdelta näistä kierroksista, sinun pitää tehdä sekä tämä tehtävä että rästitehtävä 2 tai 3. Jos sinulta puuttuu minimipisteet kaikilta näiltä kierroksilta, tee rästitehtävät 1, 2 ja 3. Jotta rästitehtävä korvaisi tehtäväkierroksen, siitä on saatava vähintään 250 pistettä. Vaikka saisit tehtävästä enemmän pisteitä, niin harjoitustehtäväarvosanaa määrättäessä tällä tehtävällä korvatun kierroksen pistemääräksi lasketaan kuitenkin vain korvattavan kierroksen minimipistemäärä.

Tee Eclipseen uusi projekti, jonka nimi on tehtava10_1. Luo sitten tähän projektiin moduli osamaksulaskuri ja kirjoita siihen ohjelma, joka laskee ja tulostaa osamaksulla hankittavan tuotteen kuukausierät ja kokonaishinnan. Maksuerien määräytyminen on selitetty tarkemmin alla.

Osamaksulla maksamisen idea on seuraava:

Kirjoita ohjelma, joka pyytää käyttäjältä ensin hankittavan tuotteen hinnan, maksuerien määrän ja osamaksun kuukausikoron alla olevan esimerkkiajon mukaisesti. Tämän jälkeen ohjelma tulostaa kunkin kuukauden maksuerän sekä lopuksi kuukausierien yhteissumman. Tulosta desimaaliluvut kahden desimaalin tarkkuudella. Katso esimerkkiajosta tarkemmin, millainen ohjelman tulostuksen pitää täsmälleen olla.

Ohjelmasi ei tarvitse varautua virheelliseen syötteeseen (esimerkiksi siihen, että käyttäjä antaa syötteenä kirjaimia, kun pyydetään lukuja). Ohjelman ei tarvitse myöskään tarkistaa, että sille syötteenä annetut luvut ovat järkeviä. Poikkeuksena on kuukausierien määrä. Jos käyttäjän antama kuukausierien määrä on pienempi kuin 1, ohjelma ilmoittaa virheestä ja lopettaa toimintansa.

Sinun ei tarvitse ohjelmaa kirjoittaessa myöskään välittää pyöristysvirheistä. Ei haittaa, vaikka pyöristysvirheiden takia kuukausilyhennysten summa ei olisi täsmälleen tuotteen hinta tai tulostettujen kuukausierien summa ei olisi täsmälleen sama kuin ohjelman ilmoittama maksettava kokonaismäärä.

Ole tarkka siitä, että ohjelmasi tulostus on täsmälleen (välimerkkejä myöten) alla olevan mallin mukainen. Muista erityisesti lisätä rivinvaihtomerkki raw_input-käskyissä käyttäjälle annettavan pyynnön loppuun. (Näin ohjelman tarkastus Goblinilla sujuu ilman ylimääräisiä ongelmia.)

Palauta Gobliniin tiedosto osamaksulaskuri.py.

Kaksi esimerkkiä ohjelman suorituksesta:

[ohjelman suoritus alkaa]
Ohjelma laskee osamaksun kuukausierat.
Anna hankittavan tuotteen hinta (euroa).
300
Anna maksuerien maara.
16
Anna kuukausikorko (%).
2.25
Kuukausierat:
1.  30.50 euroa
2.  30.08 euroa
3.  29.66 euroa
4.  29.23 euroa
5.  28.81 euroa
6.  28.39 euroa
7.  27.97 euroa
8.  27.55 euroa
9.  27.12 euroa
10.  26.70 euroa
11.  26.28 euroa
12.  23.86 euroa
13.  23.44 euroa
14.  23.02 euroa
15.  22.59 euroa
16.  22.17 euroa
Yhteensa maksettavaa 427.38 euroa.
[ohjelman suoritus päättyy]

[ohjelman suoritus alkaa]
Ohjelma laskee osamaksun kuukausierat.
Anna hankittavan tuotteen hinta (euroa).
150.0
Anna maksuerien maara.
0
VIRHE: kuukausieria pitaa olla vahintaan 1.
[ohjelman suoritus päättyy]

Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta