教 学 大 纲
  授 课 教 案
  CAI 课 件
  实 验 指 导
  习   题
  课 程 试 卷
  参 考 资 料
 
第 8章 结构化程序设计

目的要求 掌握 程序的建立、执行方法,

重点难点 掌握程序的概念、建立和编辑程序的方法、掌握运行程序的方法

熟练掌握输出 ?、?? 命令、键盘输入INPUT、ACCEPT、WAIT命令

 

VFP将命令文件称为程序文件或程序,是以文件的形式存放到磁盘上,其主文件名的规定与表文件名相同,扩展名为 .PRG

1.建立程序文件

程序文件可以用任意一种文本编辑软件建立和修改,在这里介绍的是 VFP系统提供的文本编辑器编辑程序的方法。

方法一 在命令窗口中输入命令

格式: MODIFY COMMAND <程序文件名>[.PRG]

或 MODIFY FILE <程序文件名>.PRG

注:在文件名前可以指明路径。

方法二 执行菜单“文件” /“新建”命令,进入“新建”对话框,选定“程序”文件类型后,单击“新建文件”按钮。

方法三 在“项目管理器”中选择“代码”选项卡 /选“程序”后,单击“新建”按钮 。

打开文本编辑窗口,建立或修改程序文件。每条语句必须以回车结束。

程序的保存与放弃:

•  在程序编辑窗口,执行菜单“文件” /“保存”或工具栏上的“保存”按钮。

•  当编辑程序完成后,按 Ctrl+End或Ctrl+W键保存程序文件,随之关闭编辑窗口;若用Esc键或Ctrl+Q键关闭编辑窗口,不保存程序。

2.打开并修改程序

打开程序文件常用以下几种方法:

•  从“项目管理器”窗口的“代码”选项卡中选择要修改的程序名,单击“修改”按钮,将打开代码编辑窗口,可进行修改。

•  执行菜单“文件” /“打开”或单击工具栏上的“打开”按钮,在弹出的“打开”对话框选择要修改的程序文件名,单击“确定”按钮即可。

•  在命令窗口输入命令: MODIFY COMMAND <程序文件名>

3. 执行程序文件的方法

( 1) 命令方式: DO <程序文件名>

功能:执行由 <程序文件名>表示的程序。默认运行.PRG程序。

执行 DO命令时,Visual FoxPro会自动对程序(扩展名.PRG)编译并产生与主文件名相同的目标程序(扩展名.FXP),然后执行该目标程序。

( 2)执行菜单“程序”/“运行”命令。

( 3)打开并激活程序编辑窗口,单击常用工具栏上的“运行” 按钮也可保存并运行程序。

( 4)从“项目管理器”窗口的“代码”选项卡中选择要运行的程序名后,单击“运行”按钮。

4.程序的书写规则

( 1)程序中的每一条命令都以回车键结束,一行只能写一条命令,若命令需要分多行书写,应该在行尾加续行符“;”以表示下一行是当前命令行的继续。

( 2)程序中可以插入注释,提高程序的可读性。注释行以“*”开头,它是非执行命令,仅在程序中显示。命令后也可以加注释,以“&&”开头。

5.程序结尾的专用命令

( 1)程序的末尾是RETURN命令,它使程序执行结束,返回到调用它的上级程序处的下一条命令继续执行。若无上级程序则返回到命令窗口,RETURN命令允许缺省。

( 2)程序的末尾是CANCEL命令,它能使程序运行终止,返回到命令窗口。

( 3)可以使用QUIT命令退出Visual FoxPro系统,返回到Windows。

例题与操作步骤:

例 1 显示学生情况.DBF表中计算机专业学生的记录。(提示:按“实验准备”做好表和默认目录设置)

操作步骤:

( 1)在命令窗口输入命令:

MODIFY COMMAND LT81_1

弹 出程序编辑窗口,将程序输入,

SET TALK OFF

CLEAR

USE 学生情况

LIST ALL FOR 专业="计算机"

USE

SET TALK ON

按 CTRL+W键保存程序“LT81_1.PRG“。

( 2)在命令窗口输入命令:DO LT81_1

练习:

(1) 编程序显示学生情况.DBF表的前3条记录,再显示最后3条记录。

(2) 编程序将华氏温度F=68 0 ,变换成摄氏温度C,并将结果输出 。

计算公式为: C=

1.参考程序:

SET TALK OFF

USE 学生情况

LIST NEXT 3

GO BOTTOM

SKIP -2

DISPLAY REST

USE

SET TALK ON

RETURN

2.参考程序:

SET TALK OFF

F=68

C=5*(F-32)/9

? "摄氏:"+STR(C,4)+ "度,华氏:"+STR(F,4)+ "度。"

RETURN

运行结果: 摄氏: 20度,华氏:68度。

6.输出命令

命令格式: ? |??<表达式1>[,<表达式2>……]

功能: 求表达式的值,并将结果输出到系统主窗口。

说明:

? 换行显示结果

??不换行显示结果。

7.人机交互赋值命令

格式: INPUT [<字符表达式>] TO <内存变量>

ACCEPT [<字符表达式>] TO <内存变量>

WAIT [<字符表达式>] TO [<内存变量>]

功能: 暂停正在运行的程序,显示 [<字符表达式>],等待用户输入一个数据,按回车键终止此命令,继续运行程序。

说明:

( 1)在执行INPUT命令中,可以输入任意类型的数据,数据表达式的类型决定了内存变量的类型,如果输入的数据类型是字符型、日期型或逻辑型,必须加定界符。

( 2)在执行ACCEPT命令中,可以输入多个字符(≤254个),内存变量为字符型。

( 3)在执行WAIT命令中,只可以输入一个字符,内存变量为字符型,如果省略了<内存变量>和[<字符表达式>],不保存变量,同时屏幕显示“按任意键继续……”的提示。

8.格式输入输出命令

命令格式: @<行号,列号> SAY <字符表达式> GET <变量>

功能: 在当前窗口中指定的位置处显示并接受数据。

说明:

<变量>必须有初值,当后面接READ命令时,用户可以修改<变量>的值,否则只能浏览不能修改。

例题与操作步骤

例 编程序任意输入两个数,求其平均值并输出。

操作步骤:

( 1)在命令窗口输入命令:MODIFY COMMAND PJZ

在程序编辑窗口输入程序:

SET TALK OFF

CLEAR

INPUT "请输入第一个数: " TO X

INPUT "请输入第二个数: " TO Y

Z=(X+Y)/2

? "平均值是:"+STR(Z,6,2)

SET TALK ON

RETURN

按Ctrl+W保存程序PJZ.PRG.

(2) 在命令窗口输入命令:DO PJZ

程序运行,屏幕显示如图 8-4,等待用户输入一个数据:例如输入:25回车。

屏幕显示如图 8-5,等待用户输入第二个数据:例如输入:75回车。

( 3)运行最后结果:

 

练习

在学生情况 .DBF表中,按姓名查询相应人员的出生日期和所学专业。

参考程序:

SET TALK OFF

CLEAR

USE 学生情况

ACCEPT "请输入要查询的姓名:" TO XM

LOCATE FOR 姓名=XM

? " 姓名:" ,姓名

? " 出生日期:",出生日期

? " 专业:",专业

USE

SET TALK ON

RETURN

 


 

版权所有 © 2006-2007 沈阳大学信息工程学院 计算机基础教研室