[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).
Funktiota Laske() tai aliohjelmaa LaskeT() siis ei tarvitse
esittää kohdissa a, b, c ja e.
Noudata suositusten mukaista aliohjelmien (funktioiden) kutsumekanismia.