Tässä tehtävässä harjoitellaan seuraavia asioita:
Käynnistä Eclipse kurssin kotisivun ohjeiden mukaan, jos se ei ole jo käynnissä. Tee uusi projekti, jonka nimi on tehtava1_3. Luo sitten tähän projektiin moduuli matkalaskuri. Kirjoita siihen ohjelma, joka ratkaisee seuraavan ongelman.
Teemu ja Tiina Teekkari päättävät opiskelun piristykseksi tehdä kevään keskellä yhdessä matkan jonnekin ulkomaille. He eivät ole kuitenkaan vielä valinneet matkan määränpäätä ja tarkkaa pituutta. Valintaa helpottamaan he haluavat tietokoneohjelman, joka laskee matkan lento- ja hotellikustannukset, kun käyttäjä antaa lentolipun (menopaluulippu) hinnan, hotellin kahden hengen huoneen vuorokausihinnan ja matkan keston vuorokausina. Ohjelma laskee ja tulostaa Teemun ja Tiinan yhteiskustannukset, eli se laskee kustannuksiin kahden lentolipun hinnan. Se olettaa kuitenkin Teemun ja Tiinan nukkuvan samassa hotellihuoneessa, joten huoneen hinta lasketaan vain kerran jokaista matkavuorokautta kohti.
Ohjelman ei tarvitse tarkistaa käyttäjän antamien tietojen mielekkyyttä (esimerkiksi sitä, että annetut luvut eivät ole negatiivisia.) Voit olettaa, että käyttäjä antaa lentolipun ja hotellihuoneen hinnan desimaalilukuina ja matkan pituuden kokonaislukuna.
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.)
Kun olet kirjoittanut ohjelmasi, aja se monta kertaa eri
lähtötiedoilla Eclipsen Run->Run as->Python
Run
-komennolla ja tarkista, että ohjelman tulostama
kokonaiskustannus on oikein. Palauta sen jälkeen Gobliniin tiedosto
matkalaskuri.py
[ohjelman suoritus alkaa] Anna lentolipun hinta (eur): 151.8 Anna matkan pituus (vrk): 6 Anna hotellihuoneen hinta (eur/vrk): 67.3 Matkan kokonaiskustannus on 707.4 euroa. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta