Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

3. Ehtorakenne

Ehtorakenne

Totuusarvot liittyvät läheisesti ehtorakenteeseen. Sen jälkeen, kun totuusarvo on selvillä, ohjelma jatkaa suoritusta joko tosi- tai epätosihaarasta.
Racket-MAOL-dia17.png
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.

Esim-8lk-ehto1.png
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.

Esim-8lk-ehto2.png

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ä