首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通
admin
2016-11-11
56
问题
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较,只有当该通道两个余度设备采集值均不小于45时,才表示该路通道正常。设计人员设计函数num of passer用于统计无故障通道数目,在该函数的设计中考虑了如下因素:
(1)采用如下数据结构存储通道号及采集值:
Struct value
{unsigned int No; //通道号,1到16
unsigned short Value1; //余度1采集值
unsigned short Value2; //余度2采集值
}
(2)当输入参数异常时,函数返回-1;
(3)若正确统计了无故障通道数目,则返回该数目;
(4)该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目。
开发人员根据上述要求使用ANSI C对代码实现如下(代码中第一个数字代表行号):
1)unsigned int num_of_passer(struct value array[],unsigned int num)
{
2) unsigned int n=0; //循环变量
3) unsigned int counter; //无故障通道数目
4) if((array==NULL)||(num==0)||(num>16))
5) return-i; //当输入参数异常时,函数返回-1
6) for in=0; n<=num; n++)
{
7) if((array[n].Value1>45)&&((array[n].Value2>45)))
8) counter=counter+1;
}
9) return counter;
}
【问题1】
嵌入式软件中通常使用圈复杂度来衡量程序的可维护性(一般要求圈复杂度不大于10),请计算函数num_of_passer的圈复杂度。
选项
答案
圈复杂度:7
解析
控制流程图分析是一个静态的分析过程,它提供静态的度量标准技术,一般主要运用在白盒测试的方法中。控制流图是McCabe复杂度计算的基础,McCabe度量标准是将软件的流程图转化为有向图,然后以图论的知识和计算方法来衡量软件的质量。McCabe复杂度包括圈复杂度(Cyclomatic complexity)、基本复杂度、模块涉及复杂度、设计复杂度和集成复杂度等。
在软件测试的概念里,圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系”。圈复杂度大说明程序代码的判断逻辑复杂,可能质量低且难于测试和维护。程序的可能错误和高的圈复杂度有着很大关系。
嵌入式软件中通常使用圈复杂度来衡量程序的可维护性,一般要求圈复杂度不大于10。函数num_of_passer的流程图如下图3-1所示。
有以下3种方法计算圈复杂度:
1.没有流程图的算法:
基数为1,碰到以下项加1:
分支数(如if、for、while和do while);SWitch中的case语句数;
如果条件是2个复合条件的话,则加2,否则加1。
2.给定流程图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量。
3.给定流程图G的圈复杂度V(G),定义为V(G)=P+l,P是流图G中判定结点的数量。
按第1种没有流程图的算法,函数num of passer中一个for,两个if,但是一个if是3个复合条件应该加3,另一个if是两个组合条件,应该加2,所以圈复杂度为基数(1)+for(1)+if(3)+if(2)=7,圈复杂度为7。
按第2种圈复杂度V(G),定义为V(G)=E-N+2算法,函数num of passer流程图中E为16,N为11,所以V(G)=16-11+2=7。
按第3种圈复杂度V(G),定义为V(G)=P+1,函数num of passer流程图中P为6,所以V(G)=P+1=6+1=7。
上述3种算法中的任意方法,函数num_of_passer的圈复杂度都计算为7。
转载请注明原文地址:https://www.kaotiyun.com/show/RQWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
若系统正在将(20)________________文件修改的结果写回磁盘时系统发生崩溃,则对系统的影响相对较大。
王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档,以下关于该软件的著作权的叙述中,正确的是(17)________________。
某本科髙校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据,新增进修学
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(52)
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(53)
在Windows系统中,磁盘碎片整理程序可以分析本地卷,以及合并卷上的可用空间使其成为连续的空闲区域,从而使系统可以更高效地访问()。
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()。
随机试题
可见分光光度法常用的波长范围为
促进小肠吸收钙的主要原因是
A、出生后10~12个月B、出生后2个月C、出生后4~6个月D、出生后7~9个月E、出生后2周足月儿开始添加维生素D的时间是
工程项目费用控制的步骤包括:①分析;②比较;③预测;④纠偏;⑤检查。其正确的顺序是()。
下列各项中,关于股份有限公司创立大会的说法正确的有()。
我国“三大名锦”为南京云锦与()。
下面关于操作系统的叙述中,正确的是
______I’mwillingtohelp,Idonothavetoomuchtimeavailable.
Researchfindingsshowwespendabouttwohoursdreamingeverynight,nomatterwhatwe______duringtheday.
You’dbetterfindsomeinformationaboutthewriter,______?
最新回复
(
0
)