pascal表达式求值

[复制链接]
查看11 | 回复2 | 2010-5-26 21:56:31 | 显示全部楼层 |阅读模式
这个是pascal语言表达式求值里的一个函数,我想知道
它的两个while语句是怎么运行的,要具体,谢谢
procedure init;
var i,j:integer;temp:string;
begin
readln(temp);
temp:=temp+'#';
amount:=0;
i:=1;j:=0;
while i0 then

begin

inc(amount);

bds[amount]:=temp;

inc(i);j:=i;

continue;

end;

inc(j);

while pos(temp[i+j],tr)=0 do inc(j);

inc(amount);

bds[amount]:=copy(temp,i,j);

inc(i,j);

end;
end;

回复

使用道具 举报

千问 | 2010-5-26 21:56:31 | 显示全部楼层
while 语句是一种当型循环。先判断while 和do 间的条件是否满足,满足运行while 到 end;间的语句直到while 和do 间的条件不满足就停止。继续运行下面的程序。建议你使用pascal里面的分步运行查看。点pascal里面的debug,里面有个addwatch,是添加观察量。再点个watch 屏幕下出先一绿色的横条,上面有你addwatch中输入变量的值、按F7,没按一次运行一句。你看下面的变量的变化就应该可以找出怎么运行。
回复

使用道具 举报

千问 | 2010-5-26 21:56:31 | 显示全部楼层
计算机的一种基本循环模式,当满足条件时进入循环,不满足跳出。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行