一个PASCAL教科书上的程序

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:55:02
树的遍历中给出了一个前根遍历算法
Preorder(t);
Begin
if (t=[]) or (s=0) then exit;
Process(st(t));
p(s):=t;s:=s+1;
preorder(l(t));
t:=p(s+1);
Process(r(t));
s:=s-1;t:=p(s);
End;
只给了一小段,请高手全部解释一下,说说各个变量有什么作用,st、p是什么类型的,preorder,Process是过程还是什么东西,然后这段话preorder,Process有什么作用!
吃白饭请不要发言!

在Pascal程序中,可以存在(小程序)[子程序].
就是在一个大程序中,可以有一些小的过程
每个过程都必须命名.一般格式是:
procedure 过程名字(主程序里要处理的数);
所以Preorder(t); 是把程序中的T带进来,执行这个小的过程.
Preorder(t);
Begin {子程序也要加BEGIN END}
if (t=[]) or (s=0) then exit; 当T为空或S=0时退出这个子程序!
Process(st(t));把ST(T)放到另外一个叫 Process的子程序中处理!
p(s):=t;s:=s+1;{这个看得懂吧}
preorder(l(t)); 把l(t)放到叫preorder的子程序,(也就是现在的这个子程序)中当做T处理,天啊,你就学这么复杂的了?
t:=p(s+1);
Process(r(t)); {略}
s:=s-1;t:=p(s);
End;
+++++++++++++++++++++++++++++++++++++++++++++++++++

什么书????奇怪的代码