High-level Language Programmer's View
main:
maxNum = 3
maxPower = 4
CalculatePowers(maxNum, maxPower)
(*)
. . .
end main
CalculatePowers(In: integer numLimit,
integer powerLimit)
integer num, pow, result
for num := 1 to numLimit do
for pow := 1 to powerLimit do
Power(num, pow, result)
(**) print num " raised to " pow " power is "
result
end for pow
end for num
end CalculatePowers
Power( In: integer n, integer e, Out: result)
if e = 0 then
result = 1
else if e = 1 then
result = n
else
Power(n, e - 1, result)
result = result * n (***)
end if
end Power
1) Trace the next execution of the recursive function Power when num=3 and pow=3 by showing the run-time stack.
2) What is the most number of call frames on the stack at any one time for the whole program?