Java Algorithmus lösen Applikativ?

1 Antwort

1-2) Bei einer if-else-Struktur wird eine Bedingung definiert. Wenn die Bedingung einer wahren Aussage entspricht, wird der if-Körper ausgeführt, andernfalls der else-Körper.

In den ersten drei Schritten geht es erst einmal darum, aufzulösen, ob die formulierte Bedingung g(7, 8) einer wahren Aussage entspricht, oder nicht. Dabei werden Teilausdrücke ausgewertet und zu true (wahr) oder false (falsch) zusammengefasst.

7 > 8 ^ odd(8)

Aufteilung in zwei Terme, die separat ausgewertet werden:
7 > 8 => unwahr / false
odd(8) => unwahr / false

Fazit:
false ^ false

3) Der ^-Operator entspricht einer XOR-Verknüpfung. Ein Ausdruck mit XOR-Verknüpfung gilt nur dann als wahr, wenn ein Term wahr und der andere Term unwahr ist.

Bei dem Ausdruck false ^ false trifft das nicht zu. Beide Terme sind unwahr, also gilt der komplette Ausdruck als unwahr. Da der Ausdruck der Bedingung entspricht, die im if-Kopf steht und die nicht erfüllt werden konnte, wird der else-Körper ausgeführt. Das wäre h(-1).

4) So wie zuvor schon der Ausdruck mit g aufgelöst wurde, passiert es hier auch mit h. Es entspricht einem Resubstitutionsverfahren.

h(e) = 4 * (-e) + 3

Der Wert in Klammern (-1) entspricht dem Parameter e.

h(-1) = 4 * (-1) + 3