[15 p] Aliohjelmat ja funktiot. Funktio Laske(X, Y, Z) on kokonaislukuarvoinen funktio, joka palauttaa lausekkeen
f(X,Y,Z)=87*(X-6*Y)/Z+7654321 arvon. Kaikki parametrit ovat kokonaislukuarvoisia. Parametrit X ja Y ovat arvoparametreja, mutta parametri Z on viiteparametri. Globaalit muuttujat A, B ja C on määritelty ja alustettu pääohjelmatasolla.
- [4 p] Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla funktion Laske() avulla lasketaan muuttujalle C uusi arvo C = f( A, 33, B).
- [2 p] Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla funktion Laske() avulla lasketaan muuttujalle C uusi arvo C = f( -54321, 12345678, 12345).
- [2 p] Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla funktion Laske() avulla lasketaan muuttujalle C uusi arvo C = f( C, C, C).
- [5 p] Toteuta ttk-91 koneen symbolisella konekielellä funktio Laske().
- [2 p] Oletetaan nyt, että funktion Laske asemesta meillä on aliohjelma LaskeT( X, Y, Z, T), joka palauttaa ulostuloparametrissaan T lausekkeen f(X,Y,Z)=87*(X-6*Y)/Z+7654321 arvon. Kaikki parametrit ovat kokonaislukuarvoisia. Parametrit X ja Y ovat arvoparametreja, mutta parametrit Z ja T ovat viiteparametreja.
Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla aliohjelman LaskeT() avulla lasketaan muuttujalle C uusi arvo C = f( A, 33, B).
HUOM: Funktiota Laske() tai aliohjelmaa LaskeT() siis ei tarvitse esittää kohdissa a, b, c ja e.
Noudata suositusten mukaista aliohjelmien (funktioiden) kutsumekanismia.