Question: Consider the following pseudocode, written in a language with nested subroutines: procedure main() a : integer procedure B(a : integer) x : integer procedure A(n

Consider the following pseudocode, written in a language with nested subroutines:

procedure main()

a : integer

procedure B(a : integer)

x : integer

procedure A(n : integer)

a := n

procedure R(m : integer)

print x

x = x - 2

if x > 1

R(m + 1)

else

A(m)

body of B

x := a a

R(1)

body of main

B(3)

print a

a) What does this program print, if we assume static scoping, respectively, dynamic scoping?

b) Show the frames on the stack when A has just been called. For each frame, show the values of the local variables and the static links.

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!