Advanced Pascal Programming Language Problems
© 1998 by Dr. Thomas W. MacFarland -- All Rights Reserved
Instructions: Review the following program and see if you can
predict the outcome by completing a "pencil
trace" of the code.
Program output is provided at the end of this
page.
Compiler: The program was prepared using Standard Pascal
on a UNIX-based host computer.
% cat PASCAL/advanced_pencil-08.p
{ Advanced Pascal Programming Language Exercises
Dr. Thomas W. MacFarland
advanced_pencil-08.p
}
{ The purpose of this program is to:
1. Demonstrate the use of recursion to produce highly
compact code.
}
program Demonstrate_Recursion_1;
var Tally : integer;
procedure Do_Something(Z : integer);
begin
writeln('Z = ', Z:8);
Z := Z + 4;
if Z <= 100 then
Do_Something(Z);
end; {end procedure Do_Something}
begin (* main program *)
Tally := 88;
Do_Something(Tally);
end. {advanced_pencil-08.p}
% pc PASCAL/advanced_pencil-08.p
% a.out
Z = 88
Z = 92
Z = 96
Z = 100