Question: 3. (30 pts) Consider the following pseudocode: I. procedure main a: integer1 3. b: integer-2 procedure middle : integera 6 procedure inner print a, b

3. (30 pts) Consider the following pseudocode: I. procedure main a: integer1 3. b: integer-2 procedure middle : integera 6 procedure inner print a, b a: integer 3 /7 body of middle inner () print a, b 10 12. // body of main 13. middle () 14. print a, b (a) Suppose this was code for a language with the declaration-order rules of C (but with nested subroutines) - that is, names must be declared before use, and the scope of a name extends from its declaration through the end of the block. At each print statement, indicate which declarations of a and b are in the referencing environment. What does the program print (or will the compiler identify static semantic errors)? (b) Repeat the exercise for 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) Repeat the exercise for 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). 3. (30 pts) Consider the following pseudocode: I. procedure main a: integer1 3. b: integer-2 procedure middle : integera 6 procedure inner print a, b a: integer 3 /7 body of middle inner () print a, b 10 12. // body of main 13. middle () 14. print a, b (a) Suppose this was code for a language with the declaration-order rules of C (but with nested subroutines) - that is, names must be declared before use, and the scope of a name extends from its declaration through the end of the block. At each print statement, indicate which declarations of a and b are in the referencing environment. What does the program print (or will the compiler identify static semantic errors)? (b) Repeat the exercise for 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) Repeat the exercise for 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)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
