什么叫流图?如何画出流图?流图的环形复杂度如何计算?

题目
问答题
什么叫流图?如何画出流图?流图的环形复杂度如何计算?
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

【问题2】 (8分)

请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。


正确答案:

【问题2】 (8分)

控制流图:

控制流图的环路复杂度V(G)=6

 

第2题:

请画出两相式过流保护直流展开图。


答案:
解析:

第3题:

●以下关于数据流图的叙述中,不正确的是(36)。

(36)A.每条数据流的起点或终点必须是加工

B.应该保持父图与子图平衡

C.每个加工必须有输入数据流,但可以没有输出数据流

D.应该画出数据流而不要画控制流


正确答案:C

第4题:

什么叫吸附塔的芳烃流率,如何计算? 


正确答案:吸附塔的芳烃流率就是吸附塔进料中芳烃流率,是吸附塔操作的重要参数,吸附塔的循环时间和循环流量的调节均与它有关。计算方法:进料流量×进料中芳烃含量。

第5题:

阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。



问题1:(3分) 请针对上述C程序,给出满足100%DC(判定覆盖)所需的逻辑条件。
问题2:(7分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
问题3:(3分)请给出【问题2】中控制流图的线性无关路径。


答案:
解析:
问题1:答案:



问题2:答案:(1)、控制流图如下图所示:



(2)、V(G)=7+1=8
问题3:答案:1.1、2、5、6、13;2.1、2、3、5、6、13;3.1、2、3、4、2、5、6、13;4.1、2、5、7、12、1. . .5.1、2、5、7、8、12、1. . .6.1、2、5、7、8、9、12、1. . .7.1、2、5、7、8、9、10、12、1. . .8.1、2、5、7、8、9、10、11、7、12、1. . .
【解析】
问题1:解析:本小题考查白盒测试用例的设计方法之判定覆盖法。判定覆盖法:设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题目中共有3个判定,所以满足判定覆盖一共需要6个逻辑条件。这些条件详见上述答案。
问题2:解析:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:



其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于右图中的判定的节点个数加1。图中判定节点个数为6,所以V(G)=7+1=8。控制流程图的环路复杂性 V(G)一共有以下三种方法,但是最后一种最好用,不易出错。(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。问题3:解析:本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中有8条线性无关路径。这8条路径组成了问题2中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。

第6题:

根据源代码请回答以下问题。 void sort( int Num, int Type ){ int x = 0; int y = 0; while (Num > 0) { if( Type = = 0) x = y + 2; else { if( Type = = 1 ) x = y + 5; else x = y + 10; } Num--; } } (1) 请画出控制流图并计算控制流图复杂度V(G) 。 (2) 找出独立路径。 (3) 请使用基本路径测试法设计测试用例。 (4) 根据控制流图,找出变量x和y的DU path


正确答案:
V(G)=4(2)找出独立路径。1-71-2-3-71-2-4-5-71-2-4-6-7(3)请使用基本路径测试法设计测试用例。Num=1Num=1,type=0Num=1,type=1Num=1,type=2(4)根据控制流图,找出变量x和y的DUpathX无DUpathY的DUpath1-2-3-71-2-4-5-71-2-4-6-7

第7题:

阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。



【问题1】(3分)请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。【问题2】(8分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。


答案:
解析:
【问题1】i<ncycle;i>=ncycle;j=cyclelen;pos>=panonopt;pos


V(g)=4【问题3】 1、2、8 1、2、3、4、2.。。。 1、2、3、4、5、6、4.。。。 1、2、3、4、5、7、4.。。。
【解析】
【问题1】本题中的涉及判定相关的语句有:i<ncycle ; i>=ncycle; pos>=panonopt_end;所以满足100%判定的逻辑条件为:i<ncycle;i>=ncycle;j=cyclelen;pos>=panonopt_end;pos


控制流程图的环路复杂性V(G)等于:
(1)控制流程图中的区域个数(2)边数-节点数+2(3)判定数+1V(g)=4【问题3】线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流程图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径: 1、2、8 1、2、3、4、2.。。。 1、2、3、4、5、6、4.。。。 1、2、3、4、5、7、4.。。。

第8题:

把数据流图分转化为软件结构图,一般把数据流图分为:变换型数据流图和()。

A.事务型数据流图

B.结构型数据流图

C.流程型数据流图

D.信息型数据流图


正确答案:A

第9题:

简述如何画分层数据流图。


正确答案: 对于比较复杂的实际问题,在数据流图上常常出现十几个乃至几十个、上百个加工,这样的数据流图看起来很不清楚。采用层次结构的数据流图则能很好地解决这个问题。
对系统按照自顶向下的逐步细化和分层分解,并以分层的数据流图反映该问题的结构关系,就能比较清楚地表达和容易地理解整个系统。
在画分层数据流图应考虑如下几个问题:
1)编号
2)父图和子图的数据平衡子图是父图的细化,因此,子图的输入、输出数据流应和父图中相应加工的输入、输出数据流一致。
3)分解的程度一个加工每次分解细化出的子加工个数一般不要超过7个

第10题:

什么叫流图?如何画出流图?流图的环形复杂度如何计算?


正确答案: 流图是抽象化的程序流图,突出表现控制流。
符号O为流图的一个结点,表示一个或多个无分支语句。箭头为边,表示控制流的方向。在分支结构中,分支的汇聚处应有一个汇聚结点。每一条边必须终止于一个结点。如果判断中的条件表达式是由一个或多个逻辑运算符(OR,AND,NAND,NOR)连接的复合条件表达式,则需要改为一系列只有单个条件的嵌套的判断。
根据程序内单条件分支数或循环个数来度量环形复杂度即程序的复杂度。环形复杂度即程序的复杂度。
根据程序内单条件分支数或循环个数来度量环形复杂度即程序的复杂度。
V(G)=流图区域数
V(G)=边数-结点数+2
V(G)=单条件判定数+1