chap4程序设计初步2W_免费下载.ppt_第1页
chap4程序设计初步2W_免费下载.ppt_第2页
chap4程序设计初步2W_免费下载.ppt_第3页
chap4程序设计初步2W_免费下载.ppt_第4页
chap4程序设计初步2W_免费下载.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

chap4程序设计初步2W_免费下载.ppt.ppt 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4.3 多模块程序,模块是可以命名的一个程序段,可指主程序、子程序和自定义函数 4.3.1 子程序 一、调用与返回 两个具有调用关系的程序文件,称调用程序为主程序,被调用程序为子程序 主程序遇到DO命令,转向子程序执行,称为调用程子程序。 子程序执行到RETURN语句(或缺省该语句),返回到主程序中的DO命令的下一个语句执行,称为返回主程序,P138例4-13 主程序,ymj=0 5,10 say 请输入半径: get bj default 0 read do js with bj,ymj ? ymj=,ymj return 子程序,名为js.prg parameters r,s s=PI()

2、*r*r &PI()系统函数,s的值送给参变量ymj return,二、带参数子程序的调用和返回 主程序中,用DO命令带一个WITH子句来传递参数,DO WITH IN 相对应的在子程序中,用PARAMETERS来接收和回送参数。 PARAMETERS ,可以是表达方式,内存变量必须赋初值,当是中的一个过程时,必须指明,1、该语句应为子程序的第一条命令, 2、PARAMETERS参数应与WITH参数一一对应,三、子程序嵌套,子程序还可以调用其它子程序(嵌套),因嵌套引出多两种返回方式 RETURN TO MASTER|TO 任何时候要推出,只要执行命令,返回最外层主程序,强制返回指定程序,省略

3、,返回外层调用程序,Return to master,Return,sub1,Return to sub1,4.3.2自定义函数一、自定义函数的建立,FUNCTION PATAMETERS RETURN ,使用它表示该函数包含在调用程序中,缺省则函数为一个独立文件,函数体,用于返回表达式的函数值,省略则返回.T.,自定义函数不能和系统函数、内存变量同名,使用方法与系统函数相同,P139 例4-14 解法二,*例4-14解法二 clear 5,10 say 一次项系数: get a default 1 7,10 say 常 数 项: get b default 0 read ?x:,root(a

4、,b) function root parameters u,v return iif(u=0,无解,-v/u),IIF系统函数,若u=0,值为“无解”;否则为-v/u,二、数组参数的传递 发送参数数组前加,接收参数数组不需定义。,*例4-14数组传送,P140 clear dimension fs(2) fs(1)=1 fs(2)=0 5,10 say 一次项系数: get fs(1) 7,10 say 常 数 项: get fs(2) read ?x:,root(fs) &树组前加可传递数组 function root parameters js & js(1)=fs(1),js(2)=f

5、s(2) return iif(js(1)=0,无解,-js(2)/js(1),4.3.3过程,VFP准许一个.PRG文件中设置多个程序模块,除主程序以外每个模块为一个过程 过程的格式如下: PROCEDURE PARAMETERS RETURN 过程部分往往位于程序文件的最后.,P141 例4-15,set decimals to 2 &设置小数点后保留两位 ymj=0 5,10 say 请输入半径: get bj default 0 read do js with bj,ymj ?ymj=,ymj return procedure js parameters r,s s=pi()*r*r

6、return,过程在另一个程序文件中时,需使用带IN的DO命令来调用 P141 例4-16,主程序文件 ymj=0 5,10 say 请输入半径: get bj default 0 read do js with bj,ymj in js1 &调用过程文件js1中的过程js ?ymj=,ymj return 过程文件 procedure js parameters r,s s=pi()*r*r return,4.3.4变量的作用域,以变量的作用域来分,内存变量分为:公共变量、私有变量和本地变量 一、公共变量 公共变量是在一个程序中的任何模块都可以使用的变量,建立命令格式 PUBLIC 需定义为

7、公共变量的变量:下层模块建立的变量要供上层使用,某模块建立的变量要供并列模块使用 VFP命令窗口定义的变量均为公共变量,公共变量必须用命令(RELEASE或CLEAR)来清除,建立的同时, 赋初值为.F.,二、私有变量,私有变量仅在定义它的模块及其下层模块中使用,定义 它的模块运行结束自动清除 私有变量准许与上层模块的变量同名,同名时屏蔽上层 模块的变量.本模块运行结束再恢复上层模块变量 私有变量类型声明格式如下: PRIVATE ALL LIKE|EXCEPT 私有变量不赋初值. 注意:PARAMETERS声明的参变量也是私有变量,P142 例4-17,parameters sj priva

8、te mj mj=3.14*sj*sj ?程序执行时的变量清单 list memo like ?j return 在命令窗口输入: mj=0 bj=3 do e4_17 with bj 观察输出情况,解释,三、本地变量,本地变量只能在建立它的模块使用,该模块运行结束自动清除 命令格式: LOCAL 注意:LOCAL不可缩写 例E4_bl,指定的变量为本地变量,并赋初值.F.,信息对话框函数,语法: MESSAGEBOX( , 对话框类型 , 对话框标题) 如: MESSAGEBOX(请重新输入,64,信息),例4_24,4.3.5程序调试方法,一.调试的概念 程序调试的目的:检查并纠正程序中的

9、错误,以保证程序的可靠运行 程序调试的步骤:检查程序是否存在错误 确定出错位置 纠正错误 1、程序中常见的错误 (1)语法错误,例:数据类型不匹配 (2)超出系统准许范围错误,例:文件太大 (3)逻辑错误,例:计算逻辑错误,2、查错技术查错技术一:静态检查,通过阅读程序,找出错误,查错技术二:动态检查,通过执行程序考察程序是否有错 (1)设置断点 在断点处查看中间结果,考察程序是否有错 (2)单步执行 一次执行一个命令,相当于断点设在每条指令之后 (3)跟踪 在程序执行过程中,跟踪某些信息的变化,以确定程序序是否有错 (4)设置错误陷阱 通过错误陷阱捕捉可能发生的错误。可通过ON ERROR语

10、句设置陷阱,二、调试器,1、打开调试器窗口 (1)“工具”菜单“调试器”命令 (2)命令窗口键如DEBUG命令 2、调试器窗口的组成 调试器可以打开5个子窗口,只要选定“跟踪”、“监视”、“局部”、“调用堆栈”或“输出”命令,即可打开相应个子窗口 (1)跟踪窗口,表示断点 表示正在执行,单击此处设置断点,双击取消,跟踪窗口“文件”采单“打开”命令,(2)监视窗口,输入监视表达式回车,进入下面的列表,执行时显示监视表达式及其当前值,可将表达式拖至文本框编辑,可用快捷菜单插入、删除表达式,(1)局部窗口(2)调用堆栈窗口(3)调试输出窗口,显示所有变量、数组以及对象,显示正在执行的程序和过程,显示活动程序、过程代码输出,3、调试器窗口的部分调试命令,(1)运行 开始执行打开的程序 (2)继续执行 断点停止后继续 (3)单步 逐行执行代码,函数、过程等后台运行 (4)单步跟踪 逐行执行代码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论