编译的优化工作对于下面程序段构造的控制流程图有______个基本块。 A:=0 j:=100

admin2021-01-13  46

问题 编译的优化工作对于下面程序段构造的控制流程图有______个基本块。
                                   A:=0
                                   j:=100
                                   i:=1
                           loopl:=B;j+1
                                   C:=B+i
                                   A:=A+C
                                   if i=100 goto loop2
                                   i:=i+1
                                   goto loop1
                            loop2:write A
                                   halt

选项 A、1
B、2
C、3
D、4

答案D

解析 基本块划分的3个步骤:
   (1)满足下列3个条件之一的任一语句可充当入口。
   ①程序的第一个语句;
   ②能由条件转移语句或无条件转移语句转移到的语句;
   ③紧跟在条件转移语句后面的语句。
   (2)根据(1)求出的每一入口语句,构造其所属的基本块。
   ①由该人口语句到另一入口语句(不包括该入口语句)之间的语句序列;
   ②由该人口语句到一转移语句(包括该转移语句)之间的语句序列;
   ③由该人口语句到一停转移语句(包括该转移语句)之间的语句序列。
   (3)凡是未被纳入某一基本块中的语句,都是程序中控制流程无法到达的语句,从而也是不会被执行到的语句,可以从程序中删除。
   在本题中,根据程序求解。
   (1)确定入口。
                       A:=100                          入口
                       j:=100
                       i:=1
                       loop1:    B:=j+1               入口
                                  C:=B+I
                                  A:=A+C
                                  if i=100 goto loop2
                                  i:=i+1               入口
                                  goto 100p1
                       100p2:    write A               入口
                                  halt                  停语句
   (2)确定基本块。
                     基本块1  A:=00                       入口
                              j:=100
                              i:=1
                     基本块2    loop1:    B:=j+1         入口
                                           C:=B+I
                                           A:=A+C
                                           if i=100 goto 100p2
                     基本块3               i:=i+1         入口
                                           goto loop1
                     基本块4  loop2:      write A         入口
                                           halt           停语句
   (3)确定可删除语句。
   没有无法到达的语句。
转载请注明原文地址:https://kaotiyun.com/show/ATCZ777K
0

相关试题推荐
最新回复(0)