PASCAL-Programming
Question 1 |
Consider the following pascal program skeleton:
program sort(...); var a,x,...;
procedure readarray;
var i,....;
begin
...:=a...
end;
procedure exchange(...);
begin
...:=a...
...:=x...
end;
procedure qsort(...);
var k,v,...;
function partition (...)...;
var i,j,...;
begin
...:=a...
...:=v...
end;
begin
.
.
end;
begin
.
.
end;
Assume that at a given point in time during program execution, following procedures are active: sort, qsort(1,9), qsort(1.3), partition(1,3), exchange(1,3).
Show snapshots of the runtime stack with access links after each of the activations.
Theory Explanation. |
Question 2 |
Given the following Pascal-like program segment
Procedure A;
x,y: integer;
Procedure B;
x,z: real
S1
end B;
Procedure C;
i: integer;
S2
end C;
end A;
The variables accessible in S1 and S2 are
x or A, y, x of B and z in S1 and x of B, y and i in S2 | |
x or B, y and z in S1 and x of B, i and z in S2 | |
x or B, z and y in S1 and x of A, i and y in S2 | |
None of the above |
Question 2 Explanation:
Note: Out of syllabus.
Question 3 |
Consider the following program in pseudo-pascal syntax. What is printed by the program if parameter a in procedure test 1 is passed as
(i) call-by-reference parameter
(ii) call-by-value-result parameter
program Example (input, output)
var b: integer;
procedure test2:
begin b:=10; end
procedure test1 (a:integer):
begin a:=5;
writeln ('point 1: ', a, b);
test2;
writeln ('point 2: ', a, b);
end
begin(*Example*)
b:=3; test1(b);
writeln('point3:', b);
end Theory Explanation. |
There are 3 questions to complete.
