- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库基础 第六章 结构化程序设计基础
数据库应用基础 ——Visual FoxPro 6.0 前言 第三部分 应用程序设计 第六章 结构化程序设计基础 6.1 程序的概述 6.2 基本程序结构 6.3 子程序、过程和自定义函数 第六章 结构化程序设计基础 第六章 结构化程序设计基础 演示课本110页,例6.2 过程文件的使用说明 自定义函数的说明 ①函数名是用户定义的,它不得与系统标准函数同名。 ②RETURN语句执行时,将表达式的值返回给函数调用表达式。返回的数据类型应与调用语句相匹配。 ③同标准函数一样,调用UDF函数时,函数名后需要一对括号。括号内用于放置自变量参数。 注意: ① PARAMETERS命令必须是过程或函数中的第一个可执行语句。 ② 参数表中列出的参数是形式参数,其值没有确定。这些形式参数将接收调用程序传递过来的的实际参数值进行计算。两者参数的名字可以不同,其它须一一对应。 其中子程序或子过程中(自定义函数除外):。 提供参数语句(DO语句)和接收参数语句(PARAMETERS 语句)必须配对使用。 通过例6-12(子程序)与例6-15(自定义函数)来对比。 6.2.3 循环结构 【功能】 首先将循环初值赋给循环变量,然后判断循环变量的值是否超过终值,若超过则跳出循环,执行ENDFOR后面命令. 如果没有超过终值,就执行循环体内的命令序列。 当遇到ENDFOR子句时,返回FOR命令,并将循环变量的值加上步长值再一次与循环终值比较,如此重复执行,直到循环变量的值超过循环终值。 见117页图6-6 【说明】 步长值省略时,系统默认步长值为1。 6.2 基本程序结构 * prog6-9.prg SET TALK OFF CLEAR p=1 FOR n=1 TO 10 p=p*n ENDFOR ? p=,p SET TALK ON 【例6.9】求数10的阶乘。 6.2 基本程序结构 指针循环 指针循环是在数据表中建立的循环,它是根据用户设置的当前记录指针,对一组记录进行循环操作。 【语句】 SCAN [范围] [FOR条件表达 式1] [WHILE条件表达式2] 命令行序列1 [LOOP] 命令行序列2 [EXIT] 命令行序列3 ENDSCAN 【功能】 该语句在指定的范围内,用记录指针来控制循环次数。执行语句时,首先判断函数EOF( )的值,若为“真”,则结束循环,执行ENDSCAN后面的语句; 否则,结合条件表达式1或条件表达式2执行命令行序列,记录指针移到指定的范围和条件内的下一条记录,重新判断函数EOF()的值,直到EOF()的值为“真”时结束循环。 6.2 基本程序结构 【说明】 SCAN…ENDSCAN循环语句中隐含函数EOF()和命令Continue的处理。 无范围选项时,则表示对所有记录进行处理。 * prog6-11.prg SET TALK OFF CLEAR USE spxx SCAN FOR 类别=饮料 DISP 商品编号,商品名称,零售价 WAIT 按任意键,继续显示下一个 WINDOWS ENDSCAN USE SET TALK ON 【例6.11】用SCAN-ENDSCAN语句完成例6~8的要求。 6.3 子程序、过程和自定义函数 1.主程序与子程序概念 1) 在程序设计中,经常会遇到有些运算或程序段落在程序中多次重复调用的情况: 2)在应用系统的开发中,一般会根据实际的需要将整个系统划分成若干个模块: 可设计相对独立并能完成特定功能的程序段,这种程序段称为过程或子程序,用于调用程序段的程序称为主程序。 2.子程序的建立与调用 【建立】 MODIFY COMMAND 【调用命令】 DO 过程名 (在主程序中调用) 【返回语句】 RETURN [TO 程序文件名 | TO MASTER] (子程序中返回) 6.3 子程序、过程和自定义函数 3.子程序的嵌套 主程序与子程序的概念是相对的,子程序也可以调用其他子程序,这叫做子程序的嵌套,子程序的嵌套如图所示。 6.3 子程序、过程和自定义函数 【例6.12】求从2开始的连续偶数阶乘的和。 *sub1.prg FOR i=1 TO n p=p*i ENDFOR RETURN *prog6-12.prg CLEAR INPUT 输入一个偶数 TO m s=0 FOR n=2 TO m STEP 2 p=1 DO sub1 s=s+p ENDFOR ?
文档评论(0)