命运如同手中的掌纹,无论多曲折,终掌握在自己手中。 你今天的日积月累,终会变成别人的望尘莫及。 二、应用题(50分) 1. 将下面给出的伪码转换为N-S图和PAD图。 void root(float root1,float root2) { i=1; j=0; while (i<=10) { 输入一元二次方程的系数a,b,c; p=b*b-4*a*c; if(p<0) 输出“方程i无实数根”; else if (p>0) 求出要做并输出; if (p==0) { 求出重根并输出; j=j+1; } i=i+1; } 输出重根的方程的个数j; } 答: 盒图:
命运如同手中的掌纹,无论多曲折,终掌握在自己手中。
你今天的日积月累,终会变成别人的望尘莫及。 PAD图:
2. 下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做到用语句覆盖和路径覆盖。
答: (1) 实现语句覆盖的测试方案如下: 1) 覆盖THEN部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A)OR(D输入:A=1,B=1,C=0,D=1 预期输出:X=2,Y=2 2) 覆盖ELSE部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A)OR(D输入:A=0,B=-1,C=0,D=1 预期输出:X=1,Y=1 (2) 实现路径覆盖的测试方案如下: 1) 覆盖两个条件均为假的路径 输入:A=-1,B=-2,C=-3,D=3 预期输出:X=1,Y=0 2) 覆盖第一个条件为假第二个条件为真的路径 输入:A=-1,B=-2,C=1,D=-3 预期输出:X=1,Y=4 3) 覆盖第一个条件为真第二个条件为假的路径 命运如同手中的掌纹,无论多曲折,终掌握在自己手中。 你今天的日积月累,终会变成别人的望尘莫及。 输入:A=1,B=1,C=0,D=2 预期输出:X=2,Y=2 4) 覆盖两个条件均为真的路径 输入:A=-1,B=-2,C=2,D=1 预期输出:X=3,Y=1 3. 某高中打算投资4万元改造现在的学生成绩管理系统,现有系统的维护费用每年为2.6万元,新系统运行后,新系统的维护费用为每年8000元,假设年利率为5%,请分析此项目中等成本方案的经济可行性(计算回收期和纯收入)。 答:
4. 有一个长度为24000条机器指令的程序,第一个月由甲、乙二人分别测试它。甲改正了20个错误,使程序的平均无故障时间达到了8小时。乙在测试该程序的另一个副本时改正了24个错误,其中6个错误与甲改正的相同。然后,由甲一个人继续测试这个程序。请问 (1) 刚开始测试时程序逻辑中的错误总数ET是多少? (2) 为使平均无故障时间达到240h,如果甲不利用乙的工作成果,则他还需再改正多少个错误? 答: (1) 刚开始测试时程序中的错误总数为:
ET (2) 由方程 8=)20(48000ETK 解得 K=100)2080(848000 由方程
开发成本 4.0万元 新系统的运行费用 0.8万元/年 现有系统的运行费用 2.6万元/年 每年节省的费用 2.2万元 年 节省 现在值(5%) 累计现在值 1 18000元 17142.86元 17142.86元 2 18000元 16363.64元 33506.5元 3 18000元 15517.24元 49023.7元 投资回收期=2+(40000-33506.5)/15517.24 2.42年 纯收入=49023.7-40000 9023.7元
8020624命运如同手中的掌纹,无论多曲折,终掌握在自己手中。
你今天的日积月累,终会变成别人的望尘莫及。 240=)180(10048000Ec 解得 EC1=78 78-20=58 即,为使平均无故障时间达到240h,如果甲不利用乙的工作成果,则他还需再改正58个错误。 5 画出下列伪代码的程序流程图,并计算其环形复杂度 START INPUT (A,B,C) IF A>5 THEN X=10 ELSE X=1 END IF IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15 THEN Z=30 ELSE Z=3 END IF PRINT (X,Y,Z) STOP 答: 程序流程图:
命运如同手中的掌纹,无论多曲折,终掌握在自己手中。
你今天的日积月累,终会变成别人的望尘莫及。 程序流图:
6. 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。 答:
环形复杂度=区域数=4 环形复杂度=边数-结点数+2 =14-12+2=4 环形复杂度=判定结点数+1=3+1=4 命运如同手中的掌纹,无论多曲折,终掌握在自己手中。
你今天的日积月累,终会变成别人的望尘莫及。 7. 请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。 答: PDL语言: N=1 WHILE N<=10 DO IF A(N)<=A(N+1) MAX =A(N+1); ELSE MAX =A(N) ENDIF; N=N+1; ENDWHILE; PAD图:
8. 电话号码的组成如下: 地区码:空白(本地)或“0”为首的2~4位数; 分局码:非“0”或“1”开头的两位数; 客户号码:5位数字串。 欲测程控交换机系统中的识别电话号码程序,请完成如下要求: (1)划分等价类并编号 (2)为合理等价类设计测试用例 (3)为不合理等价类设计测试用例 答: (1)划分等价类并编号: 命运如同手中的掌纹,无论多曲折,终掌握在自己手中。 你今天的日积月累,终会变成别人的望尘莫及。 (2)为合理等价类设计测试用例: (3)为不合理等价类设计测试用例 请同学们自己为(10)~(18)无效等价类设计测试用例 9. 如图所示的程序流程图描绘了一个非结构化的程序。 (1) 为什么说它是非结构化的? (2) 利用附加变量flag设计一个等价的结构化程序,用盒图描绘设计结果。 (3) 不用附加变量,设计一个等价的结构化程序,用盒图描绘设计结果。 答: (1) 因为循环控制结构有两个出口,因此是非结构化的程序。 (2) 利用附加变量flag设计的等价的结构化程序如下图(左) (3) 不用附加变量flag设计的等价的结构化程序如下图(右)
开始 停止 g q<0
p>0 命运如同手中的掌纹,无论多曲折,终掌握在自己手中。
你今天的日积月累,终会变成别人的望尘莫及。 10. 假设变量名的命名规则一般规定如下:变量名的长度不多于20个字符,第一个字符必须为英文字母,其他字符可以为英文字母、数字以及下划线的任意组合。请用等价划分类法设计测试用例。 答: (1) 划分等价类:
输入条件 合理等价类 不合理等价类 长度 ⑴ 小于20个字符 ⑵ 等于20个字符 ⑸ 大于40个字符
第一个字符 ⑶ 英文字符 ⑹ 非英文字符
其他字符 ⑷ 英文字母、数字或下划线的任意组合 ⑺ 空格 ⑻ 标点符号 ⑼ 运算符号 ⑽ 其他可显示字符
(2) 设计测试用例: 测试数据 测试范围 期望结果 ⑴ s name12 等价类 ⑴、⑶、⑷ 有效 ⑵ sh3u7ehd_u7eygdjjdu87dfg93847y 等价类 ⑵、⑶、⑷ 有效 ⑶ u7euh4hdiidju86ujfk8kl7(7frh57yfg 等价类 ⑸ 无效 ⑷ 345hfg 等价类 ⑹ 无效 ⑸ efdhj kj 等价类 ⑺ 无效 ⑹ hj!,jk 等价类 ⑻ 无效 ⑺ j+jklj 等价类 ⑼ 无效 ⑻ djh&$w2 等价类 ⑽ 无效
11. 一软件产品的功能:输入文件名,计算该文件中的字数,其数据流图如下:
请根据数据流图设计软件的结构图。要求有一级分解、二级分解和精化过程。 答: 一级分解:
字数统计程序
输入文件名 统计字数 输出字数 命运如同手中的掌纹,无论多曲折,终掌握在自己手中。
你今天的日积月累,终会变成别人的望尘莫及。 二级分解:
精化: 12. 商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折);一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折);一次购物累计等于或多于1000元,按D类标准收费(打7折)。请使用PAD图来设计收费算法。 答:
字数统计程序 输入文件名 统计字数 读取文件名 验证文件名 格式化字数 显示字数 输出字数
字数统计程序 输入文件名 统计字数 读取文件名 验证文件名 格式化字数 显示字数 输出字数