Question: Consider the following pseudocode, assuming nested subroutines and static scope: procedure main() g : integer procedure B(a : integer) x : integer procedure A(n :

  1. Consider the following pseudocode, assuming nested subroutines and static scope:

procedure main()

g : integer

procedure B(a : integer)

x : integer

procedure A(n : integer)

g := n

procedure R(m : integer)

write_integer(x)

x /:= 2 integer division

if x > 1

R(m + 1)

else

A(m)

body of B

x := a a

R(1)

body of main

B(3)

write_integer(g)

  1. What does this program print?
  2. Show the frames on the stack when A has just been called. For each frame, show the static and dynamic links.
  3. Explain how A finds g.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!