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

(30 pts) Consider the following pseudocode:
procedure main
a: integer :=1
b: integer :=2
procedure middle
a : integer := b
procedure inner
print a,b
b: integer :=3
// body of middle
inner ()
print a,b
// body of main
middle ()
print a,b
Indicate which declarations of a and b are in the referencing environment at each print statement and what the program prints (or whether the compiler Identify static semantic errors)
a.(10 pts) using the declaration-order rules of C (but with nested subroutines): names must be declared before use, and the scope of a name extends from its declaration through the end of the block.
b.(10 pts) using the declaration-order rules of C#: names must be declared before use, but the scope of a name is the entire block in which it is declared.
c.(10 pts) using the declaration order rules Modula-3: names can be declared in any order, and their scope is the entire block in which they are declared.
 (30 pts) Consider the following pseudocode: procedure main a: integer :=1

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!