- 1、本文档共85页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精化 例题:某程序流程图如右图所示,请分别用N-S图和PAD图表示。 a UNTIL x8 j b i c e WHILE x5 d x1 x2 x3 x4 f g h UNTIL x7 x6 xi= PAD图: x8 a j x1 b T F f x6 T F x7 i g h CASE xi x2 x4 x3 x5 c d e N-S图: 判定表例题: 假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。 当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元。 对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。 例:用判定表表示计算行李费算法 例:用判定表表示计算行李费算法 例:用判定表表示计算行李费算法 例:用判定表表示计算行李费算法 ? 图 用判定树表示计算行李费的算法 判定树 例题: 某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元; 对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。 请分别用判定表和判定树表示津贴标准。 √ 15 √ 20 √ 25 √ 30 √ 50 F F F F T 讲座 T F F F 助教 F T F F 讲师 F F T F 副教授 F F F T 教授 5 4 3 2 1 判定表: 课时津贴 一般授课 讲座 教授 副教授 讲师 助教 30 25 20 15 50 判定树: 练习题1:习题6.3 画出下列伪码程序的程序流程图和盒图: START IF p THEN WHILE q DO f END DO ELSE BLOCK g n END BLOCK END IF STOP Jackson方法例: 一个正文文件由若干个记录组成,每个记录是一个字符串。 要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。 要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。 (1)用Jackson图描绘输入、输出数据结构 输入数据的格式为: ①若干记录——构成文件 ②若干字符——构成一条记录 ③字符是由空格与非空格两类元素组成的 输出数据的格式为: ①一行字符串 ②本行字符串中的空格数 ③文件中的空格总数 (1) 用Jackson图描绘的输入输出数据结构。 设计步骤如下: (2) 分析确定在输入数据结构和输出数据结构中有对应关系的数据单元。 (3) 从数据结构图导出程序结构图。 (4) 列出所有操作和条件,并且把它们分配到程序结构图的适当位置。 (1)停止 (2)打开文件 (3)关闭文件 (4)印出字符串 (5)印出空格数目 (6)印出空格总数 (7)sum:=sum+1 (8)totalsum:=totalsum+sum (9)读入字符串 (10)sum:=0 (11)totalsum:=0 (12)pointer:=1 (13)pointer:=pointer+1 I(1)文件结束 I(2)字符串结束 S(3)字符是空格 (4) 列出所有操作和条件,并且把它们分配到程序结构图的适当位置。 (5) 用伪码表示程序处理过程。 流图的表示: 结点:用圆表示,一个圆代表一条或多条语句。 边:箭头线称为边,代表控制流。在流图中一条边必须终止于一个结点,即使这个结点并不代表任何语句。 区域:由边和结点围成的面积称为区域,包括图外部未被围起来的区域。 映射方法: 任何方法表示的过程设计结果,都可以翻译成流图。 对于顺序结构,一个顺序处理序列和下一个选择或循环的开始语句,可以映射成流图中的一个结点。 对于选择结构,开始语句映射成一个结点;两条分支至少各映射成一个结点;结束映射成一个结点。 对于循环结构,开始和结束语句各映射成一个结点。 V(G)=区域数 =4 V(G)=E-N+2 =11-9+2=4 V(G)=P+1 =3+1=4 例: 逻辑覆盖 ? 1、 语句覆盖 选择足够多的测试数据, 至少执行程序中所有语句一次。 在该例子中,只要设计 能通过路径SacbdR的测试 用例就覆盖了所有的语句 。所以可选择测试用例如: 【 A=2,B=0,X=3 】 ? 2. 判定覆盖(分支覆盖) 程序中的每个语句至少执 行一次,并且每个判定的 每个可能结果都至少执
文档评论(0)