Tässä tehtävässä harjoitellaan edellisellä kierroksella opittujen asioiden lisäksi erityisesti seuraavia asoita:
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.
[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