14.6.4 Kertaustehtäviä
Kirjoita
seuraavat funktiot tai aliohjelmat sekä kirjoita kullekin oma
testipääohjelma.
Tehtävä
14.139
suurin_kirjeen_paino
- Kirjoita
funktio
int
suurin_kirjeen_paino(double rahaa)
joka palauttaa mikä on suurin kirjeen paino, joka voidaan
lähettää rahamäärällä
rahaa.
Olkoon postimaksut:
korkeintaan 50 g 2.10 mk
korkeintaan 100 g 3.40 mk
korkeintaan 200 g 5.20 mk
korkeintaan 500 g 9.30 mk
Tehtävä
14.140
kysy_ika
- Kirjoita
aliohjelma
kysy_ika,
joka kysyy henkilön iän ja palauttaa sen parametrinään.
Ikää kysytään kunnes iäksi on vastattu luku
väliltä 18- 65 vuotta. Aliohjelman nimessä palautetaan tieto
siitä, monestiko ikää piti kysyä ennen kuin hyväksytty
tulos saatiin.
Tehtävä
14.141
palindromi
- Kirjoita
funktio palindromi, joka palauttaa nimessään tiedon siitä
(1=kyllä, 0=ei) onko parametrinä välitetty sana palindromi vai ei.
Tehtävä
14.142
laske_merkin_maarat
- Kirjoita
funktio
laske_merkin_maarat,
joka palauttaa nimessään tiedon siitä, monestiko
parametrinä välitetty merkki esiintyy parametrinä
välitetyssä jonossa (HUOM! ei täysin sama kuin
laske_merkit,
mikä ero?).
merkki = 's'
jono = "Kissa" - > palauttaa 2
Tehtävä
14.143
vero
- Kirjoita
aliohjelma
vero,
joka toimii seuraavasti:
esimerkki
aliohjelma vero (nimessä ei mitään)
parametrit: brutto 20000.0 (syöttö, input)
vero 20.0 (syöttö, input)
- > netto 16000.0 (palautus, output)
- > verottajalle 4000.0 (palautus, output)
Tehtävä
14.144
maara_alennus
- Kirjoita
funktio
maara_alennus,
joka laskee tavaroiden hinnan ja myöntää siihen
määräalennuksen, mikäli tavaraa ostetaan enemmän kuin
tiettyä rajaa (toimii esim. seuraavasti):
esimerkki 1 esimerkki 2
funktio maara_alennus
parametrit: kpl_hinta 10.0 10.0
ostos_maara 3.0 10.0
alennus_raja 5.0 5.0
alennus % 20.0 20.0
nimessä - > 30.0 80.0
Tehtävä
14.145
mjono_ajaksi
- Kirjoita
muuta_jono_pvmksi
matkien aliohjelma
mjono_ajaksi.
- Muuta
mjono_ajaksi
aliohjelmaa siten, että se toimii seuraavasti:
jono tun min sek sad
"14" - > 14 0 0 0
"14:30" - > 14 30 0 0
"14:30:25" - > 14 30 25 0
"14:30:25.20" - > 14 30 25 20
Tehtävä
14.146
aika_mjonoksi
- Kirjoita
edelliselle käänteinen aliohjelma
aika_mjonoksi.
- Muuta
aika_mjonoksi
- aliohjelmaa siten, että välitetään aika- tyypin
lisäksi muotoa kuvaava parametri seuraavasti:
0 - > muutetaan muotoon "14:30"
1 - > muutetaan muotoon "14:30:25"
2 - > muutetaan muotoon "14:30:25.20"
-
- Kirjoita
testipääohjelma, jossa kysytään kellonaikaa merkkijonoon
kunnes ajaksi vastataan
q
(kannattaa kutsua
lue_jono_oletus
- aliohjelmaa) ja muutetaan tämä sitten
mjono_ajaksi
- aliohjelmalla ja tulostetaan aikatyyppi käyttäen apuna
aika_mjonoksi
- aliohjelmaa.
- Muuta
aika_mjonoksi
- aliohjelmaa siten, että
muoto-
parametrin arvoilla 0 ja 1 suoritetaan katkaisun sijasta pyöristys.
14 30 35 45 - > "14:31"
14 30 29 30 - > "14:30"
14 30 30 00 - > "14:31"
14 30 35 45 - > "14:30:36"
Tehtävä
14.147
cAika
- Lisää
aiemmin esitettyyn luokkaan
cAika
metodit
jonoksi
ja
sijoita,
jotka mukailevat aliohjelmia
mjono_ajaksi
ja
aika_mjonoksi.