Ehtorakenne
Totuusarvot liittyvät läheisesti ehtorakenteeseen. Sen jälkeen, kun totuusarvo on selvillä, ohjelma jatkaa suoritusta joko tosi- tai epätosihaarasta.
Ehtorakennetta hyödyntävän funktion kirjoittamista helpottaa funktion esittely. Funktio esitellään ensin kommenttirivillä ennen funktion määrittelyä. Pysyvä kommenttirivi merkitään kahdella puolipisteellä. Funktion esittelyssä kerrotaan funktion nimi, jonka jälkeen merkitään kaksoispiste. Tämän jälkeen kirjoitetaan muuttujan tai muuttujien tietotyyypit. Nuolen jälkeen kerrotaan, mikä on funktiokutsun jälkeen näkyviin tulevan paluuarvon (output) tietotyyppi. Erilaisia tietotyyppejä ovat esimerkiksi luku, kuva, totuusarvo ja merkkijono.
Tutustu ehtorakenteeseen
Esimerkki 1 Kirjoitetaan funktio, joka laskee luvun itseisarvon. Kirjoitetaan alkuun funktion itseisarvo esittely. Ehtorakenteessa selvitetään vertailuoperaattorin >= avulla, onko luku suurempi tai yhtäsuuri kuin nolla.
Määritetään funktio, jonka nimi on itseisarvo ja muuttuja a. Jos funktion kutsussa kirjoitettu luku on ei-negatiivinen, niin sitä ei muuteta. Jos argumentti on negatiivinen luku, niin se kerrotaan luvulla [[$ – $]]1. Kun funktion kutsu (itseisarvo -0.2) evaluoidaan, niin [[$ – $]]0,2 vaihdetaan vastaluvuksi 0,2.
Esimerkki 2 Funktio kertoo, onko luku parillinen vai pariton. Ehtorakenteessa selvitetään, onko funktion kutsun argumentti parillinen.
Tehtävä 1 Muokkaa esimerkin 2 Racket-ohjelmaa. Avaa alla olevista linkeistä joko DrRacket- tai WeScheme-tiedosto. WeSchemessa ei tarvita kirjastokomentoa (require 2htdp/image).
a)
Lisää ohjelmaan funktion esittely.
b) Jos argumentti on merkkijono, desimaali- tai murtoluku, niin näkyviin tulee virheilmoitus. ”expects integer” on suomeksi ”odottaa kokonaislukua”. Lisää ohjelmaan toinen ehtorakenne niin, että virheilmoitukset poistuvat. Jos funktiokutsun argumentti ei ole ole kokonaisluku, niin ohjelma kirjoittaa tekstin ”Et kirjoittanut kokonaislukua”.
Kohdan 3 harjoitustehtävät löytyvät tehtäväsarjoista 1-3. Valitse tehtäväsarja alla olevasta listasta tai ylhäältä vasemman reunan valikosta.
Katso lisäesimerkkejä erilaisista tavoista käyttää ehtorakenteita:
Lisätietoa ehtorakenteista>>
Siirry seuraavaan teoriakohtaan:
4. Tasogeometriaa
Tehtäviä ehtorakenteesta
Siirry harjoittelemaan ehtorakenteen käyttöä.
Tehtävät 22-32 on jaettu kahteen tehtäväsarjaan.
Tehtäväsarja 1 Ehtorakenne
Tehtäväsarja 2 Ehtorakenne
Tehtäväsarja 3 Soveltavia tehtäviä