首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通
admin
2016-11-11
35
问题
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题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://jikaoti.com/ti/f6I7FFFM
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
下表中两个事务的调度带来的问题是(54)________________。
数据库的并发操作可能带来的问题包括(51)________________。
王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档,以下关于该软件的著作权的叙述中,正确的是(17)________________。
某企业人事管理系统中有如下关系模式,员工表Emp(eno,ename,age,sal,dname),属性分别表示员工号、员工姓名、年龄、工资和部门名称;部门表Dept(dnatne,phone),属性分别表示部门名称和联系电话。需要查询其它部门比销
某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是()。
某文件系统采用位示图(bitmap)记录磁盘的使用情况。若计算机系统的字长为64位,磁盘的容量为1024GB,物理块的大小为4MB,那么位示图的大小需要()个字。
设备驱动程序是直接与()打交道的软件模块。
随机试题
简述无门店零售商几种主要的形式。
肺泡—动脉氧分压差在以下何种情况下不下降(增加最少)
A.肾小管增生B.肾间质化脓性炎C.肾小球纤维化、玻璃样变D.肾小球毛细血管内皮细胞增生,肾小球缺血E.肾小球囊脏层上皮细胞明显增生慢性硬化性肾小球肾炎的主要病理学特点是
具有下列化学结构的药物为
下列裱糊方法中,墙、柱面裱糊常用的方法有()。
单位工程验收应具备的条件有()。
阅读以下文字。完成下列问题。“腾笼换鸟”是几年前我国一些沿海地区根据当地经济发展状况和国家转变经济发展方式大战略提出的区域经济战略。由于国际金融危机冲击和经济形势变化,这一战略没有来得及全面实施。有人质疑“腾笼换鸟”脱离我国的优势,迟滞地区经济发
如今通过量子力学和广义相对论的描述,人类对于自然界的理解已经远远超越了100年前对于宇宙的机械化的理解。从基本粒子的行为到宇宙的形态,从微观到宏观,现代物理学的这两大支柱,几乎可以解释人们现在所观察到的一切自然现象。_______,物理学的这两大支柱各自主
打开窗体需要执行的宏操作是()。
A、 B、 C、 C题目是一个(AorB)式的选择疑问句,可以从A或B中选一项回答,也可以选择两者以外的C。这道题询问金女士参加会议或者仅仅我们参加会议,(C)项“听说只有你和我参加会议”符合题意,是正确选项。(A)
最新回复
(
0
)