巧用输入输出语句调试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程序调试的效率。