第三章第三节(精品课45分钟).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章第三节(精品课45分钟)

3.3.1 程序流程图 3.3.2 N-S图(盒图)— Nassi,Shneiderman 3.3.3 PAD 图 (Problem Analysis Diagram) 3.3.4 判定(断)树 3.3.5 判定(断)表 3.3.6 结构式语言 3.3 处理功能描述(过程设计)的工具 3.3.1 程序流程图 图1 程序流程图中使用的符号 1.程序流程图的基本符号 选择(分支) 处理 控制流 开始或停止 输入或输出 2.举例: 有10个数,选择出其中的正数,负数,零分别以相应的提示信息输出。 开始 n=0 Input A A=0? 打印“负” 打印“零 A0? 打印“正” n≥9? 结束 n=n+1 T F T F T F 3.程序流程图的缺点: (1) 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。 (2) 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。 (3) 程序流程图不易表示数据结构。 3.3.2 盒图(N-S图) (a)顺序 (b)分支 (c)多分支 (d)循环 (e)调用子程序A 1. 盒图的基本符号 循环结束 条件 2. 举例 有10个数,选择出其中的正数,负数,零分别以相应的提示信息输出。 n=0 Input A A0? A=0? n=n+1 F T F T 打印“负” 打印“零” 打印“正” n≥10 3.3.3 PAD图 (a)顺序 (b)选择 (c)多分支 (d)循环 (e)语句标号 (f)定义 1. PAD图的基本符号 图2 使用PAD图提供的定义功能来逐步求精的例子 2. 举例:从3个数中找出最大的数输出。 开始 Input A,B,C A?max B?max C?max Output max 结束 AB? Cmax? 当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD图都不易清楚地描述。然而判定表却能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。 一张判定表由4部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。判定表右半部的每一列实质上是一条规则,规定了与特定的条件组合相对应的动作。 3.3.4 判定表 ①列出所有条件 ②所有可能做的动作 ③各种条件组合的一个矩阵 ④每种条件组合相对应的动作 举例: 假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。 用判定表可以清楚地表示与上述每种条件组合相对应的计算行李费的算法,如下表所示。 国内乘客 头等舱 残疾乘客 行李重量W=30kg 免费 (W-30) ×2 (W-30) ×3 (W-30) ×4 (W-30) ×6 (W-30) ×8 (W-30) ×12 1 2 3 4 5 6 7 8 9 T T T T F F F F T F T F T F T F F F T T F F T T F F F F F F F F T × × × × × × × × × 判定表虽然能清晰地表示复杂的条件组合与应做的动作之间的对应关系,但其含义却不是一眼就能看出来的,初次接触这种工具的人理解它需要有一个简短的学习过程。 此外,当数据元素的值多于两个时(例如,行李托运费例子中假设对机票需细分为头等舱、二等舱和经济舱等多种级别时),判定表的简洁程度也将下降。 3.5.5 判定树 判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。 判定树的优点在于,它的形式简单到不需任何说明,一眼就可以看出其含义,因此易于掌握和使用。多年来判定树一直受到人们的重视,是一种比较常用的系统分析和设计的工具。 下图是和行李费算法例子的判定表等价的判定树。 行李费算法 行李重量 W≤30kg 免费 行李重量 W30kg 国内乘客 外国乘客 头等舱 其他舱 残疾乘客 正常乘客 (W-30) ×2 (W-30) ×4 残疾乘客 正常乘客 (W-30) ×3 (W-30) ×6 头等舱 其他舱 残疾乘客 正常乘客 (W-30) ×4 (W-30) ×8 残疾乘客 正常乘客 (W-30) ×6 (W-30) ×12 图2 用判定树表示计算行李费的算法 画出下列伪码程序的程序流程图和盒图: START IF p THEN WHILE q DO f END DO ELSE BLOCK

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档