例题 10.2.1 有如下三地址码:
read(n)
i:=1
fen:=1
L1: if i<=n goto L2
goto L3
L2: t1:=fen*i
fen:=t1
i:=i+1
goto L1
L3: write(fen)
1.将该代码段划分为基本块;
2.基于上面的结果,构造相应的程序流图。
(北邮 2000 年硕士生入学考试试题)
解题思路:
要画出程序的控制流程图,先得将程序划分成基本块的形式。基本块划分分为三个步
骤:
第一步:满足下列三个条件中任一个的语句可充当入口:
程序的第一个语句;
能由条件转移语句或无条件转移语句转移到的语句;
紧跟在条件转移语句后面的语句。
第二步:根据第一步求出的每一入口语句,构造其所属的基本块:
由该入口语句到另一入口语句(不包括该入口语句)之间组成的语句序列,
或
由该入口语句到一转移语句(包括该转移语句)之间组成的语句序列,或
评论0