早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

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

题目

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

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)确定可删除语句。
  没有无法到达的语句。