Johdatus tietojenkäsittelytieteeseen 11.11.2004
1. Miten modulaarisuus auttaa ohjelman rakentamisessa ja ylläpitämisessä?
Mitä seikkoja tulee huomioida moduuleja muodostettaessa? Millainen on moduulin esitysmuoto?
2. a) Selvitä erilaisten toistorakenteiden muoto ja toiminta.
b) Kirjoita moduuli, joka palauttaa lausekkeen u^v (=u*u*..*u) (v kertaa) arvon, kun parametrissa
v on jokin positiivinen kokonaisluku ja parametrissa u on mikä tahansa luku.
3. Eläinlajien evolutionaarinen kehitys voidaan kuvata puurakenteena, jonka solmuja eri eläinlajit
ovat. Tällöin puun juurena on jokin muinainen kantaeläin, ja lehtinä on nykyisiä tai sukupuuttoon
kuolleita eläinlajeja.
a) Oletetaan että puun ariteetti on 2. Kirjoita algoritmimoduuli, joka saa parametrinaan
evoluutiopuun ja palauttaa eläinlajien lukumäärän puussa. Jos et osaa ilmaista ajatustasi moduulina,
ilmaise se edes sanallisesti.
b) Olkoon käytössä joukko erilaisia eläinluokkia tunnistavia algoritmimoduuleja:
MODULE nisäkäs (eläinlaji) RETURNS totuusarvo
MODULE matelija (eläinlaji) RETURNS totuusarvo
jne.
Kirjoita algoritmimoduuli, joka saa parametrinaan evoluutiopuun (ariteetti=2) ja palauttaa nisäkäslajien
lukumäärän puussa.