程序设计方法学第二章结构化程序.ppt
《程序设计方法学第二章结构化程序.ppt》由会员分享,可在线阅读,更多相关《程序设计方法学第二章结构化程序.ppt(50页珍藏版)》请在课桌文档上搜索。
1、第2章 结构化程序,回顾,学科地位程序设计语言和程序设计方法 程序设计方法产生与发展程序设计方法学的定义与意义结构化程序设计及其讨论的主要问题,本章目标,?有哪些控制结构?如何得到良结构的程序,主要内容,什么是结构化程序结构化定理一些新的控制结构,内容线索,什么是结构化程序流程图程序 正规程序 基本程序 结构化程序 结构化定理一些新的控制结构,流程图程序,流程图是一个描述程序的控制流程和指令执行情况的有向图。1)函数结点:有一个入口和一个出口线的结点;2)谓词结点:有一个入口和两个出口线,且它不改变程序的数据项的值的结点;(只作判断,不做计算)3)汇点:两个入口和一个出口线,且它不执行任何运算
2、的结点。,例子,L1:if B1 then goto L2;S1;if B2 then goto L2;S2;goto L1;L2:S3;,正规程序,一个流程图程序如果满足:(1)只有一个入口和一个出口(2)对于每一个结点,都有一个从入口到出口 的通路(即每个结点都可达)则这个流程图程序称为正规程序。,正规程序图例,正规子程序,一个正规程序的某些部分仍然是正规程序,把这些部分称为正规子程序。,正规程序,一个正规程序可以抽象为一个函数结点组成:正规子程序。,b,q,a,p,抽象成,=,g,b,P,q,a,g,g,b是k的正规子程序,函数结点a又是g的正规子程序,同步练习,判断一个程序是否为正规程
3、序的标准具有一个入口线和一个出口线;对每一个结点,都有一条入口线到出口线的通路通过该结点。,(a),(b),(c),基本程序,一个正规程序,如果不包含多于一个结点的正规子程序,称为基本程序。一个不可再分解的正规程序仅含一个正规子程序,F,G,同步练习,判断下列程序是正规程序,还是基本程序?,(a),(b),(c),(d),(e),7种基本程序,If-then-else,While-do,Do-until,If-then,Do-while-do,函数,序列,基集合,为了构造一个程序,可以只使用七种基本程序中的一部分。基集合:用以构造程序的基本程序的集合。例如:序列,if-then-else,wh
4、ile-do或序列,if-then-else,do-until,结构化程序,如果一个基本程序的函数结点用另一个基本程序替换,就产生了一个新的正规程序,这样的程序称为复合程序。一个复合程序的规模可大可小。它的复杂程度依赖于所使用的基集合。例如:基集合序列,if-then-else 产生一个无循环的程序类 基集合序列,do-until 产生的程序类是由基集合序列,if-then,while-do产生的程序类的子集,定义:由基本程序的一个固定的基集合构造出的复合程序称为结构化程序。结构化程序就是我们通常说得好结构的程序。,主要内容,什么是结构化程序结构化定理程序函数结构化定理递归结构程序一些新的控制
5、结构,程序函数,1)程序函数已知一正归程序P,对于每一个初始的数据状态X,若程序是终止的,那么有确定的最终数据状态Y。如果对于每一个给定的X,值Y是唯一的,那么所有的有序对的集合(X,Y)定义了一个函数。我们称这个函数为程序P的程序函数,记为P。,例:If x y then z=x;Else z=y;程序函数1:(x,y,z),(x,y,min(x,y)程序函数2:z=min(x,y),例:t:=x;x:=y;y:=t;程序函数为:(x,y,t),(y,x,x),程序函数表示形式:有序对、数据赋值以及条件规则等形式例如:if x y then z:=x else z:=y fi=(x,y,z)
6、,(x,y,min(x,y)/有序对的形式(x,y,z)|x yz:=x xyz:=y/条件规则的形式(z:=min(x,y)/数据赋值的形式,基本程序所对应的程序函数,函数:f=(x,y)|y=f(x)序列:f;g=(x,y)|y=g f(x)IF-THEN:if-then=(x,y)|p(x)y=f(x)|p(x)y=x WHILE-DO:while-do=(x,y)|k 0(j,1jk)(p fj(x)p fk(x)y=fk(x),g f(x)表示函数的复合,即g(f(x),Fj(x)表示同一函数的多重复合,即f0(x)=x,fk(x)=f fk-1(x),k=1,2,基本程序所对应的程
7、序函数,DO-UNTIL:do-until=(x,y)|k 0(j,1 jk)(p fj(x)p fk(x)y=fk(x)IF-THEN-ELSE:if-then-else=(x,y)|p(x)y=f(x)|p(x)y=g(x)DO-WHILE-DO:do-while-do=(x,y)|k 0(j,1 jk)(p f(g f)j(x)p f(g f)k(x)y=f(g f)k(x),程序函数是对程序功能的一个精确的描述。定义:如果程序P1和P2有相同的程序函数,称它们是函数等价的,或者简称是等价的。,同步练习,写出下列程序的程序函数1、while x0 do x:=x-1 od=(x,min(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 方法 第二 结构 程序
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-259543.html