




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 1 1 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计结构化程序设计原则:结构化程序设计原则:自顶向下、逐步细化自顶向下、逐步细化/求精求精1、子程序子程序基本概念:基本概念:主程序主程序:主控模块,调用子程序。:主控模块,调用子程序。子程序子程序:功能模块,被调用。:功能模块,被调用。子程序的使用:子程序的使用:主程序:主程序:do 子程序名子程序名子程序:通过子程序:通过return返回返回第第 2 2 页页Computer Educatio
2、n department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计1、子程序、子程序主程序与子程序调用关系图:主程序与子程序调用关系图:Set talk offSet talk off. . . . . DO SUB1DO SUB1. . . . . . .Set talk onSet talk on 主程序主程序MAIN.PRGMAIN.PRG. . . .DO SUB2DO SUB2. . . . . RETURNRETURN 子程序子程序SUB1.PRGSUB1.PRG子程序子程序SUB2.PRGSUB
3、2.PRG. . . . . . . . . . ReturnReturn注意注意: Retrun to master情况情况第第 3 3 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计1、子程序、子程序应用举例:应用举例:例例1:分别计算:分别计算100以内,以内,200以内,以内,300以内的奇数之和。以内的奇数之和。主程序:主程序:main.prg & 控制模块控制模块子程序:子程序:sub.prg & 功能模块功能模块set talk offc
4、learx=100do subx=200do subx=300do subset talk on s=0for j=1 to x step 2 s=s+jnext?x,”以内的奇数和为:以内的奇数和为:”,sreturn主程序主程序子程序子程序第第 4 4 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计2、过程、过程(1)过程文件概念:过程文件概念:子程序的独立存在。子程序的独立存在。将多个子程序合并起来存放在一个公用的程序文件中,该文件为将多个子程序
5、合并起来存放在一个公用的程序文件中,该文件为过程文件。过程文件。 (2)过程文件构成:过程文件构成:procedure 子程序子程序1文件名文件名 程序程序return procedure 子程序子程序2文件名文件名 程序程序return第第 5 5 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计2、过程、过程(3)过程的调用和关闭:过程的调用和关闭:调用:调用:set procedure to 过程文件名过程文件名关闭:关闭:set procedur
6、e to或或close procedure (4)过程的应用方式:过程的应用方式:方式一:主程序方式一:主程序+过程文件为两个独立的程序文件过程文件为两个独立的程序文件方式二:主程序方式二:主程序+过程文件在同一程序文件中过程文件在同一程序文件中应用举例:应用举例:1、采用过程方式,编程实现用、采用过程方式,编程实现用“*”绘制平行四边形、梯绘制平行四边形、梯形、直角三角形和等腰三角形。形、直角三角形和等腰三角形。第第 6 6 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4
7、 模块化设计模块化设计2、过程、过程(3)过程的调用和关闭:过程的调用和关闭:调用:调用:set procedure to 过程文件名过程文件名关闭:关闭:set procedure to或或close procedure (4)过程的应用方式:过程的应用方式:方式一:主程序方式一:主程序+过程文件为两个独立的程序文件过程文件为两个独立的程序文件方式二:主程序方式二:主程序+过程文件在同一程序文件中过程文件在同一程序文件中应用举例:应用举例:1、采用过程方式,编程实现用、采用过程方式,编程实现用“*”绘制平行四边形、梯绘制平行四边形、梯形、直角三角形和等腰三角形。形、直角三角形和等腰三角形。第
8、第 7 7 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计3、自定义函数、自定义函数函数的分类函数的分类系统函数系统函数自定义函数自定义函数自定义函数的概念:自定义函数的概念:是指在程序设计中需要某项功能,而系统函数又无法满足需是指在程序设计中需要某项功能,而系统函数又无法满足需要,则用户可以自己创建函数,这些函数,称为用户要,则用户可以自己创建函数,这些函数,称为用户自定义自定义函数函数 。自定义函数的分类:自定义函数的分类:内部自定义函数内部自定义
9、函数独立自定义函数独立自定义函数第第 8 8 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计3、自定义函数、自定义函数应用举例:应用举例:1、自定义一个摄氏温度转换为华氏温度的函数:、自定义一个摄氏温度转换为华氏温度的函数:ctf()。方式一:方式一:内部内部自定义函数自定义函数:ctf()程序如下:程序如下: test1.prgclearInput “请输入一个摄氏温度的值:请输入一个摄氏温度的值:” to c?”华氏温度为:华氏温度为:”,ctf
10、(c)function ctfpara x& parameters y=x*(9/5)+32return y 提问:该函提问:该函数可以如系数可以如系统函数一样统函数一样使用吗?使用吗?第第 9 9 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.4 模块化设计模块化设计3、自定义函数、自定义函数应用举例:应用举例:1、自定义一个摄氏温度转换为华氏温度的函数:、自定义一个摄氏温度转换为华氏温度的函数:ctf()。方式二:方式二:独立独立自定义函数自定义函数:ctf()程序如下:
11、程序如下:ctf.prgpara x& parameters y=x*(9/5)+32return y在命令窗口测试:在命令窗口测试:ctf()在程序中测试:在程序中测试:ctf()提问:如何提问:如何使用该函数?使用该函数?第第 1010 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.5 内存变量的作用域内存变量的作用域内存变量的分类:内存变量的分类:全局变量、局部变量、私有变量、隐藏变量全局变量、局部变量、私有变量、隐藏变量全局变量:全局变量:概念:指在概念:指在整个系统
12、各级程序中都有效整个系统各级程序中都有效的内存变量。的内存变量。定义:定义:public,先定义后使用。局部变量局部变量概念:指在概念:指在本级程序中有效本级程序中有效的内存变量。的内存变量。定义:定义:local,先定义后使用。,先定义后使用。私有变量私有变量概念:指在概念:指在本级及下级子程序中都有效本级及下级子程序中都有效的内存变量。的内存变量。定义:默认方式,直接赋值使用。定义:默认方式,直接赋值使用。隐藏变量隐藏变量概念:将高层程序中创建的、与隐藏变量同名的全局变量和私有变量概念:将高层程序中创建的、与隐藏变量同名的全局变量和私有变量隐藏起来。是私有变量的一种特例。隐藏起来。是私有变
13、量的一种特例。定义:定义:private,不创建,只是隐藏指定变量。,不创建,只是隐藏指定变量。第第 11 11 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.5 内存变量的作用域内存变量的作用域例例1:分别计算:分别计算100以内,以内,200以内,以内,300以内的奇数之和。以内的奇数之和。第第 1212 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v课堂练
14、习课堂练习1、利用、利用过程文件过程文件完成多图形绘制。完成多图形绘制。2、定义一个测试是否为素数的函数:、定义一个测试是否为素数的函数:prime()Function primeInput “请输入一个自然数:请输入一个自然数:” to nFlag=.t.for i=2 to sqrt(n)If mod(n,i)=0Flag=.f.exitEndifNextIf flag?n,”是素数是素数”Else?n,”不是素数不是素数”Endif第第 1313 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序
15、设计结构化程序设计v3.5 数组的应用数组的应用第第 1414 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.5 数组的应用数组的应用第第 1515 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v3.5 数组的应用数组的应用第第 1616 页页Computer Education department of Hunan Normal University第第3
16、3章章 结构化程序设计结构化程序设计v3.5 数组的应用数组的应用第第 1717 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v数组的应用数组的应用第第 1818 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v程序设计综合练习程序设计综合练习为什么?验证!为什么?验证!第第 1919 页页Computer Education department of Hunan
17、Normal University第第3 3章章 结构化程序设计结构化程序设计v程序设计综合练习程序设计综合练习Input “请输入一个自然数:请输入一个自然数:” to nflag=.t.for i=2 to sqrt(n) |n/2 |n-1 If mod(n,i)=0 flag=.f. exit endifnextIf flag ?n,”是素数是素数”else ?n,”不是素数不是素数”endif可以删除该语句可以删除该语句吗?为什么?吗?为什么?第第 2020 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v程序设计综合练习程序设计综合练习s=0for n=100 to 1000 flag=.t. for i=2 to sqrt(n) If mod(n,i)=0 flag=.f. exit endif nextendforIf flag s=s+1endifFlag=.t. ?为什么?为什么?第第 2121 页页Computer Education department of Hunan Normal University第第3 3章章 结构化程序设计结构化程序设计v程序设计综合练习程序设计综合练习for i=1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省张掖市高台县一中2025年物理高一下期末达标检测模拟试题含解析
- 2025年广东省广州市番禺区番禺中学物理高一下期末综合测试试题含解析
- 2025届福建省宁德市普通高中物理高二下期末学业质量监测模拟试题含解析
- 2025届河南省许昌平顶山物理高一下期末检测模拟试题含解析
- 断绝父子关系协议模板
- 二零二五版北京个人汽车租赁应急响应服务合同
- 二零二五年度北仑区老年活动中心租赁合同(含健康讲座)
- 2025年高性能复合材料采购与应用合作协议
- 2025版广州知识产权许可使用合同样本
- 2025版敏感信息保密协议示范文本
- 无人机撒肥协议书
- 2025年航天知识竞赛题库及答案
- 《国际贸易理论与实务》考试复习题库(含答案)
- 公路工程标准施工招标文件第八章-工程量清单计量规则(2018年版)
- 看场工作合同协议
- 工艺验证检查指南2025
- 安徽亳州谯城在建风电场项目“9.5”较大高处坠落事故调查报告警示教育专题学习
- 预防给药错误
- 石化公司安全生产管理制度汇编
- 支气管激发试验临床应用中国专家共识(2024版)
- DB4401∕T 11-2018 建筑废弃物运输 车辆标志与监控终端、车厢规格与密闭
评论
0/150
提交评论