模块化程序设计.pptx

上传人:p** 文档编号:281288 上传时间:2023-04-27 格式:PPTX 页数:36 大小:992.03KB
下载 相关 举报
模块化程序设计.pptx_第1页
第1页 / 共36页
模块化程序设计.pptx_第2页
第2页 / 共36页
模块化程序设计.pptx_第3页
第3页 / 共36页
模块化程序设计.pptx_第4页
第4页 / 共36页
模块化程序设计.pptx_第5页
第5页 / 共36页
模块化程序设计.pptx_第6页
第6页 / 共36页
模块化程序设计.pptx_第7页
第7页 / 共36页
模块化程序设计.pptx_第8页
第8页 / 共36页
模块化程序设计.pptx_第9页
第9页 / 共36页
模块化程序设计.pptx_第10页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《模块化程序设计.pptx》由会员分享,可在线阅读,更多相关《模块化程序设计.pptx(36页珍藏版)》请在第壹文秘上搜索。

1、模块化程序设计一、模块化程序设计的概念二、模块化程序设计的思想三、模块化程序的设计方法四、带参数例行程序的设计与应用1/30一模块化程序设计的概念将程序分解为独立的、可替换的、具有预定功能的模块,每个模块实现一个功能,各模块组合到一起形成最终程序。什么叫模块化程序设计?为什么需要模块化程序设计?2/37一模块化程序设计的概念 编程更容易把握 : 大程序分解成小的功能部件 代码重用:避免重复相同/相似程序代码: 提高运行效率,更易维护 程序更可读,更易理解 代码更简介美观 3/37一模块化程序设计的概念复杂问题的求解:怎么样来分析完成“高校信息管理系统”? 一个大系统(或子系统)不可能用一个主函

2、数来完成,必须将大问题分解成小问题,再由若干人、若干函数(模块)来完成。高校信息管理系统高校信息管理系统4/37高校信息管理系统高校信息管理系统人事管理人事管理子系统子系统设备管理设备管理子系统子系统教学管理教学管理子系统子系统财务管理财务管理子系统子系统学生管理学生管理子系统子系统系统管理系统管理学籍管理学籍管理班级管理班级管理成绩管理成绩管理数据查询数据查询综合测评综合测评 用户管理用户管理退出系统退出系统录入信息录入信息修改信息修改信息录入信息录入信息修改信息修改信息录入信息录入信息修改信息修改信息学籍查询学籍查询班级查询班级查询成绩查询成绩查询模块化程序设计的概念一5/37模块化程序设

3、计的思想自顶向下、逐步细化二6/37模块化程序设计的思想什么时候需要模块化?二7/37模块分解的原则:保证模块的相对独立性 高聚合、低耦合模块的实现细节对外不可见 外部:关心做什么 内部:关心怎么做设计好模块接口:接口是指罗列出一个模块的所有的与外部打交道的变量等 定义好后不要轻易改动在模块开头(文件的开头)进行函数声明三模块化程序的设计方法8/37模块化程序的设计方法Rapid语言的一般结构:例行程序例行程序1例行程序例行程序2子程序子程序1子程序子程序2子程序子程序3子程序子程序n函数声明部分函数声明部分函数执行部分函数执行部分三9/37模块化程序的设计方法模块化程序中子程序的设计原则:l

4、 子程序的功能要单一,不要设计多用途的子程序 l 子程序的规模要小l 参数和返回值的规则 参数要书写完整,不要省略 对子程序的入口参数进行有效性检查 每个子程序只有一个入口和一个出口,尽量不使用全局变量 三10/37模块化程序的设计方法形象解释模块化程序示例:以与Rapid语言相似的C语言做一个画一棵树的示例:写成子程序重复调用两次三11/37模块化程序简单示例:模块化程序的设计方法调用写成子程序三12/37模块化程序简单示例:模块化程序的设计方法写成子程序最终主程序模块化设计效果:将繁琐的程序分解为较小的相对独立的子程序,可使程序结构更清晰,容易理解三13/37模块化程序的设计方法计数与循环

5、:要实现编写模块化的程序,许多功能需要辅助实现,例如:计数功能,循环功能,数组矩阵等计数是对一个数字量一个重复加(或减)的数学行为,通常用于算出对象有多少个或放置想要之数目个对象;或用于想对某些特定标号的对象进行单独处理等。三14/37三模块化程序的设计方法在Rapid语言中,假设定义的计数变量为N,若实现每次数量加一个,可以写成: N:=N+1;或者:N:=N+2;N:=N+3; 等Rapid中4种常用计数函数AddClearIncrDecr15/37模块化程序的设计方法计数功能:Add指令:应用:在一个数字数据上增加相应的值,可用赋值指令替代:示例: Add N,3; N:=N+3;Add

6、 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初始值为0,每次加1加5次是多少?结果小练习:假设变量N1初始值为0,第一次加1,第二次加3,第三次加5,第四加7。以此类推,请问加完第10

7、0次之后N1值为多少?三18/37循环与计数共同使用:小练习答案:N1=10000模块化程序的设计方法三19/37模块化程序的设计方法循环与计数共同使用(实操练习):抓取盖板练习:将印有华航唯实四个字的盖板从左侧(点对点模式)放置区域抓取至右侧(补偿模式)放置区域。要求:1. 不需要编写抓取工具程序,直接将工具安装至法兰盘即可。2. 在取盖板区域只允许设置一个抓取点进行抓取。3. 已知盖板厚度14mm,使用计数循环功能来实现抓取。4. 不允许重复写抓取运动指令,程序中只能存在一个盖板的运动抓取指令,其余盖板使用循环计数完成。三20/37模块化程序的设计方法数组编写和调用:在设计模块化程序时,数

8、组的巧妙编写和运用也是常用方法之一。什么是数组?所谓数组,是相同数据类型的元素按一定顺序排列的集合。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。三21/37模块化程序的设计方法数组编写和调用:一维数组(5*1):二维数组(5*3):三维数组:三22/37模块化程序的设计方法数组编写和调用:使用数组的顺序:1. 确认是否使用数组(当一个程序需要很多类型一样的变量的时候,用数组)3. 确认数组的尺寸:(维度,每行每列的元素个数)2. 确认把哪些数据加到

9、数组:(长宽高?偏移长度?点位信息?等)3. 建立数组,填入数据,编程时调用三23/37模块化程序的设计方法数组码垛简单练习:完成从取垛架上取垛然后码垛到码垛区的三花垛码垛编程练习:要求:1. 将取垛处的示教点和码垛处的示教点以及中间过渡点都保存在数组中。2. 通过数组的调用来实现编程,编程中不允许出现除home点之外的点位名称直接显示。3. 码3块垛即可,可以通过循环计数等功能协助精简程序。三24/37带参数例行程序的设计与应用在Rapid语言中,程序分为三种:Procedures, Functions 和TrapsProcedure没有返回值,可用指令直接调用: Proc ()Functi

10、on有特定类型的返回值,必须通过表达式调用:Func()Trap例行程序提供处理中断的方法。Trap例行 程序和某个特定中断连接,一旦中断条件满足,将被自动执行。Trap例行程序不能在程序中直接调用。例行程序的种类:四25/37什么是带参数的例行程序?带参数例行程序的设计与应用在之前的学习中,用到的例行程序多为不带参数的且没有返回值的例行程序Procedure: Proc()此类例行程序可直接被当作功能调用,例:DS01设备的已有程序定义抓取吸盘工具的子程序直接调用四26/37什么是带参数的例行程序?带参数例行程序的设计与应用像上面的子程序GET_GUN2(),这种不传递参数,仅仅被直接调用的

11、为不带参数的例行程序。如果一个例行程序能够传递或者引用某种参数的话,那么就为带参数的例行程序。格式为:GET_GUN2(N) 其中N为某种参数,可以是数字量num,位置数据量Pos,点位数据量Robtarget,TCP数据量tooldata等等,也可以为常量或变量或可变量。四27/37什么是带参数的例行程序?带参数例行程序的设计与应用参数N在接下来的GET_GUN2例行程序中可以作为参数在GET_GUN2本地内的每一条程序中进行调用。参数point在该程序中的程序指令中被调用。四28/37带参数例行程序的设计与应用带参数例行程序应用实例:利用带参数例行程序精简DS-01芯片分拣程序:机器人抓取

12、吸盘工具机器人抓取螺丝机工具格式相似,仅有2个点不同四29/37带参数例行程序的设计与应用带参数例行程序应用实例:利用带参数例行程序精简DS-01芯片分拣程序:因为两个程序格式相同,只是点位不同,所以可以合并两个程序为一个带变量参数的例行程序。首先可以将所出现的点位全部保存至数组points4中(一共4个点位)。因为每一个程序中都会出现两个点,所以需要定义两个变量参数,m和n,用来记作选择数组中点的数字序号。令m表示过渡点序号令n表示抓取点的序号四30/37带参数例行程序的设计与应用带参数例行程序应用实例:利用带参数例行程序精简DS-01芯片分拣程序:建立带两个参数的例行程序。将GET_GUN

13、2程序中的Home点和工具点换成数组的表达形式四31/37带参数例行程序的设计与应用带参数例行程序应用实例:利用带参数例行程序精简DS-01芯片分拣程序:同理,将GET_GUN1程序中的Ready点和工具点换成数组的表达形式四32/37带参数例行程序的设计与应用带参数例行程序应用实例:利用带参数例行程序精简DS-01芯片分拣程序:比较更改后的两个程序,发现程序基本一样,故可以合并为一个程序。四33/37带参数例行程序的设计与应用带参数例行程序应用实例:利用带参数例行程序精简DS-01芯片分拣程序:合并之后的程序:使用时,若调用吸取吸盘工具程序,则赋值m:=1; n:=2;然后调用程序:GET_GUN m,n;若调用吸取螺丝枪工具时,则赋值m:=3; n:=4;然后调用程序:GET_GUN m,n;四34/37带参数例行程序的设计与应用练习:继续精简所提供的DS-01设备程序。四35/37

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > Web服务

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!