a.
rec 1: x = 10, z = 10, x = x + z = 20
rec 2: x = 20, z = 10, x = x + z = 30
rec 3: x = 30, z = 10, x = x + z = 40
rec 4: x = 40, z = 10, x = x + z = 50
rec 5: x = 50, if fails rec ends
rec 4: z = x + 10 = 60
rec 3: z = x + 10 = 50
rec 2: z = x + 10 = 40
rec 1: z = x + 10 = 30
So,
(i) 30 is printed
(ii) recur is called 5 times.
b.
Pass by reference means x and z have the same memory and hence share the value at any point.
rec 1: x = 10, z = 10, x = x + z = 20
rec 2: x = 20, z = 20, x = x + z = 40
rec 3: x = 40, z = 40, x = x + z = 80
rec 4: x = 80, if fails rec ends
rec 3: z = x + 10 = 90
rec 2: z = x + 10 = 90 + 10 = 100
rec 1: z = x + 10 = 100 + 10 = 110
So, 110 is printed.