Grafische Notation - Semantik |
|
Meine Frage:
Kann mir jemand erklären, wie man mit grafischer Notation Ruby-Ausdrücke schrittweise auswerten kann?
Ich habe es bei zwei Beispielaufgaben schon mal versucht, weiß aber weder ob sie überhaupt richtig habe, und wie ich folgende Beispiele auf die gleiche Weise lösen kann:
a.
def mult(a, b)
if b == 0 then
0
else
mult(a, b-1) + a
end
end
b.
list0 = [4,2,3,0,-5]
list1 = [4,2,3,0,-5]
list2 = list1
list2[2,0] = [-11,-2]
list0[3] = [-3]
c.
list = []
list[0,0] = [list]
list[1,0] = [list]
mult(21,2)
Meine Ideen:
Folgende Aufgaben konnte ich so lösen (siehe Anhang für Bsp.B):
Bsp.A
if x = 3 < 2 then 2 else x end
Meine Lösung:
1.if x = 3 < 2 then 2 else x end
-> 2.if x = |3| < 2 then 2 else x end
-> 3.if x = |3| < |2| then 2 else x end
-> 4.if x = |false| then 2 else x end
-> 5.x: false | if |false| then 2 else x end
-> 5.x: false | x
-> 6.x: false |false|
Bsp.B
def dec(x)
if x >= 1 then
x -= 1
else
0
end
end
dec(4) + 2
RainFall hat dieses Bild (verkleinerte Version) angehängt:
|