Tässä tehtävässä harjoitellaan erityisesti seuraavia asioita:
Tee Eclipseen uusi projekti, jonka nimi on tehtava4_2, ja tähän projektiin moduuli pituusmuunnos. Kirjoita moduuliin alla olevan kuvauksen mukainen ohjelma, jonka avulla käyttäjä voi muuttaa jalkoina ja tuumina ilmoitetun pituuden senttimetreiksi.
USAlaiset ilmoittavat ihmisten pituuden jalkoina ja tuumina.
(Esimerkiksi 5 jalkaa 6 tuumaa.) Tässä tehtävässä kirjoitetaan
ohjelma, jonka avulla näin ilmoitetut ihmisten pituudet voi
muuntaa senttimetreiksi.
Kirjoita ohjelmaan funktio muunna_pituus
, joka
pyytää käyttäjän antamaan pituuden jalkoina ja tuumina.
Molemmat ovat kokonaislukuja. Funktio muuntaa annetun pituuden
senttimetreiksi ja tulostaa sen.
Yksi tuuma on 2,54 senttimetriä. Yksi jalka on 12 tuumaa.
Kirjoita funktio niin, että se hyväksyy vain välillä 1-9 olevat
jalkojen määrät ja vain
välillä 0-11 olevat tuumien määrät. Jos toinen tai molemmat käyttäjän
antamat arvot eivät ole sallitulla välillä (rajalla olevat arvot
hyväksytään), funktio tulostaa Antamasi luvut eivat ole sallitulla
valilla!
, eikä tee muuta. Tarkistus tehdään kuitenkin vasta sen
jälkeen, kun sekä jalkojen että tuumien määrä on luettu käyttäjältä.
Kirjoita sitten pääohjelma, joka kutsuu
muunna_pituus
-funktiota. Kun funktio on suoritettu kerran,
pääohjelma kysyy käyttäjältä, haluaako hän jatkaa ohjelman suoritusta.
Jos käyttäjä haluaa jatkaa, hän antaa 1:sen; jos käyttäjä ei halua
jatkaa, hän antaa 0:n. Kirjoita kuitenkin pääohjelma niin, että
ohjelma jatkuu aina, kun käyttäjä antaa jonkun muun kokonaisluvun kuin 0.
Jos käyttäjä haluaa jatkaa ohjelman suoritusta, funktiota
muunna_pituus
kutsutaan uudelleen. Tätä toistetaan
niin kauan, kunnes käyttäjä ei enää halua jatkaa. Siinä vaiheessa
ohjelma tulostaa Ohjelman suoritus paattyy.
Huomaa, että kaikki tarvittavat tiedot pyydetään (jatkokysymystä
lukuunottamatta) ja tulostetaan
funktiossa muunna_pituus
. Funktiolla ei siis ole
parametreja eikä se palauta mitään arvoa. Pääohjelmassa ainoastaan
kutsutaan funktiota sekä kysytään, haluaako käyttäjä jatkaa ohjelman
suoritusta. Lisäksi pääohjelma tulostaa Ohjelman suoritus paattyy.
siinä
vaiheessa, kun käyttäjä ei enää halua jatkaa ohjelman suoritusta.
Ohjelmasi pitää siis antaa virheilmoitus silloin, jos käyttäjän antamat arvot eivät ole sallituilla väleillä, mutta ohjelman ei tarvitse varautua siihen, että käyttäjä ei anna jalkoja tai tuumia kokonaislukuna. Testaa ohjelmaasi useita kertoja eri arvoilla ajamalla sitä itse Eclipsessä, ennen kuin palautat ratkaisusi Gobliniin. Palauta Gobliniin tiedosto pituusmuunnos.py.
[ohjelman suoritus alkaa] Ohjelma muuttaa tuumina ja jalkoina annetun pituuden senteiksi. Anna pituuden jalat (1-9). 5 Anna pituuden tuumat (0-11). 4 Pituus on 162.56 cm. Haluatko jatkaa (1 = kylla / 0 = ei)? 1 Anna pituuden jalat (1-9). 6 Anna pituuden tuumat (0-11). 3 Pituus on 190.5 cm. Haluatko jatkaa (1 = kylla / 0 = ei)? 1 Anna pituuden jalat (1-9). 10 Anna pituuden tuumat (0-11). 2 Antamasi luvut eivat ole sallitulla valilla! Haluatko jatkaa (1 = kylla / 0 = ei)? 1 Anna pituuden jalat (1-9). 5 Anna pituuden tuumat (0-11). 12 Antamasi luvut eivat ole sallitulla valilla! Haluatko jatkaa (1 = kylla / 0 = ei)? 1 Anna pituuden jalat (1-9). 9 Anna pituuden tuumat (0-11). 0 Pituus on 274.32 cm. Haluatko jatkaa (1 = kylla / 0 = ei)? 0 Ohjelman suoritus paattyy. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta