niusouti.com

阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。【说明】计算一个整数数组a的最长递增子序列长度的方法描述如下:假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,则数组a的最长递增子序列的长度为器;其中b[i]满足最优子结构,可递归定义为:【c代码】下面是算法的c语言实现。(1)常量和变量说明a:长度为n的整数数组,待求其最长递增子序列b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,其中0

题目

阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。

【说明】

计算一个整数数组a的最长递增子序列长度的方法描述如下:

假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长

递增子序列的长度,则数组a的最长递增子序列的长度为器;其中b[i]满足最优子结构,可递归定义为:

【c代码】

下面是算法的c语言实现。

(1)常量和变量说明

a:长度为n的整数数组,待求其最长递增子序列

b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,

其中0≤i<n

len:最长递增子序列的长度

i.j:循环变量

temp,临时变量

(2)C程序

include <stdio . h>

int maxL (int *b. int n) {

int i. temp =0;

For(i = 0; i < n; i++){

if (b[i] > temp )

Temp= b[i];

}

Return temp;

【问题l】(8分)

根据说明和C代码,填充C代码中的空(1)~(4)。

【问题2】(4分)

根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用O符号表示)。

【问题3】(3分)

已知数组a={3,10,5,15,6,8},根据说明和C代码,给出数组b的元素值。


相似考题
参考答案和解析
正确答案:
本题考查算法设计与分析以及用C程序设计语言来实现算法的能力。此类题目要求考生认真阅读题目对问题的描述,理解算法思想,并会用C程序设计语言来实现。【问题1】根据题干描述,用一个数组b来记录数组a每个子数组的最长递增子序列的长度,即b[i]记录a[0..i]的最长递增子序列的长度。首先,只有一个元素的数组的最长递增子序列的长度为1,即给b[0]直接赋值1。因此,空(1)处填写“b[0]=1”。两重for循环中,第一重是从a数组的第二个元素开始,考虑每个子数组a[0....II]的最长递增子序列的长度,第二重是具体的计算过程。考虑子数组a[0..I],其最长递增于序列的长度应该等于子数组a[O.i-l]中的比元素a[i]小的元素的最长递增子序列的长度加1,当然,可能存在多个元素比元素a[i]小,那么存在多个最长递增子序列的长度,此时,取最大者。因此,空处填写j<i”,即考虑子数组a[O...i-l]。空(3)处填写“a[j]<=a[i]”,要求元素值小于等于a[i]而且目前的长度应该小于当前考虑的子数组的最长子序列长度。空(4)处填写“b[i]=len+1”。简单的说,程序是根据题干给出的公式来实现的。另外,计算的过程不是采用递归的方式,而是以一种自底向上的方式进行的【问题2】从题干说明和C程序来看,这是一个最优化问题,而且问题具有最优子结构,一个序列的最长递增子序列由其子序列的最长递增子序列构成。在计算过程中采用了自底向上的方式来进行,这具有典型的动态规划特征。因此采用的是动态规划设计策略。C程序中,有两重for循环,因此时间复杂度为。【问题3】输入数组为数组a={3.10,5,15,6,8},很容易得到,子数组a[0...0],a[0..1].…,a[0....5]的最长递增子序列的长度分别为l,2,2,3,3,4,因此答案为b={I,2,2,3,4}。该题可以根据题干说明、C代码来计算。由于输入很简单,答案也可以从输入直接许算出来。试题四参考答案【问题1】(1)b[0]=I(2)j<i(3)a[j]<=a[i](4)b[i]=len+1【问题2】(5)动态规划(6)【问题3】b={1,2,2,3,3,4}
更多“阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。【说明】计算一个整数数组a的 ”相关问题
  • 第1题:

    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

    [说明]

    下面是用小王用Dreamweaver MX编写的一个网页,如图12-2所示。

    从这个图片上,我们可以看出小王使用了Dreamweaver MX的哪些功能?


    正确答案:①命名网页名称为“练习”。 ②保存文件为“2.htm”。 ③设置背景颜色。 ④插入表格并把第一行的三列合并成了一列。又把表格边框设为1设置边框颜色为橘黄色。 ⑤层的使用。 ⑥设置水平线并设置水平线的颜色。 ⑦设置字体为宋体并设置字体颜色为黑色大小为2位置居中。 ⑧没有定义站点。
    ①命名网页名称为“练习”。 ②保存文件为“2.htm”。 ③设置背景颜色。 ④插入表格,并把第一行的三列合并成了一列。又把表格边框设为1,设置边框颜色为橘黄色。 ⑤层的使用。 ⑥设置水平线,并设置水平线的颜色。 ⑦设置字体为宋体,并设置字体颜色为黑色,大小为2,位置居中。 ⑧没有定义站点。

  • 第2题:

    阅读下列说明,回答问题1至问题3,将解答填入对应栏内。

    【说明】

    结构化布线成为网络设计和管理的首先考虑的问题,当实施结构化布线时,需要进行详细的规划设计。

    综合布线系统设计时,应遵循哪些原则?


    正确答案:模块化设计采用星状拓扑结构同时满足话音与数据网络的要求保证各点上网具有兼容性和可扩展性达到标准要求。
    模块化设计,采用星状拓扑结构,同时满足话音与数据网络的要求,保证各点上网,具有兼容性和可扩展性,达到标准要求。 解析:与其他系统设计一样,设计者首先要进行用户需求分析,然后根据需求分析进行方案设计。但需要指出的是,综合布线系统理论上讲可以容纳:话音(包括电话、传真、音响、广播)、数据(包括计算机信号、公共数据信息)、图像(包括各种电视信号、监视信号)、控制信号(包括温度、压力、流量、水位及烟雾)等。但在实际工程中,至少在目前技术条件和工程实际需要中多为前两种话音和数据,原因是多方面的。其中值得注意的是:话音的末端装置和计算机网络的终端用户装置往往是要变动的,有的是经常变动的,因此采用综合布线系统及其跳选功能,很容易在不改动原有的敷线条件下满足用户的需求。此外,本来可用同轴电缆可靠地传输电视信号,若改用综合布线,则要增设昂贵的转换器。对消防报警信号用普通双绞线已达到要求,若改用综合布线,经过配线架再次终接,也无此必要。因此集成化的要求应视实际需要来定。
    在进行综合布线系统设计时,通常应遵循以下原则:
    (1)采用模块化设计,易于在配线上扩充和重新组合。
    (2)采用星型拓扑结构,使系统扩充和故障分析变得十分简单。
    (3)应满足通信自动化与办公自动化的需要,即满足话音与数据网络的广泛要求。
    (4)确保任何插座互连主网络,尽量提供多个冗余互连信息点插座。
    (5)适应各种符合标准的品牌设备互连入网,满足当前和将来网络的要求。
    (6)电缆的敷设与管理应符合综合布线系统设计要求。

  • 第3题:

    阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

    [说明]

    电子商务系统的外部社会环境如图10-5所示。

    请把空缺的地方填写完整。


    正确答案:(1)原料供应商。 (2)企业电子商务系统。 (3)消费者。
    (1)原料供应商。 (2)企业电子商务系统。 (3)消费者。

  • 第4题:

    阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应

    栏内。

    【说明】

    使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求

    更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。

    以下是一段C语言代码,请仔细阅读并回答相关问题:

    【问题1】(6分)

    请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。

    将答案填写在答题纸的对应栏中。

    【问题2】(5分)

    画出以上代码的流程图,将答案填写在答题纸的对应栏中。

    【问题3】(4分)

    请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取

    值范围,将答案填写在答题纸的对应栏中.


    正确答案:
    试题三分析
    本题考查嵌入式软件测试的基本知识.
    语句覆盖要求设计足够多的测试用例,运行被测程序,使得程序中每条语句至少被
    执行一次。定覆盖(分支覆盖)要求设计足够多的测试用例,运行被测程序,使得程序
    中的每个判断的“真”和“假”都至少被执行一次。条件覆盖要求设计足够多的测试用
    例,运行被测程序,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一
    次为真值,有一次为假值。MC/DC覆盖要求每个条件的取值都有覆盖,每个判定值都有
    覆盖且每个条件都能独立影响判定结果,各覆盖率的含义如表2.5所示。

    【问题2]
    本问题考查程序流程图的画法。注意开始、结束的符号。
    根据源代码,程序流程图如下。

    【问题3]
    本问题考查MC/DC覆盖率判定的综合运用。
    MC/DC与代码中的逻辑运算有关。本题代码中的逻辑运算为x>0&&y>0。根据
    MC/DC的定义,MC/DC覆盖要求每个条件的取值都有覆盖,每个判定值都有覆盖且每
    个条件都能独立影响判定结果。对于a&&b这样的逻辑运算,真值表如下。

    对测试用例1和测试用例2,条件a不变,因为条件b的不同而导致结果的不同,
    因此条件b独立影响判定的结果。对测试用例2和测试用例3,因为条件b不变,条件a
    的不同而导致结果的不同,因此条件a独立影响判定的结果。综合以上,对逻辑运算a&&
    b应产生三个测试用例,包括:(True,False)、(True,True)、(False,True)。
    所以本题用例数量:3个;条件取值范围:(x>0andy<=0)、(x<=0andy>0)及(x>0
    andy>0)。
    参考答案

    【问题2]
    【问题3]
    用例数量:3个;
    条件取值范围:
    (x>0andy<=0)、(x<=0andy>0)及(x>0andy>0)

  • 第5题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案:

  • 第6题:

    阅读以下C代码,回答问题(1)~(6),将解答填入答题纸的对应栏内。【说明】函数insertElem的功能是在元素升序排列的数组中加入一个新元素并保持数组元素升序排列的特点。在main函数中输入若干表示价格的实数,输入为0或负数或实数个数超出限定数量时终止,调用insertElem将价格按升序保存在数组pdata中,最后输出所输入的实数


    答案:
    解析:
    (1)arr[n](2)arr[i+1]=arr[i](3)arr[i+1](4)break(5)pdata,n,price(6)idx【解析】

    1空如果所有元素都比带插入元素小,那么带插入元素排在最后。23空插入元素并将其他元素后移4空如果price小于等于0,则break终止循环5空调用inserElem函数时填写的参数6遍历所有元素并输出结果。

  • 第7题:

    阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。

    【说明】
    某公司为推广洗涤新产品,需要进行用户体检调查。图4-1为调查表填写页面,表4-1所示为利用Microsoft Access创建的数据库,它将记录被调查用户的姓名、性别、年龄、了解产品方式和评价等信息。







    答案:
    解析:

  • 第8题:

    阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。
    【说明】
    某留言系统采用ASP+Access开发,其后台管理登录页面如图4-1所示。

    【问题1】(9分)
    以下是该后台管理登录页面login.asp的部分代码,请仔细阅读该段代码,根据图4-1 将(1)~(9)的空缺代码补齐。



    【问题2】(6分)
    1.在登录页面 login.asp 中通过<!--#include file=“bbb.asp”-->导入了bbb.asp的代码,以下是bbb.asp的部分代码,请仔细阅读该段代码,将空缺代码补齐。



    答案:
    解析:


  • 第9题:

    阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。?【说明】在公钥体制中,每一用户 U 都有自己的公开密钥 PKu 和私钥 SKu 。如果任意两个用户 A 和 B 按以下方式通信:A 发给 B 消息 [EpKB (m),A] 。其中 Ek(m)代表用密钥 K 对消息 m 进行加密。B收到以后,自动向A返回消息【EPkA(m),B】,以使A 知道B确实收到消息m。【问题 1】 (4分)用户 C 怎样通过攻击手段获取用户 A 发送给用户 B 的消息 m。【问题 2】 (6 分)
    若通信格式变为:
    A 给 B 发消息:EPKB(ESKA(m),m ,A)B 给 A 发消息: EpKA(EsKN (m),m,B)
    这时的安全性如何?请分析 A,B 此时是如何相互认证并传递消息的。阅读下列说明,回答问题 1 至问题 4 ,将解答写在答题纸的对 应栏内。


    答案:
    解析:
    攻击用户 C 可以通过以下手段获取报文 m:
    1. 用户C截获消息: (EPKB(m), A)2. 用户C篡改消息: (EPKB(m), C)3. 用户B返回消息: (EPKC(m), B)4. 用户C成功解密,最后得到明文m。
    答案:1. 用户C首先截获消息: (EPKB(m), A) 2. 然后将用户标识信息改为C自己的标识信息,让用户B以为这条消息就是C发过来的。即: C(“B” ) >B: (EPKB(m), C) 3. 用户B将自己的身份标识及用C的公钥加密的信息一起发送给用户C。即:B>C: (EPKC(m), B) 4. 用户C用私钥成功解密,最后得到明文m。


    答案:安全性提高了,能实现加密和认证的双重任务。 第一步,A 发给B消息是A首先用自己的秘密钥SKA对消息m加密,用于提供数字签名,再用接收方的公开钥PKB第2次加密,密文中包括明文的信息和A的身份信息。 第二步,接收方B收到密文,用自己的私钥先解密,再用对方的公钥验证发送方的身份是A,实现了B对A 的认证,并获取了明文。 第三步,B 发给A消息是B首先用自己的私钥SKB对消息m加密并签名, 再用A 的公开钥PKA第2次加密, 密文中包括明文的信息和A 的身份信息, 还有B对接收的m的签名密文。 第四步,只有A才能用自己的私钥打开B送过来的密文,并且验证是B的签名, 实现了A对B的认证,当A看见原样返回的m,就知道B收到了A发送的明文m了。

  • 第10题:

    阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内。 ?【说明】 ?某本地口令验证函数(C语言环境,X86 32指令集)包含如下关键代码;某用户的口令保存在字符数组origPassword中,用户输入的口令保存在字符数 组userPassword中,如果两个数组中的内容相同则允许进入系统。



    【问题1】(4分) 用户在调用gets()函数时输入什么样式的字符串,可以在不知道的原始口令“Secret”的情况下绕过该口令验证函数的限制? 【问题2】(4分) 上述代码存在什么类型的安全隐患?请给出消除该安全隐患的思路


    答案:
    解析:
    【问题1】gets(userPassword); 只要输入长度为超过12个字符,会出现缓冲区溢出的问题,导致函数不能正常工作。?因此只要前12个字符和后12个字符一致,则在比较的时候,因为后12个字符覆盖了origpassword,因此会绕过验证。
    【问题2】gets()函数必须保证输入长度不会超过缓冲区,一旦输入大于12个字符的口令就会造成缓冲区溢出。解决方案:改进gets()函数的安全性,或者对用户输入进行检查和校对,可通过if条件语句判断用户输入是否越界。

  • 第11题:

    阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。
    【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。




    【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。


    答案:
    解析:
    注意:原版的题目应该是Cbasic、CSilve。(1) virtual double travel(int miles,FrequentFlyer* context)=0(2)context->setState(context->Cbasic)(3)context->setState(context->CSilve)(4)context->setState(context->Cbasic)(5)context->setState(context->CSilve)

  • 第12题:

    阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。
    【说明】
    某企业网络拓扑如图1-1所示,A~E是网络设备的编号。










    答案:
    解析:
    【问题1】参考答案:1.B,2.A,3.C 4.D【问题2】5.ethernet 1 6、59.74.221.254【问题3】7) C.deny 8、A 9.F【问题4】10)192.168.4.1
    11)192.168.100.0 12)设置接口的类型是trunk
    【解析】
    【问题1】试题分析:这是一道简单的概念题,考察我们对企业园区网络的基本拓扑结构的了解。通常的企业为了确保内部网络的安全,会设置防火墙,防火墙有3个区域,外网,内网和DMZ区。DMZ通常用于存放各种服务器。因此首先可以选出B这个位置是防火墙,A用于连接Internet,是路由器。DMZ区内部有多台服务器,需要使用交换机连接。【问题3】试题分析:这是网络工程师考试第一次考华为的设备配置,而我们考前准备的都是ios的命令。那这道题是不是很难呢,其实这道题非常简单,只要我们有IOS的命令经验,这道题完全可以自己凭经验做出来,题目出题也是以选择题的形式,因此更加容易,对于没有用过华为设备的考生来说,也是非常简单的。
    【问题4】试题分析:这道题同样是基本的配置,掌握基本命令即可。

  • 第13题:

    阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

    [说明]

    阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

    windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。

    Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。

    (1)


    正确答案:域名(DNS)服务器
    域名(DNS)服务器

  • 第14题:

    阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

    [说明]

    如图10-4所示是电子商务系统平台结构示意图。

    请把空缺的地方填写完整。


    正确答案:(1)接口中间层。 (2)Web服务器。 (3)数据库服务器。
    (1)接口中间层。 (2)Web服务器。 (3)数据库服务器。

  • 第15题:

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

    [说明]

    下图是一个完整的供应链结构图,如图7-1所示。

    图7-2是管进与电子商务的整全图。

    请把图7-1空缺的部分补充完整。


    正确答案:(1)制造商 (2)零售商 (3)供应信息流。
    (1)制造商 (2)零售商 (3)供应信息流。

  • 第16题:

    试题四(共15分)

    阅读以下说明,回答问题l至问题3,将解答填入答题纸的对应栏内。

    【说明】

    赵新锐是一名大学生,他申请了学校的大学生创新创业项目,计划建立一个网上商

    店,他制定的工作计划如表4-1所示。

    【问题2](5分)

    项目在第14天时进行了检查,工作代码为G、I、H的检查情况见表4-3。请计算工

    作代码为G、I、H任务的进度状况并填空。

    【问题3](5分)

    在答题纸对应位置完成项目里程碑甘特图(注:答题纸上的时间为每方格一天)。


    正确答案:
    本题考查项目管理及计划控制的内容。
    【问题1】
    本问题考查总时差和自由时差的概念、计算方法。
    工作持续时间是指一项工作从开始到完成的时间。工作的最早开始时间(ES)是指在
    其所有紧前工作全部完成后,本工作有可能开始的最早时刻。工作的最早完成时间(EF)
    是指在其所有紧前工作全部完成后,本工作有可能完成的最早时刻。工作的最早完成时
    间等于本工作的最早开始时间与其持续时间之和。
    工作的最迟完成时间(LS)是指在不影响整个任务按期完成的前提下,本工作必须完
    成的最迟时刻。工作的最迟开始时间(LF)是指在不影响整个任务按期完成的前提下,本
    工作必须开始的最迟时刻。工作的最迟开始时间等于本工作的最迟完成时间与其持续时
    间之差。
    工作的总时差(TF)是指在不影响总工期的前提下,本工作可以利用的机动时间。工
    作的自由时差(FF)是指在不影响其紧后工作最早开始时间的前提下,本工作可以利用的
    机动时间。对于同一项工作而言,自由时差不会超过总时差。当工作的总时差为零时,
    其自由时差必然为零。
    【问题2】
    本问题考查工作进程记录表的概念和计算过程。
    项目进度计划的编制时,一般分为项目描述、项目分解、工作描述、工作责任分配
    表制定、工作先后关系确定、工作时间估计、绘制网络图和进度安排。
    所谓项目描述就是用表格的形式列出项目目标、项目范围、项目如何执行,项目完
    成计划等内容。项目描述是对项目的总体要求作一个概要性的说明,其依据是项目的立
    项规划书、已经通过的初步设计方案和批准后的可行性报告,主要内容有项目名称、项
    目目标,交付物、交付物完成准则、工作描述、工作规范、所需资源估计、重大里程
    碑等。
    【问题3]
    本问题考查项目里程碑甘特图的概念和计算过程。
    甘特图可用来安排项目中各项工作的进度,同时还能和各项资源在不同阶段的需求
    数量结合,有利于对项目管理过程进行有效的控制,当项目中某些工作进度安排有机动
    时间时,可以利用机动时间安排工作的实施进度,使项目对资源的集中需求尽可能分散,
    得到合理利用。

  • 第17题:

    阅读以下C代码,回答问题1和问题2,将解答填入答题纸的对应栏内。【C代码1】


    【问题2】写出【代码2】的运行时的输出结果。


    答案:
    解析:
    (1)输入-1331的结果是:Palindromic number.a=-1331 b=1331 输入795的结果是:a=795 b=597(2) Passed,point=4 Passed,point=1 Passed,point=1Passed,point=1 Failed

  • 第18题:

    阅读下列说明,补充(1)-(9),将解答填入答题纸的对应栏内。


    答案:
    解析:

  • 第19题:

    l阅读以下说明,回答问题l至问题4,将解答填入答题纸对应的解答栏内。
    【说明】
    某小公司网络拓扑结构如图1-l所示,租用了一条ADSL宽带来满足上网需求,为了便于管理,在Server2上安装DHCP服务提供IP地址动态配置。

    【问题1】(4分)
    ADSL利用 (1) 网络,采用 (2) 复用技术来实现宽带接入。


    答案:
    解析:
    l1.电话网络 2.频分复用

  • 第20题:

    阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
    【说明】
    某系统在线讨论区采用ASP+Access开发,其主页如图4-1所示

    【问题1】(8分)
    以下是该网站主页部分的html代码,请根据图4-1将(1)~(8)的空缺代码补齐。

    l......
    < (2) name="guestbook" (3) ="post" (4) ="guestbook_add.asp"> l
     
      
      < (6) name="body" cols="60" rows="5">

    ...... (1)~(8)的备选答案: A. submit B.form C.text D.textarea E. include F.action G method H.value


    答案:
    解析:
    1.include
    2. form
    3.method
    4.action
    5.text
    6. input
    7.submit
    8.value

  • 第21题:

    阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。
    【说明】
    Windows 系统的用户管理配置中,有多项安全设置,如图2-1 所示。





    答案:
    解析:
    【问题1】(3分)属于账号策略。 账户策略主要包括密码策略和账户锁定策略两种安全设置。
    【问题 2】(3分)Abcd321 test123! 123@host 密码必须符合复杂性要求:启用此策略,用户账户使用的密码必须符合复杂性的要求。 密码复杂性必须符合下列最低要求: 不能包含用户的账户名; 不能包含用户姓名中超过两个连续字符的部分; 至少有六个字符长; 密码总必须包含一下4类字符中的三类字符: 1、英文大写字母(A-Z) 2、英文小写字母(a-z) 3、10个基本数字(0-9) 4、特殊符号(!@#¥%等)

  • 第22题:

    阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。
    main( ){int i,n; //1for(i=1;i<5;i++){ //2n=0;  if(i!=1) //3 n=n+1; //4 if(i==3) //5 n=n+1; //6  if(n==3) //7  printf("Hello!"); //8 }} //9 问题1:(4分)请给出满足100%DC(判定覆盖)所需的逻辑条件。问题2:(6分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。问题3:(5分)请给出【问题2】中控制流图的线性无关路径。


    答案:
    解析:
    问题1:
    1、i < 52、i >= 53、i != 14、i == 15、i == 36、i != 37、n == 38、n != 3
    问题2(1) 控制流图如下图所示:



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



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

  • 第23题:

    阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。
    【说明】
    某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种
    类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。






    答案:
    解析: