Kierros 2, tehtävä 4

Myyntiprovisio (200 p)

Tässä tehtävässä harjoitellaan edellisellä kierroksella opittujen asioiden lisäksi erityisesti seuraavia asoita:

Näitä asioita opetetaan 24.-26.1. pidettävillä luennoilla.

Tee Eclipsessä uusi projekti, jonka nimi on tehtava2_4. Luo sitten tähän projektiin moduuli provisiolaskuri ja kirjoita siihen ohjelma, joka ratkaisee alla kuvatun ongelman.

Myyntiedustaja saa provisiota myymistään tuotteista. Provisioprosentti vaihtelee kunkin myyntitapahtuman arvon (kerralla myytyjen tuotteiden yhteisarvon) mukaan. Jos myyntitapahtuman arvo on alle 3000 euroa, on edustajan provisio 10 % myyntitapahtuman arvosta. Jos myyntitapahtuman arvo on vähintään 3000, mutta alle 5000 euroa, on provisio 15 % myyntitapahtuman arvosta. Jos myyntitapahtuman arvo on vähintään 5000 euroa, provisio on 20 % myyntitapahtuman arvosta.

Kirjoita ohjelma, joka pyytää käyttäjää ensin syöttämään kuukauden aikana tehtyjen yksittäisten myyntitapahtumien arvot. Myyntitapahtumien määrää ei tiedetä etukäteen, mutta käyttäjä ilmoittaa tapahtumien loppuneen antamalla negatiivisen arvon. Ohjelma laskee ja tulostaa myyntiedustajan provision euroina. Katso mallia alla olevasta esimerkkiajosta. Huomaa, että provisio lasketaan erikseen jokaiselle myyntitapahtumalle, ei myyntitapahtumien yhteisarvosta. Ohjelma kuitenkin laskee yhteen kaikista eri myyntitapahtumista tulevat provisiot.

Vinkki: Ensimmäisen myyntitapahtuman lukeminen kannattaa sijoittaa ohjelmassa ennen toistokäskyä. Seuraava arvo kannattaa lukea toistokäskyn sisällä aina sen jälkeen, kun edellisestä tapahtumasta kuuluva provisio on laskettu.

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.) Ohjelman tulostamia desimaalilukuja ei tarvitse muotoilla, vaan voit antaa ohjelman tulostaa luvut Python-tulkin käyttämällä oletustarkkuudella. Voit myös olettaa, että käyttäjä antaa myyntitapahtumien arvoiksi desimaalilukuja.

Palauta Gobliniin tiedosto provisiolaskuri.py.

Kaksi esimerkkiä ohjelman suorituksesta:

[ohjelman suoritus alkaa]
Syota kuukauden myyntitapahtumien arvot,
lopeta negatiivisella arvolla.
Anna ensimmaisen myyntitapahtuman arvo.
6000.0
Anna seuraavan myyntitapahtuman arvo.
2000.0
Anna seuraavan myyntitapahtuman arvo.
1500.0
Anna seuraavan myyntitapahtuman arvo.
3000.0
Anna seuraavan myyntitapahtuman arvo.
4500.0
Anna seuraavan myyntitapahtuman arvo.
5000.0
Anna seuraavan myyntitapahtuman arvo.
481.75
Anna seuraavan myyntitapahtuman arvo.
-4
Myyntiedustajan provisio on 3723.175 euroa.
[ohjelman suoritus päättyy]

[ohjelman suoritus alkaa]
Syota kuukauden myyntitapahtumien arvot,
lopeta negatiivisella arvolla.
Anna ensimmaisen myyntitapahtuman arvo.
-14.56
Myyntiedustajan provisio on 0.0 euroa.
[ohjelman suoritus päättyy]

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