Tässä tehtävässä harjoitellaan erityisesti seuraavia asoita:
Tee Eclipseen uusi projekti, jonka nimi on tehtava4_1. Luo sitten tähän projektiin moduli polynomi ja kirjoita siihen seuraavan kuvauksen mukainen ohjelma.
Kirjoita ohjelmaan funktio laske_arvo
, joka pyytää
käyttäjältä toisen asteen polynomin a*x**2 + b*x + c
kertoimet (kokonaislukuja) sekä muuttujan x arvon (desimaaliluku)
ja laskee polynomin arvon käyttäjän
antamalla x:n arvolla. Funktio myös tulostaa lasketun arvon.
Kirjoita tämän jälkeen pääohjelma, joka kutsuu
laske_arvo
-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 2:sen. Kirjoita kuitenkin pääohjelma niin, että
ohjelma jatkuu aina, kun käyttäjä antaa jonkun muun kokonaisluvun kuin 2.
Jos käyttäjä haluaa jatkaa ohjelman suoritusta, funktiota
laske_arvo
kutsutaan uudelleen. Tätä toistetaan
niin kauan, kunnes käyttäjä ei enää halua jatkaa.
Huomaa, että kaikki polynomin tiedot pyydetään ja tulostetaan
funktiossa laske_arvo
. 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 päättyy." siinä
vaiheessa, kun käyttäjä ei enää halua jatkaa ohjelman suoritusta.
Ole tarkka siitä, että ohjelmasi tulostus on täsmälleen (välimerkkejä myöten) alla olevan mallin mukainen. Palauta Gobliniin tiedosto polynomi.py.
[ohjelman suoritus alkaa] Anna toisen asteen polynomin ax**2 + bx + c kertoimet. Kerroin a: 2 Kerroin b: 4 Vakiotermi c: 5 Missa pisteessa polynomin arvo lasketaan? -3.0 Polynomin arvo on talloin 11.0 Haluatko jatkaa (1 = kylla, 2 = ei)? 1 Anna toisen asteen polynomin ax**2 + bx + c kertoimet. Kerroin a: -2 Kerroin b: 3 Vakiotermi c: -8 Missa pisteessa polynomin arvo lasketaan? 1.5 Polynomin arvo on talloin -8.0 Haluatko jatkaa (1 = kylla, 2 = ei)? 1 Anna toisen asteen polynomin ax**2 + bx + c kertoimet. Kerroin a: 1 Kerroin b: -6 Vakiotermi c: 3 Missa pisteessa polynomin arvo lasketaan? 8.0 Polynomin arvo on talloin 19.0 Haluatko jatkaa (1 = kylla, 2 = ei)? 3 Anna toisen asteen polynomin ax**2 + bx + c kertoimet. Kerroin a: 1 Kerroin b: 1 Vakiotermi c: 1 Missa pisteessa polynomin arvo lasketaan? 0.78 Polynomin arvo on talloin 2.3884 Haluatko jatkaa (1 = kylla, 2 = ei)? 2 Ohjelman suoritus paattyi. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta