Question: Consider the following pseudocode: procedure main() a : integer := 1 b : integer := 2 procedure middle() b : integer := a procedure inner()

  1. Consider the following pseudocode:

  1. procedure main()
  2. a : integer := 1
  3. b : integer := 2

  1. procedure middle()
  2. b : integer := a

  1. procedure inner()
  2. print a, b

  1. a : integer := 3

  1. --body of middle
  2. inner()
  3. print a, b

  1. --body of main
  2. middle()
  3. print a, b

What does the above program print (or will the compiler identify static semantic errors), under the following assumptions:

  1. names must be declared before use, but the scope of a name is the entire block in which it is declared.
  2. names can be declared in any order and their scope is the entire block in

which they are declared.

  1. names must be declared before use and the scope of a name extends from its declaration through the end of the block.

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!