Kierros 1, tehtävä 3

Bilelaskuri (150 p)

Tässä tehtävässä harjoitellaan seuraavia asioita:

Tämän tehtävän tarkoituksena on varmistaa, että osaat käyttää kurssin uutisryhmää. Siksi osa tehtävän tekemiseen tarvittavista tiedoista on annettu uutisryhmään opinnot.tik.opey lähetetyssä viestissä. Pääset uutisryhmään esimerkiksi seuraamalla linkkiä http://news.tky.fi/thread.php?group=opinnot.tik.opey. (Sama linkki on annettu myös kurssin Noppa-sivun kurssiesitteessä.)

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 bilelaskuri ja kirjoita siihen ohjelma, joka suorittaa alla kuvatun tehtävän.

Käyttäjä on valmistelemassa teekkareiden grillijuhlia ja hän haluaa tietää, kuinka paljon grillimakkaroita, maissitähkiä (kasvissyöjille makkaran korvikkeeksi grillaukseen) ja kaljapulloja hänen pitää varata juhlia varten. Kurssin uutisryhmässä opinnot.tik.opey on viesti "Apua kevaan 2010 tehtavaan 1.3", jossa kerrotaan, kuinka monta makkaraa, maissitähkää ja kaljapulloa yhtä juhlijaa varten pitää varata. Kirjoita ohjelma, joka kysyy käyttäjältä juhliin saapuvien teekkareiden määrän (juhliin mahdollisesti saapuvat ei-teekkarit syövät ja juovat niin vähän, että heitä ei tarvitse ottaa laskelmissa huomioon) sekä kuinka moni heistä on kasvissyöjiä ja tulostaa sen jälkeen tarvittavien grillimakkaroiden, maissitähkien ja kaljapullojen lukumäärän.

Huomaa, että uutisryhmässä annetut yhtä teekkaria kohti varattavat ruoka- ja juomamäärät ovat eri opiskelijoilla erilaiset. Sinun pitää itse käydä katsomassa uutisryhmän viestistä, mitä arvoja sinun pitää käyttää.

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 suorituksen lopussa olevan kahden rivin mittaisen tulostuksen saat helposti aikaan kirjoittamalla kaksi peräkkäistä print-käskyä.

Kun olet tallentanut ohjelmasi, aja sitä useaan kertaan Eclipsen Run->Run as->Python Run-komennolla ja tarkista, että ohjelma tulostaa oikeita arvoja. Palauta sitten Gobliniin tiedosto bilelaskuri.py. Ohjelmasi ei tarvitse osata varautua virheelliseen syötteeseen (esimerkiksi negatiivisiin osanottajamääriin tai siihen, että kasvissyöjien lukumäärä on suurempi kuin kaikkien teekkareiden lukumäärä yhteensä).

Esimerkki ohjelman toiminnasta (Näissä esimerkeissä on oletettu, että yhtä teekkaria varten varataan 3 makkaraa tai maissitähkää ja 4 kaljapulloa. Sinun pitää niiden sijaan käyttää uutisryhmässä annettuja arvoja):

[ohjelman suoritus alkaa]
Anna juhliin tulevien teekkareiden maara.
120
Kuinka moni heista on kasvissyojia?
15
Hanki juhlia varten 315 grillimakkaraa,
45 maissitahkaa ja 480 kaljapulloa.
[ohjelman suoritus päättyy]

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