previous next Up Title Contents Index

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 parametrinaan. Ikää kysytään kunnes iäksi on vastattu luku väliltä 18- 65 vuotta. Aliohjelman nimessä palautetaan tieto siitä, monestiko ikää piti kysyä ennenkuin hyväksytty tulos saatiin.

Tehtävä 14.141 palindromi

Kirjoita funktio palindromi, joka palauttaa nimessään tiedon siitä (1=kyllä, 0=ei) onko parametrina 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 parametrina välitetty merkki esiintyy parametrina 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.


previous next Up Title Contents Index