标题巧用输入输出语句调试Pascal程序
栏目软件大世界
作者胡道海
发布1997-01-01
Turbo C和Turbo Pascal是现今被广泛采用的高级语言编译器。相比而言,由于前者有对变量进行跟踪调试的功能,因此调试程序的效率较高;而后者不具备此功能,调试效率较低。
笔者在Pascal程序的调试过程中尝试用输入输出语句实现这一功能,发现效果很好。
变量当前值的输出只需用write();或writeln();语句便可实现。最重要的一点是实现暂停程序运行和保持当前输出屏幕,可能大家会立刻想到系统函数keypressed。但是实践证实,由于系统原因,在一个过程或函数中此函数只能有效调用一次,不能实现多次暂停运行。而用read();或readln();语句则方便之极;并且如果输入为空格符,则此语句对屏幕毫无影响。最后,只要将输入输出语句与if或while语句联合使用,便可实现有选择的跟踪。
我们暂将实现这些功能的语句称为监视语句,下面用一个简单例子显示其使用情况:
procedure eg(n:integer);
var m,i:integer;c:char;
begin m:=1;
for i:=1 to n do
begin m:=i(m;
{if (i>10) then begin writeln(m);
readln(c);
end;}
end;
writeln('m=',m);
end;
其中括号{}中的语句便是监视语句。
监视语句在程序调试中可以任意插入或删除,且形式不固定,使用十分方便。通过实践体会和掌握并使用监视语句可以大大提高Pascal程序调试的效率。