第4章结构程序设计.ppt

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

第4章 结构化程序设计 4.1 关于结构程序设计的基本概念 4.2 结构化程序和结构定理 4.3 结构化程序设计的判别 4.4 结构化程序设计的步骤和原理 4.5 逐步求精的程序设计 4.6 非结构化向结构化的转化 4.7 结构化程序的正确性验证 小结 习题 4.1 关于结构程序设计 1. 定义 结构程序设计是避免使用GOTO语句的一种程序设计 结构程序设计是自顶向下的程序设计 是一种组织和编制程序的方法,利用它编制的程序易于理解和修改 程序结构化的一个主要功能是使得正确性证明容易实现 允许在设计过程中的每一步验证其正确性,即自动导致自我说明与自我捍卫的程序风格 是讨论如何将任何大规模的复杂的流程图程序转换成一种标准形式,使得它们用几种标准的控制结构, 通过重复和嵌套来表示. 结构程序设计的综合描述 结构程序设计的综合描述: 结构程序设计是一种进行程序设计的原则和方法,按照这种原则和方法设计出的程序的特点是:结构清晰、易阅读、易修改、易验证。 结构程序设计语言:按照结构程序设计的要求设计出的程序设计语言称为结构程序设计语言。 结构化程序:利用结构程序设计语言,或按照结构程序设计的思想编制的程序称为“结构化程序” 。 关于GOTO语句的问题 4. 关于GOTO语句的问题 取消GOTO语句,即GOTO有害。理由: GOTO语句使程序的静态结构与它的动态执行之间有很大的差别。这样使程序难阅读、难查错。 去掉GOTO语句可以直接从程序结构上反映出程序运行的过程,结构清晰、便于查错、易验证。 保留GOTO语句 GOTO语句使用起来比较灵活,而且有些情况下能够提高程序的效率,若一味地强调删除GOTO语句,有些情形会使程序过于复杂,增加不必要的计算量。 折中派(Knuth) 不加限制地使用GOTO语句,特别往回跳的GOTO语句,会使程序结构难以理解,这种情形应尽量避免使用GOTO语句。 为提高效率,同时又不破坏程序的良好结构,有控制地使用GOTO语句是有必要的。 结构程序设计结论 结论: 结构程序设计讨论的是一种程序设计的方法和风格。关注的焦点是得到的程序的结构的好坏,而有无GOTO语句并不是一个程序结构好坏的标志。避免和限制使用GOTO语句是得到结构化程序的一种手段,而不是我们的目的。 结构化程序设计既着眼于程序设计的思路清晰,又着眼于程序的结构清晰。即通过结构化的设计方法获得结构化产品 4.2 结构化程序和结构定理 一、结构化程序 下面给结构化程序下一个精确的定义. 流程图程序 流程图程序的组成:函数节点、谓词节点和汇点。 函数节点:只有一条入口线和一条出口线,一般与赋值语句相对应。 谓词节点:有一条入口线和两条出口线,它不改变程序的数据项的值。 汇点:有两条入口线和一条出口线,它不执行任何运算,只起到收集出口线的作用。 流程图程序举例 流程图程序举例: 正规程序 4. 正规程序 定义:满足以下两个条件的流程图程序称为正规程序。条件: 具有一条入口线和一条出口线,且 对每个节点,都有一条从入口线到出口线的通路通过该节点。 例:下面两个流程图程序不是正规程序 正规子程序 3. 正规子程序 一个正规程序的某些部分仍然可以是正规程序,这些部分称为正规子程序. 基本程序 4. 基本程序 定义:一个正规程序,如果不包含多余一个节点的正规子程序,称为基本程序。即基本程序是一种不可再分解的正规程序。 例: 七种重要的基本程序 函数: 序列: If-then If-then-else 七种重要的基本程序 while-do: Do-until: Do-while-do: 复合程序和结构化程序 5. 复合程序 若一个基本程序的函数节点用另外一个基本程序替换, 所产生的正规程序称为复合程序。 6. 结构化程序 由基本程序的一个固定的基集合(例如,序列、IF-THEN-ELSE、While-DO)构造出的复合程序称为结构化程序。 二、结构化定理 1. 程序函数 已知一正规程序P,对于每个初始的数据状态X,若程序是终止的,那么有确定的最终数据状态Y。如果对于每一个给定的X,值Y是唯一的,那么所有的有序对的集合{(X,Y)}定义了一个函数,称这个函数为程序P的程序函数,记为[P]。 例:设程序P由三条语句组成: t:=x; x:=y; y:=t; 对任意的X=(x,y,t), 程序P的执行结果Y=(y,x,x) 因此,程序函数是{(x,y,t),(y,x,x)} 本质: 计算输入和输出的关系 二、结构化定理 2. 七种基本程序的程序函数 [f] = {(x,y)| y=f(x)} [f;g] = {(x,y)| y = g ·f(x)} [if-then] = {(x,y)|p(x)?y=f(x)|?p(x)?y=

文档评论(0)

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

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

1亿VIP精品文档

相关文档