大榕树 \ Pascal语言 \ Pascal入门

[图示]程序的调试(一)

原文链接:http://www.mydrs.org/program/list.asp?id=105

     任何一个天才都不敢说,他编的程序是100%正确的。几乎每一个稍微复杂一点的程序都必须经过反复的调试,修改,最终才完成。所以说,程序的调试是编程中的一项重要技术。我们现在就来掌握一下基本的程序调试。
我们以下的示范,是以时下比较流行的Borland Pascal 7.0为例子,其他的编程环境可能略有不同,但大致上是一致的。







     我们先编一个比较简单的程序,看看程序是如何调试的。

program tiaoshi;
var i:integer;
begin
for i:=1 to 300 do
begin
if i mod 2 = 0 then
if i mod 3 = 0 then
if i mod 5 = 0 then
writeln(i);
end;
end.

     该程序是输出300以内同时能被2,3,5整除的整数。 现在我们开始调试。 调试有多种方法,先介绍一种,权且叫步骤法,步骤法就是模拟计算机的运算,把程序每一步执行的情况都反映出来。通常,我们有F8即STEP这个功能来实现,如图:
不断地按F8,计算机就会一步步地执行程序,直到执行到最后的“end.”为止。







     可能你还没有发现F8的威力,我们不妨把上面的程序略微修改一下,再配合另外的一种调试的利器watch,你就会发现步骤法的用处。

program tiaoshi;
var i:integer;
a,b,c:boolean;
begin
for i:=1 to 300 do
begin
a:=false;
b:=false;
c:=false;
if i mod 2 = 0 then a:=true;
if i mod 3 = 0 then b:=true;
if i mod 5 = 0 then c:=true;
if a and b and c then writeln(i);
end;
end.

     如图,我们单击菜单栏中debug选项,里面有一项叫watch的选项,我们单击它。







     就会出现一个watch窗口:







     watch窗口可以让我们观察变量的变化情况,具体操作是在watches窗口内按Insert键:







     这时,屏幕上弹出一个菜单,我们输入所需要观察的变量名,我们分别输入i,a,b,c这4个变量名,于是watches窗口内就有如下的4个变量的状态:







     这时,我们再次使用步骤法,我们会发现,这4个变量的状态随着程序的执行而不断变化,比如:







     这样我们就可以方便地知道执行每一步之后,程序的各个变量的变化情况,从中我们可以知道我们的程序是否出错,在哪里出错,方便我们及时地修改。
下一次,我们介绍另外的一种方法,断点法。


作者:junhuizh@163.net
来源:NOI信息学竞赛
时间:2001-07-09

上一篇:程序设计的方法
下一篇:[图示]程序的调试(二)

大榕树 版权所有 ©1999-2006