2.3 程序设计基础
1. 基本概念
程 序:为解决某一问题而设计的一系列指令。
主程序:通常被用户直接执行的程序。
子程序:在程序中被调用的程序。
源程序: 由人用源语言编写的计算机程序,必须翻译成机器语言后才能被执行。
目标程序: 是源程序经过编译后所产生的机器语言程序。
可执行程序:
源程序被编译后产生的可被机器直接执行的程序,具有 .EXE 扩展名。在VFP中是指由项目管理器连编生成的、可脱离VFP环境运行的程序。
应用程序:
指为完成专门工作而设计的一组相互联系的例行程序和子程序。在VFP中是指一组 Visual FoxPro 程序、表单、菜单和其他文件经项目管理器连编后形成的单个程序,不能脱离VFP环境运行,扩展名为.APP。
例行程序:
按某种顺序排列的、使计算机能执行某种任务的指令集合,可以是一种专用的程序或作为程序的一部分。它可由若干个子程序组成。
2. 程序控制
(1) 顺序语句
即按程序中的语句顺序依次执行。
(2) 分支语句
条件语句:
情况语句:
IF 条件
命令组1
[ ELSE
命令组2 ]
ENDIF
DO CASE
CASE 情况1
命令组1
CASE 情况2
命令组2
…
[OTHERWISE
其它命令组 ]
ENDCASE
3. 循环语句
FOR
循环语句(预知循环次数)
FOR 变量 = 初值 TO 终值 [STEP 步长 ]
命令组
ENDFOR | NEXT
DO WHILE
循环语句(未知循环次数)
DO WHILE 条件
命令组
ENDDO
SCAN
循环语句(针对全部记录)
SCAN [ 范围 ] [FOR | WHILE 条件 ]
命令组
ENDSCAN
循环结构中的LOOP命令和EXIT命令:
LOOP是短路语句,表示从此开始下一次循环;
EXIT是退出语句,表示跳出循环。
4. 子程序
子程序的的形式可以是一个程序文件,也可以是一个过程或自定义函数。
子程序
自定义函数
过程
特点
总是被其他程序调用而不单独执行,可以调用其他子程序,不一定要返回一个值。 能以一个独立的文件储存,也可包含在调用程序中,必须返回一个值。 是一个程序段,是程序的组成部分,一般放在程序的最后。
定义方法
与程序相同,只是在子程序的结尾加需一条返回命令:
RETURN [ 表达式 |TO MASTER |TO 程序文件名]
FUNCTION 函数名
或:MODIFY COMMAND 函数名
PARAMETERS 数表
命令组
RETURN 表达式
注:用此命令定义的函数以独立的文件形式储存。
PROCEDURE 过程名
PARAMETRS 参数表
命令组
RETURN
调用方法
DO 子程序名[WITH 参数表 ] = 函数名 ( 参数表 ) DO 过程名 WITH 参数表
3. 创建应用程序
方法一:
在命令窗口中输入: MODIFY COMMAND 程序名
方法二:
单击文件菜单 → 新建 → 程序 → 新文件 → 在编辑窗口中编辑程序 → 完成后关闭 → 给出合适的程序名及保存位置 。
程序的注释: 方法1: * | NOTE 可出现在程序中的任何地方
方法2: && 一般用于命令的尾部
给程序加注释的目的是为了提高程序的可读性。
面向过程的程序设计三步曲: 输入 → 处理 → 输出
4. 修改应用程序
方法一:
在命令窗口中输入: MODIFY COMMAND 程序名 | ?
注: ? 表示不知道程序名,要从打开对话框中选定。
方法 二:
单击文件菜单 → 打开 → 选择所需程序并打开 → 在编辑窗口中对程序进行修改 → 完成后关闭退出。
5. 执行应用程序
方法一: 在命令窗口中输入: DO 程序名 | ?
方法二:从程序菜单中选择执行→从打开对话框中选择所需程序并执行之。
6. 程序设计的基本步骤
(1)对问题进行说明
(2)分解问题
(3)编制各模块
(4)测试并完善各模块
(5)组装全部模块
(6)整体测试