L 5,R 65,J,T 5 10 @Ots(P„„teohjaus 3) SECTION Funktiot Kirjoita seuraavat funktiot tai aliohjelmat sek„ testiohjelma, jolla testataan niiden toimivuus. BEGIN NUMBERED Funktio int etumerkki(double x, double eps) joka palauttaa BEGIN GESIMERKKI -1 mik„li x<-eps 0 mik„li -eps<=x<=eps 1 mik„li x>eps END GESIMERKKI Aliohjelma kysy_vuosi, joka kysyy vuosiluvun ja palauttaasen parametrinaan. Aliohjelman nimess„ palautetaan 0 mik„liannettu vuosiluku ei ole t„lt„ vuosisadalta tai sy”tt” onmuuten v„„rin. Mik„li sy”tt” on t„lt„ vuosisadalta, palautetaan aliohjelman nimess„ 1. END NUMBERED SECTION Kerho-ohjelma 1. versiot SUBSECTION Runko BEGIN NUMBERED Kopioi KERHO-ohjelman 1. versio omaan hakemistoosi: BEGIN GESIMERKKI C:\MyTemp\ohj\vesal>PAINAR copyn:\kurssit\cpp\kerho\runko.1\*.* END GESIMERKKI Tutki Borland-C:ll„ tiedostoa kerho.cpp Aja ohjelmaa kokonaisena ja askel kerrallaan. Ymm„rr„tk” nyt PAINA [F7] ja PAINA [F8] eron? Siirry riville, jossa lukee BEGIN GESIMERKKI nimi = "Ankka Aku"; END GESIMERKKI Laita riville keskeytyskohta (PAINA [Ctrl-F8]). Aja ohjelma (PAINA [Ctrl-F9]). Vastaile kunnes ohjelma pys„htyy. Laita watch ikkunaan muuttujat this ja *this. Aja askel kerrallaan ja seuraa mit„ tapahtuu. Tutki mitk„ osat ymm„rr„t (vrt. listaus monisteessa). END NUMBERED SECTION Taulukot BEGIN NUMBERED Kirjoita funktio joka palauttaa nimess„„n C-merkkijononpituuden. Kirjoita testiohjelmaksi vakiokutsuja: BEGIN GESIMERKKI pit=pituus("Aku Ankka"); ... END GESIMERKKI Kirjoita funktio, joka palauttaa nimess„„n parametrinaannetun C-merkkijonon v„lily”ntien lukum„„r„n. Kirjoitatestiohjelmaksi vakiokutsuja: BEGIN GESIMERKKI val=valeja("Aku Ankalla on merimiespusero p„„ll„."); ... END GESIMERKKI END NUMBERED SECTION #define Tutki (=kirjoita lyhyt malliohjelma, jolla voit testata) pit„v„tk” seuraavat v„itteet paikkansa (kirjoita vastauksetv„itteiden viereen ja tarkista lopuksi ohjaajan kanssa v„itteet): BEGIN NUMBERED My”s lainausmerkeiss„ oleva teksti korvautuu! #define pit„„ kirjoittaa ennen kaikkia aliohjelmia! #define on muotoa #define vakio=arvo #define rivi pit„„ p„„tt„„ puolipisteeseen. Seuraavasta seuraa k„„nn”svirhe: BEGIN GESIMERKKI #define OMA 5; ... a = a + OMA + 3; END GESIMERKKI #define korvaa vain kokonaisia sanoja. #define ei voi sis„lt„„ funktiokutsuja. #definell„ ei voi m„„ritell„ tyhji„ jonoja END NUMBERED