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