2.4.4 Laskuautomaatti

2.4.4 Laskuautomaatti

Laskuautomaatti kysyy käyttäjältä lukuja ja suorittaa niiden perusteella laskutehtävän ja näyttää vastauksen käyttäjälle. Jos käyttäjä ei syötä laskun kannalta järkeviä arvoja, annetaan virheilmoitus.

Voit käyttää tässä jo aikaisemmin koodaamaasi laskufunktiota (pinta-ala, taksimatkalasku, kolmion kulmien laskeminen tms.)

Käytä display-read-funktiota lukujen kysymiseen. Muista muuntaa saadut merkkijonot luvuiksi string->number-funktion avulla. Testaa lukujen järkevyys ennen niillä laskemista! Ilmoita lopputulos käyttäjälle display-value:n avulla. Saatat joutua miettimään myös pyöristämistä, sekä yksiköiden liittämistä vastaukseen.

Avaa tästä tehtävätiedosto:

Laskuautomaatti (DrRacket)

Laskuautomaatti (WeScheme)

Tässä harjoituksessa saatat tarvita seuraavia Racket-kielen tai display-read-kirjaston funktioita (saatat tarvita muitakin, riippuen laskutehtävästäsi!):

number?

integer?

string->number

<

>

<=

>=

=

if

cond

and

or

not

display-read

display-value

+

-

*

/

round

floor

ceiling

string-append

number->string

above

beside

text

overlay/xy

exact->inexact

abs