模块化程序设计.pptx
《模块化程序设计.pptx》由会员分享,可在线阅读,更多相关《模块化程序设计.pptx(36页珍藏版)》请在课桌文档上搜索。
1、模块化程序设计,一、模块化程序设计的概念二、模块化程序设计的思想三、模块化程序的设计方法四、带参数例行程序的设计与应用,1/30,目录,一,模块化程序设计的概念,将程序分解为独立的、可替换的、具有预定功能的模块,每个模块实现一个功能,各模块组合到一起形成最终程序。,什么叫模块化程序设计?,为什么需要模块化程序设计?,2/37,一,模块化程序设计的概念,编程更容易把握:大程序分解成小的功能部件代码重用:避免重复相同/相似程序代码:提高运行效率,更易维护程序更可读,更易理解代码更简介美观,3/37,一,模块化程序设计的概念,复杂问题的求解:怎么样来分析完成“高校信息管理系统”?一个大系统(或子系统
2、)不可能用一个主函数来完成,必须将大问题分解成小问题,再由若干人、若干函数(模块)来完成。,高校信息管理系统,4/37,模块化程序设计的概念,一,5/37,模块化程序设计的思想,自顶向下、逐步细化,二,6/37,模块化程序设计的思想,什么时候需要模块化?,二,7/37,模块分解的原则:保证模块的相对独立性 高聚合、低耦合模块的实现细节对外不可见 外部:关心做什么 内部:关心怎么做设计好模块接口:接口是指罗列出一个模块的所有的与外部打交道的变量等 定义好后不要轻易改动在模块开头(文件的开头)进行函数声明,三,模块化程序的设计方法,8/37,模块化程序的设计方法,Rapid语言的一般结构:,三,9
3、/37,模块化程序的设计方法,模块化程序中子程序的设计原则:,子程序的功能要单一,不要设计多用途的子程序 子程序的规模要小参数和返回值的规则 参数要书写完整,不要省略 对子程序的入口参数进行有效性检查 每个子程序只有一个入口和一个出口,尽量不使用全局变量,三,10/37,模块化程序的设计方法,形象解释模块化程序示例:,以与Rapid语言相似的C语言做一个画一棵树的示例:,写成子程序,重复,调用两次,三,11/37,模块化程序简单示例:,模块化程序的设计方法,调用,写成子程序,三,12/37,模块化程序简单示例:,模块化程序的设计方法,写成子程序,最终主程序,模块化设计效果:将繁琐的程序分解为较
4、小的相对独立的子程序,可使程序结构更清晰,容易理解,三,13/37,模块化程序的设计方法,计数与循环:,要实现编写模块化的程序,许多功能需要辅助实现,例如:计数功能,循环功能,数组矩阵等,计数是对一个数字量一个重复加(或减)的数学行为,通常用于算出对象有多少个或放置想要之数目个对象;或用于想对某些特定标号的对象进行单独处理等。,三,14/37,三,模块化程序的设计方法,在Rapid语言中,假设定义的计数变量为N,若实现每次数量加一个,可以写成:N:=N+1;或者:N:=N+2;N:=N+3;等,Rapid中4种常用计数函数,AddClearIncrDecr,15/37,模块化程序的设计方法,计
5、数功能:,Add指令:应用:在一个数字数据上增加相应的值,可用赋值指令替代:示例:Add N,3;N:=N+3;Add N,-n;N:=N-n;,Clear 指令:应用:将一个数字数据的值归零,可以替代赋值指令。示例:Clear N;N:=0;,三,16/37,模块化程序的设计方法,计数功能:,Incr 指令:应用:在一个数字数据上增加1,可用赋值指令替代。示例:Incr N;N:=N+1;,Decr 指令:应用:在一个数字数据上减1,可用赋值指令替代。示例:Decr N;N:=N-1;,三,17/37,循环与计数共同使用:,模块化程序的设计方法,在这里使用for循环做示例:假设变量N1初始值
6、为0,每次加1加5次是多少?,结果,小练习:假设变量N1初始值为0,第一次加1,第二次加3,第三次加5,第四加7。以此类推,请问加完第100次之后N1值为多少?,三,18/37,循环与计数共同使用:,小练习答案:N1=10000,模块化程序的设计方法,三,19/37,模块化程序的设计方法,循环与计数共同使用(实操练习):,抓取盖板练习:将印有华航唯实四个字的盖板从左侧(点对点模式)放置区域抓取至右侧(补偿模式)放置区域。要求:不需要编写抓取工具程序,直接将工具安装至法兰盘即可。在取盖板区域只允许设置一个抓取点进行抓取。已知盖板厚度14mm,使用计数循环功能来实现抓取。不允许重复写抓取运动指令,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模块化 程序设计
链接地址:https://www.desk33.com/p-363002.html