当前位置:文档之家› VFP程序设计基础实验指导

VFP程序设计基础实验指导

VFP程序设计基础实验指导
VFP程序设计基础实验指导

指导老师:余敦辉

2009-3-2

VFP程序设计基础实验指导书

前言

学习数据库程序设计,上机实训是十分重要的环节。为了方便读者上机练习,本实训指导书设计了12个实训。这些实训和课堂教学紧密配合,通过有针对性的上机实训,可以更好地熟悉Visual FoxPro的功能,掌握Visual FoxPro程序设计的方法,并培养一定的应用开发能力。建议每个实训安排2机时左右,也可以根据实际情况从每个实训中选择部分内容上机练习。

为了达到理想的实训效果,请务必做到以下几点:

1、实训前认真准备,要根据实训目的和实训内容,复习好实训中可能要用到的命令,想好编程的思路,做到胸有成竹,提高上机效率。

2、实训过程中积极思考,要深入分析命令、程序的执行结果以及各种屏幕信息的含义、出现的原因并提出解决办法。

3、实训后认真总结,要总结本次实训有哪些收获,还存在哪些问题,并完成实训指导书要求填写的内容。

程序设计和应用开发能力的提高需要不断的上机实践和长期的经验积累,在上机过程中会碰到各种各样的问题,分析问题和解决问题的过程就是经验积累的过程。只要按照上面3点要求去做,在学完本课程后就一定会有很大的收获,计算机应用能力就会有很大提高。

【实训1】熟悉VFP环境

实训目的:

1.熟悉VFP系统的操作环境。

2.掌握VFP系统的启动和退出方法。

3.掌握MSDN帮助文件的使用方法。

实训内容:

1.VFP系统的启动

(1)点击“开始”菜单中的“程序”选项。

(2)找到Visual FoxPro 6.0的快捷方式来启动VFP。

注:Visual FoxPro 6.0的可执行文件为vfp6.exe,其所在目录随安装的位置的不同而不同,一般为:“C:\Program Files\Microsoft Visual Studio\Vfp98\VFP6.EXE"。

2.在桌面上建立vfp6.exe的快捷方式

(1) 首先找到VFP的可执行文件vfp6.exe,依次打开C:\Program Files\Microsoft

Visual Studio\Vfp98文件夹,找到VFP的可执行文件为vfp6.exe。(根据具体实训环境的不同,该文件的位置可能不同)

(2)选中vfp6.exe文件。

(3)右键拖动vfp6.exe文件到桌面空白处,在弹出的快捷菜单中选择“在当前位置创建

快捷方式”菜单项,即可在桌面上建立vfp6.exe的快捷方式。双击刚刚建好的快捷方式也可以启动vfp环境。

3.退出VFP(以下方法并列)

方法1:在“命令”窗口中,输入命令“quit”。

方法2:直接按Alt+F4。

方法3:在“文件”菜单中,选择“退出”命令。

方法4:双击主窗口左上角的控制菜单框。

方法5:在主窗口控制菜单中,选择“关闭”。

4.认识VFP界面

(1) 在vfp主窗口中依次找到标题栏、菜单栏、工具栏、状态栏的位置。

(2) “常用”工具栏的关闭。

①单击“显示”菜单中的“工具栏”菜单项。

②在弹出的窗口中,找到“工具栏”列表框中的“常用”项,鼠标单击去掉“常用”工具栏前面的选中标记。

③单击“确定”按钮,即可关闭“常用”工具栏。

(3) “常用”工具栏的显示。

①单击“显示”菜单中的“工具栏”菜单项。

②在弹出的窗口中,找到“工具栏”列表框中的“常用”项,鼠标单击选中“常用”工具栏前面的选中标记。

③单击“确定”按钮,即可显示“常用”工具栏。

注:其他工具栏的显示与关闭与上面的方法相同,请读者自己练习。

(3)命令窗口显示与关闭。

方法1:单击“窗口”菜单中的”命令窗口”菜单项来显示命令窗口,再次单击“窗口”菜单中的”命令窗口”菜单项可关闭命令窗口。

方法2:CTRL+F2(显示命令窗口)/ CTRL+F4(关闭命令窗口)

5.利用MSDN帮助文件查找要解决的问题

(1)进入帮助系统有三种方法。

方法1:在命令窗口中,输入“help”命令后,回车。

方法2:调用“帮助”菜单。

方法3:在VFP窗口中的任一位置选中需要获得帮助的内容,按“F1”功能键。

(2)选择“活动子集”为“Visual Foxpro文档”,保证用户查看到的是关于vfp的帮助

内容。

(3)选中“搜索”标签,输入要搜索的关键字。例如输入“系统容量”四个字,单击“列

出主题”按钮列出符合条件的主题。

(4)用鼠标双击找到的主题,在右边的窗口部分即可看到要查找主题的相关内容。(当然

用户也可以在“目录”选项卡下以目录的形式来浏览vfp的帮助内容。)

注:帮助文件的位置:通常情况下,VFP6的MSDN帮助文件位置在c:\program files\Microsoft Visual studio\msdn98\98vs\2502,文件名为foxhelp.chm。

(5)请读者找到所在的实训环境下,VFP6的MSDN帮助文件foxhelp.chm的存放位置。

【实训2】项目管理器的基本操作

实训目的:

1.掌握工作目录的设置方法。

2.掌握项目管理器的基本操作。

3.掌握如何建立表文件及备注和通用字段内容的输入方法。

实训内容:

1.设置D:\VFPLX文件夹为工作目录(两种方法)

首先在D盘新建立一个名为VFPLX的文件夹。

方法1:菜单方法

(1)依次单击“工具”菜单中的“选项”菜单项。

(2)单击选中”文件位置”选项卡中的“默认目录”项。

(3) 单击“修改”按钮,在弹出的“更改文件位置”对话框中,选中“使用默认目录”选项。

(4)在“定位默认目录”下面的文本框输入新的工作目录文件夹路径,单击“确定”按钮。例如输入:D:\VFPLX。

方法2: 命令操作的格式为:set default to 目录名

(1)在命令窗口中输入:set default to D:\VFPLX

(2)回车执行上面的命令即可。

注意:要设置为工作目录的文件夹必须已经存在,否则,不能设置成功。在vfp环境下,一旦设置了工作目录后,用户使用VFP工作过程中所产生的文件默认都会存到已经设置好的工作目录下,不会与vfp系统文件混在一起,方便管理与查找。

2.项目管理器的基本操作

(1)建立项目文件

①单击“文件”菜单中的“新建”菜单项,在弹出的窗口中选择文件类别为“项目”。

②单击“新建文件”按钮。

③在弹出的创建窗口中输入项目文件名。例如输入:XM1(注意项目文件的扩展名

为.PJX)。

④单击“保存”按钮,便建立了名为XM1的项目文件,同时打开了项目管理器窗口。

(2)建立数据库文件

①在项目管理器中,单击选中“数据”选项卡下面的“数据库”类别。

②单击“新建”按钮,单击“新建数据库”按钮。

③输入文件名:如“教工”(注意数据库文件的扩展名为.dbc)。

④单击“保存”按钮,便建立了名为“教工”的数据库,同时打开了数据库设计器窗口。

⑤单击数据库设计器窗口右上角的“x”形图标按钮来关闭设计器。

(3)关闭项目文件

单击项目管理器右上角的“x”(关闭按钮)。

(4)打开项目文件。

①单击“文件”菜单中的“打开”菜单项。

选择文件类型为“项目”,选中要打开的项目文件XM1.PJX,单击“确定”。

(5)建立表文件

①单击“数据库”左边的“+”,就会列出刚刚建好的“教工”数据库。

②单击“教工”左边的“+”,选中“表”。(选自由表,可建立自由表)

③单击“新建”/单击“新建表”按钮(此时建立的是数据库表)。

④输入文件名:如“zgda”(注意表文件的扩展名为.dbf)。

⑤单击“保存”按钮,便打开了表设计器窗口。

⑥输入表的结构(如下表所示)后,单击“确定”按钮。

1.备注字段的输入方法:双击相应记录的备注字段(简历),打开备注字段的输入窗口,

既可输入文本内容。

2.通用字段的输入方法:

(1)双击相应记录的通用字段(照片字段),打开通用字段的输入窗口。

(2)单击“编辑”菜单中的“插入对象”命令。

(3)选择“对象类型”为“Microsoft Word 图片”,即可打开Word程序。

(4)在Word程序依次单击插入/图片/剪贴画/选择一个剪贴画插入。

(5)关闭Word程序,回到vfp,即可看到插入的图片,关闭通用字段的输入窗口。

(6)已经插入内容的备注字段和通用字段的外表分别显示为Memo和Gen,第一个字母大

写;没有插入内容的备注字段和通用字段的外表分别显示为memo和gen。

小结:建立表文件的过程分2步。首先建立表结构,即定义表的列数及每一列的数据类型、宽度等;再输入记录信息,即决定表有多少行的数据。

(6)修改表文件的结构

①在项目管理器中,选中zgda.dbf表。

②单击“修改”按钮,即可打开表设计器,对表的结构进行修改。(可增加、插入、

删除字段、改变字段的位置)

③在表设计器的字段选项卡上的字段列表中最后一个字段后面单击鼠标来增加一个

备注型字段,输入字段名为“备注”,选择字段类型为“备注型”。

④删除“工作时间”字段:选中“工作时间”字段,单击“删除”按钮。

⑤改变字段的位置(顺序):拖动字段名前的移动按钮到目标位置松开鼠标即可。

注:可以在命令窗口中输入:modify structure命令,来修改表文件的结构,但必须先打开zgda表。

(7)浏览表的内容(记录)

①在项目管理器中,选中zgda.dbf表。

②单击“浏览”按钮,即可打开浏览窗口对表的记录进行修改。

(8)移去一个(表)文件

①在项目管理器中,选中要移去:如zgda.dbf表。

②单击“移去”按钮,单击“移去”按钮,仅仅是将表从项目管理器中移去,不删除该

表文件;(单击“删除”按钮,是将表从项目管理器中移去,同时删除该表文件)。

注:如果是数据库表,移去后该表变为自由表。

(9)在项目中添加已有的文件

①在项目管理器中,选中要添加的文件类型:如选中“自由表”类别。

②单击“添加”按钮,选择要添加的表文件,如:刚刚移去的zgda.dbf

③单击“确定”,即可添加到项目中。

(10)项目管理器展开与折叠、选项卡拖离和顶层显示操作

①展开与折叠:单击“其他”选项卡右边的“向上箭头”图标,即可折叠项目管理器窗

口,同时“向上箭头”图标变成“向下箭头”图标;单击“其他”选项卡右边的“向下箭头”图标,即可展开项目管理器窗口,

②选项卡的拖离:在“折叠”状态下,拖动相应的“选项卡”到新的位置松开鼠标即可。

③选项卡的顶层显示:单击拖离后的选项卡上的“图钉”图标即可使该选项卡变成“顶

层显示”状态,不被其他的“选项卡”所遮盖。

【实训3】数据类型与常用函数的用法

实训目的:

1.熟练掌握各种数据类型常量的表示方法。

2.熟练掌握常用函数的用法。

相关知识:

1.常量的表示方法

数值型(N):直接由数字或+、-、小数点构成,无定界符号。

字符型(C):

(1)由字符、汉字组成,需加定界符(单引号、双引号、中括号)。

(2)如’沈阳’、”沈阳”、[沈阳]。

(3)同一定界符不能嵌套,如:“AB”CD””,但‘AB”CD”’是合法的。

日期型(D):用{}定界。如:{^2005-08-30}或CTOD(“01/08/30”)。

日期时间型(T):用{}定界。如:{^2005-08-30 11:15:30 A}

逻辑型(L):用.定界。如用.t.或.Y.表示逻辑真, 用.F.或.N.表示逻辑假。

货币型(Y):用$符号开头,后跟数字。如:$90。

2.函数的学习要点

(1)函数名是什么?

(2)该函数有几个参数、参数的数据类型是什么?

(3)该函数的功能是什么?

(4)返回值的数据类型是什么?

对于任何的一个函数,只要注意以上4点,应用起来就不成问题!

实训内容:在窗口中输入下列函数表达式,回车运行后分析运行结果,具体练习过程中请查阅帮助文件以了解下述函数的具体用法。

1.sign( ) 函数功能:当指定数值表达式的值为正、负或 0 时,分别返回 1、-1 或 0

? sign(0) &&0

? sign(-8) &&-1

2.平方根函数sqrt():返回指定数值表达式的平方根

? sqrt(9) &&3 (参数不能为负数)

3.圆周率函数pi():返回圆周率常数

? pi() &&3.14

set decimals to 4 &&指定数值型数据显示的小数位数为4位,系统默认为2位

? pi() && 3.1416

4.取整函数int()、floor()、ceiling()

? int(12.56) &&12

? int(-12.56) && -12

? int(.56) &&0 注:int()函数返回值为参数的整数部分。

? floor(-4.5) && -5

? floor(3.5) &&3

注:floor()函数返回值为小于或者等于参数值的最大的整数。

? ceiling(-4.5) &&-4

? ceiling(3.5) &&4

注:ceiling()函数返回值为大于或者等于参数值的最小的整数。

5.四舍五入函数Round()

? Round(7556.5678,2) &&7556.57

? Round(7556.5678,0) &&7557

? Round(7556.81,-2) &&7600

? Round(7556.5678,-1) &&7560

注:第二个参数为负数时,表示对相应的整数位进行四舍五入

6.最值函数max()、min()

? max(10,20,30,25) &&30

? max(10,20) &&20

? max("a","ab") &&ab

? max($10,$20) &&$20

? max({^2005-4-16},{^2004-4-16}) &&{^2005-4-16}

注:参数至少有二个,参数可以是字符型、数值型、货币型、日期型;将上面的max改写成min后运行并分析运行结果。

7.求字符串长度函数len()

? len("abcde") &&5

? len("*") &&1 *为空格字符

? len("中国") &&4 一个汉字占2个宽度

? len("") &&0 空字符串长度为0

8.大小写转换函数

? lower("AbCd12OK") &&abcd12ok

? upper("AbCd12OK") &&ABCD12OK

注:只转换字符串中的大小写,其他字符不变。

9.空格字符生成函数

? "a"+space(3)+"b" &&a***b *为空格字符

? len(space(3)+space(2)) &&5 +为字符连接运算符

? len(space(3)-space(2)) &&5 -为字符连接运算符

10.删除空格字符函数

? trim("abcd***")+"ef" &&abcdef *为空格字符

? trim("abc*d*****")+"ef" &&abc*def *为空格字符

? ltrim("*ab*")+"ef" &&ab*ef *为空格字符

? alltrim("*ab*")+"ef" &&abef *为空格字符

11.取子串函数

? left("abcdef",2) &&ab

? left("abcdef",100) && abcdef

? right("abcdef",3) &&def

? substr("abcdef",2,3) &&bcd

? substr("abcdef",3) &&cdef

? substr("中华人民共和国",5,4) &&人民

12.occurs()函数

? occurs("ab","cabkabk") &&2 串ab在串cabkabk中出现了2次

? occurs("ab","ckk") &&0 串ab在串ckk中出现了0次

13、at()函数

? at("ab","ccabkabk",1) &&3 串ab在串cabkabk中第1次出现的起始位置是3 ? at("ab","ccabkabk",2) &&6 串ab在串cabkabk中第1次出现的起始位置是6

14.子串替换函数

? stuff("abcdef",2,4,"ok") &&abokef 替换串abcdef第2个位置开始的4个字符,用串ok来替换

? stuff("abcdef",2,0,"ok") &&abokcdef 相当于插入ok

? stuff("abcdef",2,4,"") &&af 相当于删除bcde

15.日期函数

? date() &&返回系统日期

set century on &&用4位数字显示年份

? date()

set date to ansi &&设置日期的显示格式为ansi

? date()

? time() &&以字符串形式返回系统当前时间

? datetime() &&返回系统日期和时间

? year({^2004-04-16}) &&2004 返回日期中的年份数值

? month({^2004-04-16}) &&4 返回日期中的月份数值

? day({^2004-04-16}) &&16

? hour(datetime()) &&分别显示当前系统时间的小时数

? minute(datetime()) &&分别显示当前系统时间的分钟数

? sec(datetime()) &&分别显示当前系统时间的秒数

16.转换函数

? str(123.5678,8,2) &&**123.57 *为空格

? str(123.5678,6,3) &&123.57

? val("123.45")+100 &&223.45

? val("12a3.45") &&12

? val("a1212a3.45") &&0 第1个字符不是数字也不是+-号,返回0

set date to usa &&设置日期的显示格式为美国日期格式

? ctod("04-16-05") &&{^2005-4-16}

? ctod("04-16-05")+1 &&{^2005-4-17}

? dtoc(date()) &&将系统日期转换为字符格式

17.宏替换函数

x="123"

? &x+100 && 223 &&相当于? 123+100 ? x+"100" && 123100

18.iif()函数

x=100

? iif(x>100,x-50,x+50) &&150

? iif(x<0,-1,iif(x=0,0,1)) &&1

19.数据类型测试函数type()、vartype()

? type("123") &&N

? type("04/06/09") &&N

? type("time()") &&C

? vartype(123) &&N

? vartype(“123”) &&C

? vartype($123) &&Y

? vartype(Datetime()) &&T

? vartype({^2005-04-19}) &&D

? vartype(3>5) &&L

思考题:如何用IIF()函数实现SIGN()的功能?

(提示:IIF(X>0,1,IIF( x=0 ,0,-1)))

20.测试函数bof()、eof()、recno()

use zgda

? bof() &&.f.

? recno() &&1 刚刚打开的表,指针指向首记录

skip –1 && 指针向上移动一条记录

? bof() &&.t.

? recno() &&1 表可访问的最小记录号为1

go bottom && 指针指向尾记录

? eof() &&.f.

? recno() &&8 假设表中只有8条记录,指针指向首记录

skip &&指针向下移动一条记录

? eof() &&.t.

? recno() &&9 表可访问的最大记录号为记录总数+1, 假设表中只有8条记录? reccount() &&8 假设表中只有8条记录

21.信息窗口函数MessageBox()

格式:MESSAGEBOX(信息文本, [,对话框类型数值 [,标题栏文本]])

例子:MESSAGEBOX(“您好,VFP!”,64,“提示信息”)

【实训4】运算符与表达式

实训目的:

1.掌握各种类型表达式的书写方法。

2.掌握运算符的优先级别。

实训内容:

依次在命令窗口中输入下列表达式,回车运行来输出表达式的值,并分析运行结果。

1.数值表达式

? -3**2 &&9 负号的运算级别高于乘方

? (3+4)/2^2+int(12.5) &&13.75

相关知识:

(1)书写数值表达式,乘号一定不能省略。

(2)数值表达式是由算术运算符和数值型常数、变量、函数组成,运算结果为数值型数

据。算术运算符为:+ - * / % ^ ( ) 。

(3)算术运算符的优先次序由高到低依次为:括号、负号、乘方、乘除、模运算(取余)、

加减,同级运算从左到右依次进行。

2.字符表达式

? “abc**”+”*cd*” &&abc***cd* *为空格,+号为字符串完全连接运算?“abc**”-”*cd*” &&abc*cd*** *为空格,-号为字符串不完全连接运算相关知识:

(1)字符表达式是由字符运算符和字符型常数(即用定界符括起来的字符串)、变量、函

数组成,运算结果是字符型数据或逻辑值。

(2)二种字符串运算符,优先级别相同。

(3)完全连接是指两个字符串合并,即包括空格在内的字符串中所有字符相加。不完全

连接运算是将串1尾部的空格移到串2的尾部后,再连接。

3.关系表达式

set collate to “machine” &&设置数据的比较序列为机内码方式

? 8>100 &&.f.

? “8”>”100” &&.t.

? {^2004-5-19}>{^2003-5-19} && .t.

? $80<$60 &&.f.

? “abc”=”ab” &&.t. 系统默认“=”为非精确比较,右边是左边的左子串,则成立。

Set exact on &&设置“=”为精确比较,off为非精确比较

“abc”=”ab” && .f. 精确比较要求两边的字符串必须完全相等才成立。

?“ok”$”abokd” &&.t. 前一个串“ok”包含在后一个串中,返回逻辑真相关知识:

(1)关系表达式描述的同类数据的大小比较关系,其结果是一个逻辑值,关系成立结果

取真(.T.),不成立结果取假(.F.)。

(2)关系运算符两边的数据类型要一致,只有同类型的数据才能进行比较。

(3)数据比较规律

①数值和货币类型:数越大,其值越大。如:1000>800 $90>$10

②日期数据:未来>历史如:{^2007-5-19}>{^2007-5-18}

③逻辑常量:逻辑真大于逻辑假,即:.t.>.f.

④字符串比较:依次对应比较两个串的字符,直到比较出结果即停止比较。例如:

"abc">"ab", "abc">"aBc"。

⑤字符的比较规律

ASCII字符:比较字符的ASCII码值的大小。总结规律为:空格<0-9

汉字字符:是按照汉字的机内码值的大小来进行比较的,即比较汉字的拼音字符串

的大小。例如:汉字“男”的拼音为“nan”, 汉字“女”拼音为“nv”,所以“男”

小于“女”。

注意:上述字符的比较规律的前提是必须设置数据的比较序列为机内码方式。设置的命令为:set collate to “machine”或者依次单击“工具”菜单中的“选项”菜单项,单击“数据”选项卡,设置“排序序列”为“machine”选项即可。

4.逻辑表达式:逻辑运算符的优先级别为:.NOT. .AND. .OR.

? not(10+3)>5 and ”ab”$”ab”+”cde” or 3>=4 &&.f.

? 3>2 AND NOT 5>6 &&

相关知识:

(1)当表达式中出现了多种运算符时,各种运算符的优先顺序由高到低依次为:

算术或字符或日期运算→关系运算→逻辑运算

(2)相同优先级的运算按从左到右的顺序计算

5.日期和日期时间表达式

? {^2005-3-29}-{^2005-3-21} &&8 两日期相差的天数为8天

? {^2005-3-29}+{^2005-3-21} && 两日期表达式相加,属非法表达式

? {^2005-3-25}+3 &&{^2005-3-28}

? {^2005-3-25}-3 &&{^2005-3-22} (用严格日期格式表示)

? datetime()+30 &&其值为当前时间的30秒后的日期时间

? datetime()-30 &&其值为当前时间的30秒以前的日期时间

? {^2005-5-5 10:10:20 a}-datetime() &&2个日期时间相差的秒的数值

相关知识:

(1)一个日期与一个数值相加,&&日期,表示从当前日期往后数N天。

(2)一个日期与一个数值相减,&&日期,表示从当前日期向前数N天。

(3)两个日期相减,&&数值,表示两日期之间相差的天数。

【实训5】程序结构

实训目的:

(1)理解VFP的2种工作方式:交互方式和程序执行方式。

(2)掌握程序文件的建立、存盘、调用方法和注释语句的使用方法。

(3)熟悉3种程序结构。

(4)会用调试器来分析程序的执行流程。

相关知识:

行首注释语句: NOTE | * 注释内容

功能:在程序文件中指示注释行的开始,注释行不被执行。

行尾注释语句: && 注释内容

功能:在程序文件中代码行的行尾注释,注释内容不被执行。

实训内容:完善下列程序横线处的代码,并调试运行。

1.建立并执行程序p1.prg,程序功能是判断用户输入的整数是否是偶数。

(1)在命令窗口中输入:modify command p1,在弹出的文本编辑器窗口中输入程序代码

如下:

input "一个整数" to x

if x/2=int(x/2)

? “您输入的是偶数”

else

? “您输入的不是偶数”

endif

(2)按CTRL+W键,存盘。

(3)在命令窗口中输入命令:DO p1后,回车执行该程序。

2.参照上面的例子来建立并执行p2.prg,程序功能:判断用户输入的整数是正数、负数还是零,代码如下:

input "一个整数" to x

if x>0

? "您输入的是一个正数"

else

if x<0 &&此处为if语句的嵌套结构。

? "您输入的是一个负数"

else

? "您输入的是零"

endif

endif

3.参照上面的例子来建立并执行p3.prg,程序功能:根据学生的分数情况给出成绩等级,代码如下:

Input "分数 " to x &&从键盘接收来个成绩的数值赋值给X变量

Do case

Case x>=90 and x<100

? "优秀"

Case x>=80 and x<90

? "良好"

Case x>=70 and x<80

? "中等"

Case x>=60 and x<70

? "及格"

otherwise

? "悲惨,您可能不及格阿!"

Endcase

4.建立sum.prg,程序功能是求 1+2+3+…+10的和,代码如下所示

S=0

K=1

DO WHILE K<=10

S=S+K

K=K+1

ENDDO

? “1+2+…+10=”,S

注意:S=S+K为求和表达式,在循环中的作用是累加变量K的值,将结果保存到S变量中。思考:

(1)若s=s+k分别改为s=s+k**2和s=s+1/k,程序的功能又是什么?

(2)请分析下面的程序段的功能是什么,S中累加的是哪些数的和?

S=0

K=1

DO WHILE K<=10

K=K+1

S=S+K

ENDDO

? “S=”,S

操作练习:使用调试器来跟踪该程序的执行情况,具体步骤为:

(1)单击“工具”菜单中的“调试器”菜单项,打开“调试器”窗口。

(2)在调试器窗口中单击“文件”菜单中的“打开”菜单项,打开要跟踪的程序,如sum.prg。

(3)执行“调试”菜单中的“单步跟踪”命令,来跟踪程序的执行,并观察分析“局部”

窗口中变量值的变化情况。

5.在程序功能不变的情况下,用FOR循环来改写第4题sum.prg,并对比FOR循环与DO While 循环的区别。

参考代码如下,读者也可以自己写出类似的程序。

S=0

For k=1 to 10 step 1

S=S+k

Endfor

? “S=”,S

6.编写程序JC.PRG,程序功能是求5的阶乘(5!=1*2*3*4*5),参考代码如下。

Y=1 &&存放阶乘结果的变量要赋初值为1

FOR X=1 TO 5 step 1 && step 1 可省略

Y=Y*X &&累计变量X的乘积到变量Y中。

ENDFOR

VFP实验指导--实验一-初识VFP表单-作业1-Visual-FoxPro6.0操作初步

实验一初识VFP表单 作业1 Visual FoxPro6.0操作初步 【实验目的】 1.熟悉VisualFoxPor6.0的启动和退出,并熟悉VisualFoxPor的用户界面。 2.掌握如何创建一个新项目。 3、制作你的第一个表单 【实验内容及参考步骤】 1、启动VisualFoxPro6.0 单击[开始]一[程序]一[Microsoft VisualFoxPr06.0]一[MicrosoftVisual FoxPro 6.0]命令,启动后屏幕如下图所示。 2、退出ViSualFOxPro6.0

方法1:在“命令”窗口中,输入“QUIT”。 方法2:按[Alt+F4]组合键。 方法3:在[文件]菜单中,选择[退出]菜单项。 方法4:单击主窗口标题栏的狐狸图标,选择[关闭]菜单项。 3 自定义工具栏 请在工具栏上添加表单设计器和表单控件。 方法1:选择菜单栏上的[显示]一[工具栏]菜单项,选定所选工具栏后,单击[确定]按钮, 如下图所示。

方法2:在工具栏的任一空白处单击鼠标右键,在弹出的级联菜单中选定所 需工具,如下图所示。 4 创建一个新项目

1.利用“我的电脑”或“资源管理器”,在D盘上建立一个文件夹,命名为“xxx班xxx的VFP作业”, 即“D:\ xxx班xxx的VFP作业”。以后所有的实习内容都保存在这个文件夹中。 2.创建“学生选课系统”项目。具体步骤如下: (1)选择[文件]--[新建]菜单项,在弹出的“新建”对话框中选择文件类型为[项目], 然后单击[新建文件]按钮,如下图所示。 (2)单击[新建文件]按钮后,弹出“保存文件”对话框,在这里选择保存文件的路径为D盘的 “xxx班xxx的VFP作业”文件夹,并在[项目文件]项输入“学生选课系统”(默认值为“项目1"), [保存类型]中选择“项目(*.PJX)”。以上3个参数都设置完成后,单击[保存]按钮。

VFP数据库程序设计基础课后作业(三)参考答案

VFP数据库程序设计基础课后作业(一)2011.11.10 一、根据题目要求,对进行books.dbf进行数据统计,写出相应的VFP命令 1、统计类别为“计算机”的图书共有几种。 USE "c:\documents and settings\administrator\桌面\ books.dbf" count all for 类别="计算机" to x ?x 2、统计所有书籍的平均页数。 average 页数to x 3、统计高等教育出版社出版的图书的价格总和。 sum 价格for 出版单位="高等教育出版社" 4、统计会计类图书价格最高是多少,最低是多少? calculate max(价格),min(价格) for 类别="会计" 二、根据题目要求,编写Vfp程序 1、编写一个程序,根据输入的长方形的长和宽,计算长方形的周长和面积。 Clear local C,S input "请输入长方形的长:" to x input "请输入长方形的宽:" to y C=2*(x+y) S=x*y ?"长方形的周长为:",C ?"长方形的面积为:",S 例1:设计程序先用XXXX年XX月XX日显示当前日期的年月日,再用星期X显示星期,然后 用XX时XX分XX秒显示当前时间(共分三行显示)。 ?alltrim(str(year(date())))+"年"+ alltrim(str(month(date())))+"月"+ alltrim(str(day(date())))+"日" ?cdow(date()) ?alltrim(str(hour(datetime())))+"时"+ alltrim(str(minute(datetime())))+"分"+ alltrim(str(sec(datetime())))+"秒" 3、编写一个程序,程序的功能是根据5个评委所给分数,计算并输出“最后得分”,具体计算方法 是去掉一个最高分、去掉一个最低分,再对其余得分求平均。 Clear local DF input "1号评委给分:" to x1 input "2号评委给分:" to X2 input "3号评委给分:" to X3 input "4号评委给分:" to X4 input "2号评委给分:" to X5 DF =((X1+X2+X3+X4+X5)-max(X1,X2,X3,X4,X5)-min(X1,X2,X3,X4,X5))/3 ?"最后得分:",DF

VFP实验报告.doc

VFP实验报告 VFP实验报告 学院:专业:年级:姓名:学号:实验室号: 计算机号:实验日期:年月日指导教师签字:成绩: 实验:熟悉VFP开发环境 1. 先在D盘建一个文件夹,并将其命名为092221004.在桌面打开VFP系统,在菜单栏上选择“工具” “选项”,此时跳出一个选项框,选定“文件位置”中的“默认目录”,然后选择“修改”,将其设为 “D9*******”,最后选择“设为默认值” ,“确定”,即可。 2. 在桌面打开VFP系统,在菜单栏上选择“工具” “选项”,此时跳出一个选项框,选定“区域”,然后在“日期格式”栏的下拉选项中选 择“年月日”;勾选“日期分隔符”和“年份(1998或98)”项,并在“日期分隔符”其后面输入“-”;最后选择“设为默认值” ,“确定”,即可。 3. 在桌面打开VFP系统,在菜单栏上选择“工具” “选项”,此时跳出一个选项框,选定“区域”,然后在“小数位数”项输入小数位数的 多少,最后选择“设为默认值” ,“确定”,即可。 4. 在桌面打开VFP系统,在菜单栏上选择“显示”,此时跳出一个工具栏对话框,勾选“调色板”后选择右边的“定制”,跳出定制工具栏,在“分类”中选定“调色板”,在其右边中选定红色,并将其拖动到主窗

口,关闭定制工具栏,最后将其移到常用工具栏下。 5. 打开VPF系统,在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“项目”然后点击右边的“新建文件”弹出创建的对话框,在该对话框的项目文件框中键入“学生成绩管理”后点击“保存”,在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“数据库”然后点击右边的“新建文件”弹出创 建的对话框,在该对话框的数据库名框中键入“学生成绩”后点击“保存”。 区别: 如果是在项目中建立数据库,则命令窗口不会显示命令。 6. “CREATE PROJECT”是建立项目文件命令,“CREATE DATABASE” 是建立数据库命令,“ MODIFY DATABASE”打开默认目录下的数据 库,“MODIEF PROJECT”是打开默认目录下的项目文件 7. 退出VFP系统的命令是“Quit”;其他退出VFP系统的方法: 方式一:单击应用程序窗口中的“关闭”按纽 方式二:在“文件”菜单中选择“退出”命令. 方式三:在命令窗口中键入QUIT命令. 方式四:同时按下Alt和F4组合键. 方式五:单击应用程序窗口左上角的控制菜单图标,从弹出的菜单中选择“关闭”命令.或者双击控制菜单图标。 一、实验目的 1. 熟悉VFP集成开发环境;

vfP程序设计基础习题集

VFP程序设计习题 习题一 一、判断题(1分/题,共20分,对打画√,错打×) 1.建立自由表分两步:定义表结构和输入数据。 2.表间的关系分三种:一对一关系、一对多关系和多对多关系。 3.若要使用多个表,就要使用多个工作区。 4.在应用程序中可以通过使用该工作区的表的别名来标识工作区。 5.对象具有属性,而属性只能在设计阶段设置。 6.引用对象的方法分绝对引用和相对引用。 7.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。 8.一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。 9.VFP主要数据容器有:表记录、变量和数组。 10.报表包括两个基本组成部分:数据源和布局。 11.如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。 12.表选择查询输出的去向可以是浏览、报表或表单。 13.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。14:视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。15.在“数据库设计器”中,视图的显示方式与表在分层结构中的显示方式相同,所不同的是视图名代替了表名。 16.一个视图在使用时,将作为临时表在自己的工作区中打开。 17.如果打开基于本地表的视图,则在Visual FoxPro的另一个工作区中基表被同时打开。18.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。19.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。20.索引是改变表的物理顺序,排序是排列表的逻辑顺序。 二、选择题(每个选择3分,共24分) 1.统计女生人数并将结果存放于变量X中的命令是() (A).COUNT FOR .NOT. 性别=”男” TO X (B).COUNT FOR ( 性别=”女”)=.T. TO X (C).SUM FOR ( 性别<>”男”)=.T. TO X (D).SUM FOR 性别=”女” TO X 2. 在已打开的表中,要永久删除当前记录位置开始的10条记录,可用() (A)先执行DELETE NEXT 10命令,后用PACK命令 (B)先执行DELETE RECORD 10命令,后用PACK命令 (C)先执行DELETE FOR RECORD> 10命令,后用PACK命令 (D)ZAP NEXT 10 3.按数值型字段”总分”进行索引,使其按降序排列的命令是() (A)INDEX ON -总分TO WP (B)INDEX ON 总分/A TO WP (C)INDEX ON 总分TO WP (D)INDEX ON 总分/D TO WP 4.下列操作后,不改变表记录指针的命令是()

vfp实验题整理

Visual FoxPro 实验题汇总 ★顺序结构程序设计 1. 用过程化编成方式编写本题。求解一元二次方程 (JFC.PRG ) a=1 b=4 c=4 x1=(-b+SQRT(b^2-4*a*c))/(2*a) x2=(-b-SQRT(b^2-4*a*c))/(2*a) ?"方程的一个根是:",x1,space(10),"另一个根是:",x2 2.理解大小写转换函数。在文本框中输入文本串,按“转大写”按钮,文本中的英文字母变为大写,按“转小写”按钮,文本中的英文字母变为小写(如图所示)。

: Public a : Thisform.text1.value=a <大写>: Thisform.text1.value=upper(a) <小写>: Thisform.text1.value=lower(a) <复原>: Thisform.text1.value=a 3.班上集体购买课外读物,在文本框中输入3种书的单价、购买数量,计算并输出所用的总金额。 <总计>: a=val(thisform.text1.value) b=val(thisform.text2.value)

c=val(thisform.text3.value) d=val(thisform.text4.value) e=val(thisform.text5.value) f=val(thisform.text6.value) thisform.text7.value=a*b+c*d+e*f 4. 在文本框中输入小时、分、秒,化成共有多少秒,然后输出之。 a=val(thisform.text1.value) b=val(thisform.text2.value) c=val(thisform.text3.value) thisform.text4.value=a*3600+b*60+c 5. 编程序输出在指定范围内的3个随机数,范围在文本框中输入。 <三个随机数>: https://www.doczj.com/doc/d43981605.html,bel3.caption=str(int((b-a+1)*rand()+a)) https://www.doczj.com/doc/d43981605.html,bel4.caption=str(int((b-a+1)*rand()+a)) https://www.doczj.com/doc/d43981605.html,bel5.caption=str(int((b-a+1)*rand()+a)) 6.编写例题4-8求圆面积,用对话框输出结果<计算>: r=val(thisform.text1.value) a=”圆的面积为:”+alltrim(str(3.14*r^2)) messagebox(a,0,”计算圆的面积”) thisform.text1.selstart=0 thisform.text1.sellength=len(thisform.text1.text) thisform.text1.setfocus ★顺序结构程序

VFP程序设计基础-表单设计练习

1.扩展名为SCX的文件是( )。 ?A、备注文件 ?B、项目文件 ?C、表单文件 ?D、菜单文件 参考答案: C 2.在当前表单的LABEL1控件中显示系统时间的语句是()。 ?A、https://www.doczj.com/doc/d43981605.html,BEL1.CAPTION=TIME() ?B、https://www.doczj.com/doc/d43981605.html,BEL1.VALUE=TIME() ?C、https://www.doczj.com/doc/d43981605.html,BEL1.TEXT=TIME() ?D、https://www.doczj.com/doc/d43981605.html,BEL1.CONTROL=TIME() 参考答案: A 3.以下叙述与表单数据环境有关,其中正确的是()。 ?A、当表单运行时,数据环境中的表处于只读状态,只能 显示不能修改 ?B、当表单关闭时,不能自动关闭数据环境中的表 ?C、当表单运行时,自动打开数据环境中的表 ?D、当表单运行时,与数据环境中的表无关 参考答案: C

4.在Visual FoxPro中,运行表单T1.SCX的命令是()。 ?A、DO T1 ?B、RUN FORM1 T1 ?C、DO FORM T1 ?D、DO FROM T1 参考答案: C 5.假定一个表单里有一个文本框Text1和一个命令按钮组Comman dGroup1,命令按钮组是一个容器对象,其中包含Command1 和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的value属性值,下面哪个式子是正确的?()。 ?A、ThisForm.Text1.value ?B、This.Parent.value ?C、Parent.Text1.value ?D、this.Parent.Text1.value 参考答案: A 6.假设表单上有一选项组:●男○女,如果选择第二个按钮“女”,则该项组Value属性的值为________。 ?A、.F. ?B、女 ?C、 2

Visual FoxPro 程序设计实验报告

VF程序设计实验报告 图书馆管理系统 专业: 学号: 姓名: 指导教师: 2010年12月31日

目录 第一部分系统概述--------------------------------2 第二部分系统功能模块设计------------------------2第三部分系统数据库及表设计----------------------2第四部分系统菜单设计----------------------------5 第五部分系统界面设计----------------------------6 第六部分系统相关程序代码-----------------------13第七部分实验报告小结---------------------------22第八部分参考资料-------------------------------22

一、系统概述 近年来,随着图书馆规模的不断扩大,图书数量相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理户导致图书管理的混乱,人力与物力过多的浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。因此,为了充分发挥了图书馆的功效,最大限度地为读者服务,必须制定一套合理、有效,规范和实用的图书馆管理系统,对图书资料进行集中统一的管理。 根据上述需要,我们建立本图书馆管理系统。 根据图书、读者和管理员三者之间的关系,本系统主要实现读者对图书的查询、个人信息的修改和管理员对读者、图书的管理。 本系统采用作为开发工具。 二、系统功能模块设计 本系统可以完成一般图书馆关于图书查询、借阅及书库管理的主要功能。其中:图书查询模块可以查询所需要的图书;读者管理模块中,读者可以查看自己的信息,对登陆密码进行修改,管理员可以对读者进行添加和删除;图书管理模块中,管理员可以为读者进行图书的借阅和归还操作,以及对图书的信息进行修改,如加入新书、删除不能使用的图书和更新图书的信息;报表打印模块中,实现对需要的信息进行打印输出。系统结构下图所示。 三、数据库及表设计 经分析,图书馆管理系统主要涉及了学生、管理员和图书三部分。因此需要建立的实体就是学生、管理员和图书三个。 根据系统模块的设计,可以的到本系统需要建立的基本表为:读者信息表、

VFP程序设计题汇总

一.程序设计题汇总 1.通过输入学生的学号(字符型)查找学生,若找到该学生,先输出学号与姓名,然后输出“英语”和“计算机实用技术”成绩。若找不到该学生输出“查无该生”。(设表文件“学生信息”满足题目需要) set talk off clear use 学生信息 accept "请输入学生学号:" to xh locate for 学号==xh if !eof() 学号,姓名 list fiel 英语,计算机实用技术 for 学号=xh else "查无该生" endif use 2.输入学生成绩,并要求:成绩小于60分时,输出“不及格”;成绩在60~69分之间时,输出“及格”;成绩在70~79之间时,输出“中”;当成绩在80~89之间时,输出“良”;当成绩在90~100之间时,输出“优”。 set talk off

clear input "请输入成绩: " to cj do case case cj>=90 "优秀" case cj >=80 "良好" case cj >=70 "中" case cj >=60 "及格" case cj<60 "不及格" otherwise "数据有误" endcase set talk on 3.按学号在“学生信息.dbf”文件中查找并显示指定的记录。要求可以重复查询,找到则显示该生的记录,找不到则提示“查无此人!”,按非“Y”、“y”可结束查询。

SET TALK OFF CLEAR USE 学生信息 &&设当前目录下表文件存在 ACCEPT '学号查询吗(Y/N)' TO cx &&循环条件的初始化 DO WHILE cx='Y'.='y' &&大小写均可执行查询 CLEAR ACCEPT '请输入学号:' TO xh LOCATE ALL FOR 学号=xh &&此处ALL可以缺省,默认为在全部记录查找。 IF EOF() '查无此人!' WAIT ELSE DISPLAY ENDIF ACCEPT '继续按学号查询吗(Y/N)' TO cx &&修改循环条件 ENDDO SET TALK ON USE

VFP程序设计教程习题答案

第一章 1.试说明数据与信息的区别和联系。 数据是人们用于记录事物情况的物理符号。信息是数据中所包含的意义。数据与信息既有区别,又有联系。数据是表示信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而数据则具有任意性,用不同的数据形式可以表示同样的信息,信息只是加工处理后的数据,是数据所表达的内容。 2.什么是数据库、数据库管理系统和数据库系统? 数据库是在数据库管理系统的集中控制之下,按一定的组织方式存储起来的、相互关联的数据集合。 数据库管理系统(Database Management System,DBMS)是对数据进行统一的控制和管理,从而可以有效地减少数据冗余,实现数据共享,解决数据独立性问题,并提供统一的安全性、完整性和并发控制功能的系统软件。 数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的 系统。 3.简述数据库的三级模式结构。 为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设 计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模 式和内模式。 模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数 据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述。 4.数据库系统的特点是什么? 特点是数据共享,减少数据冗余,具有较高的数据独立性,增强了数据安全性和完整性保护。 5.实体之间的联系有哪几种?分别举例说明。

VFP实验报告

一、实验目的与要求 本实验课程的目的: 熟练掌握用SQL对数据进行操作的方法,熟练掌握用SQL创建各种查询的方法,利用已有的数据资源,使用SQL语句进行数据定义、数据更新及各种查询操作。 本实验课程的基本要求: (1)使用SQL语句完成数据定义的操作。 (2)使用SQL语句完成单表查询的操作。 (3)使用SQL语句完成分组查询的操作。 (4)使用SQL语句完成连接查询的操作。 (5)使用SQL语句完成嵌套查询的操作。 二、实验方案 设计SQL语句实现如下功能: ①创建学院、系、教研室、班级、学生、课程、成绩表 ②修改“学生”表的结构,给“学生”表增加一个“身高”属性 ③将(‘1010501’,‘0501’,35,‘王冬’,‘软件工程’,‘101’)记录插入“班级”表中 ④将学生表中050101学号改为050111 ⑤查看学校里有多个分院,院长是谁,如何联系 ⑥查看各教研室的教师数 ⑦查看每位学生的生日及籍贯 ⑧查看每门课程的学时数 ⑨查看在10101教室上课的课程名 ⑩查看5学分的课程名 三、实验结果和数据处理 操作步骤如下: 1、使用菜单:选择“文件”—“新建”命令,在打开的“新建”对话框中选择“数据库”单选按钮, 单击“新建”按钮,创建“学生信息管理系统”数据库。 2、创建“学生信息管理系统”数据库的基本表,已知有以下8个关系模式,创建8个基本表,表名分别 是学院,系,教研室,教师,班级,学生,课程,成绩。 (1)学院(学院编号,学院名称,院长姓名,电话,地址) (2)系(系编号,系名称,系主任,电话,教研室个数,班级个数,学院编号) (3)教研室(教研室编号,教研室名称,教室人数,系编号) (4)教师(教师编号,姓名,性别,职务,教研室编号) (5)班级(班级编号,班级名称,班级人数,班长姓名,专业,系编号) (6)学生(学号,姓名,性别,出生年月,籍贯,班级编号) (7)课程(课程编号,课程名,学时,学分,学期,教师编号,教室) (8)成绩(学号,课程编号,成绩) 具体步骤如下: (1)创建“学院”表的SQL语句如图:

《VFP程序设计基础》复习

考试形式和要求: 考试采用上机考试,主要考查学生VFP的基本操作主要考查内容有VFP项目的建立和管理、VFP数据库和表的基本操作、查询、报表、表单、菜单的建立和基本程序的建立和修改。 各项要求: (一)、项目管理器、数据库、表和记录的输入与维护。 项目文件的建立、数据库文件的建立、数据表结构建立和基本数据的录入 数据库中数据表字段有效性规则设置和数据表的索引建立与表间关系的设置。 (二)、查询的建立 建立一个多表查询,要求实现数据的分组、排序、计划均值、最大值等。 (三)、报表的建立 按要求利用报表向导建立一对多报表,输出指定的数据项。 (四)、表单的建立与编辑 按要求对立一对多表单,输出指定的数据项并实现相应的命令功能。 (五)、程序设计 按要求建立并编辑程序,实行指定的功能,要求掌握常用基本的程序设计。 (六)、菜单的建立和编辑 按要求建立菜单项,掌握基本的菜单功能的设置方法。 《Visual FoxPro程序设计基础》模拟试题(1) 专业班级姓名学号成绩 请在试卷纸上填写所在班级、学号、姓名。 在硬盘的最后一个盘符下,创建一个以自己所在“专业年级+姓名+试卷类型”为文件名的文件夹(如:信息03张三A卷),并设置默认路径,所有试题均作在该文件夹下,否则后果自负。 考试结束后不要关机,不得使用任何移动存储媒介。 本试卷为闭卷考试,试卷考试时间为90分钟。 一、项目管理器、数据库、表和记录的输入和维护(25分) 1、在自建文件夹下创建以自己名字拼音字母命名的项目管理器(如张三同学,应以“zhangsan.PJX”文件名,以下同); 2、在以自己名字拼音字母命名的项目管理器中建立一个以自己名字命名数据库(如张三同学,应为“zhangsan.DBF”); 3、在数据库中创建学生表(表文件名为XS .DBF),长表名为:学生情况登记表,表结构如下: 表一、 XS.DBF 4、在同一数据库中创建成绩表(表文件名为CJ .DBF), 长表名为:成绩表,表结构如下: 表二、 CJ.DBF

VF程序设计上机实验指导

《VFP6.0程序设计》 实验指导 计算机教研室(辽宁中医药大学杏林学院)

实验1 VF数据库语言基础 (3) 1.1 实验目的 (3) 1.2 实验内容 (3) 1.3 解答与提示 (3) 实验2 VF数据及运算 (6) 2.1 实验目的 (6) 2.2 实验内容 (6) 2.3 解答与提示 (10) 实验3 数据库和数据表的建立及操作(1) (11) 3.1 实验目的 (11) 3.2 实验内容 (11) 3.3 解答与提示 (16) 实验4 数据库和数据表的建立及操作(2) (17) 4.1 实验目的 (17) 4.2 实验内容 (17) 4.3 解答与提示 (20) 实验5 数据库和数据表的建立及操作(3) (21) 5.1 实验目的 (21) 5.2 实验内容 (21) 5.3 解答与提示 (23) 实验6 程序设计基础 (24) 6.1 实验目的 (24) 6.2 实验内容 (24) 6.3 解答与提示 (30) 实验7 过程及数组应用 (31) 7.1 实验目的 (31) 7.2 实验内容 (31) 7.3 解答与提示 (32)

实验1 VF数据库语言基础 1.1 实验目的 1. 熟悉VFP的窗口组成。 2. 掌握VFP的启动和退出。 3. 掌握默认工作目录的设置方法。 4. 掌握项目管理器的使用方法。 1.2 实验内容 1. 用两种方法启动和退出Visual FoxPro。 2. 浏览VFP的主菜单项及其子菜单。 3. 掌握VFP的窗口、工具栏、对话框的操作。 4. 练习打开和隐藏“命令窗口”。 5. 在C盘上建立“学生管理”文件夹,并将其设置为默认的工作目录。 6. 在“学生管理”文件夹下建立一个项目文件,取名为“学生管理.pjx”。熟悉项目管理 器的使用(打开、关闭,各个按钮的使用,定制)。 1.3 解答与提示 1. 用两种方法启动和退出Visual FoxPro。 (1)启动的方法: 方法1:选择“开始”→“程序”→“Microsoft Visual FoxPro 6.0”。 方法2:双击桌面上的VFP图标。 (2)退出的方法: 方法1:选择“文件→退出”菜单命令。 方法2:单击标题栏最右端的关闭按钮。 方法3:按Alt+F4组合键。 方法4:在命令窗口中输入QUIT命令,按Enter键。 方法5:单击标题栏最左端的控制按钮,打开下拉菜单,选择“关闭”命令。2、3略。 4. 练习打开和隐藏“命令窗口”。 (1)打开“命令窗口”

VFP程序设计基础-VFP中基本语法练习

1.Visual FoxPro内存变量的数据类型不包括()。 ?A、数值型 ?B、货币型 ?C、备注型 ?D、逻辑型 参考答案: C 2.Visual FoxPro支持的数据模型是()。 ?A、层次数据模型 ?B、关系数据模型 ?C、网状数据模型 ?D、树状数据模型 参考答案: B 3.如果一个班只能有一个班长,而且一班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于()。 ?A、一对一联系 ?B、一对二联系 ?C、多对多联系 ?D、一对多联系 参考答案: A

4.在下面的Visual FoxPro表达式中,运算结果不为逻辑真的是( )。 ?A、EMPTY(SPACE(0)) ?B、LIKE('xy*','xyz') ?C、AT('xy','abcxyz') ?D、ISNULL(.NUILL.) 参考答案: C 5.在Visual FoxPro中,下面4个关于日期或日期时间的表达式中,错误的是()。 ?A、{^2002.09.01 11:10:10:AM}-{^2001.09.01 11:10:10AM} ?B、{^01/01/2002}+20 ?C、{^2002.02.01}+{^2001.02.01} ?D、{^2002/02/01}-{^2001/02/01} 参考答案: C 6.数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是。 ?A、DBS包括DB和DBMS ?B、DBMS包括DB和DBS ?C、DB包括DBS和DBMS ?D、DBS就是DB,也就是DBMS

参考答案: A 多选题 7.以下哪几个函数属于日期时间类函数( )。 ?A、DATE() ?B、TIME() ?C、DATETIME() ?D、DTOC() 参考答案: A、B、C 8.Visual FoxPro内存变量的数据类型包括()。 ?A、数值型 ?B、货币型 ?C、备注型 ?D、逻辑型 参考答案: A、B、D 判断题 9.在VFP中,逻辑运算的优先级是.NOT. .OR. .AND. ?A、正确

精品课《Visual-FoxPro-程序设计》实验指导vfp6.0(使用)

《Visual FoxPro 程序设计》实验教学指导 适用时间:学年 适用范围:总学时: 一、教学目的: 《Visual Foxpro 程序设计》是当今最流行的微机数据库管理系统。通过学习该课程,学生能够掌握计算机程序设计的基本知识、基本方法与编程技巧,具备应用计算机解决和处理实际问题的能力。 对实验教学来说,教学的主要任务是从应用和实践的角度出发,使学生通过上机操作掌握本课程所讲述的程序设计思想,掌握Visual Foxpro程序设计的基本方法与编程技巧,并能独立运用Visual Foxpro进行数据处理。 二、教学要求 1.熟悉Visual Foxpro 6.0开发环境; 2.掌握数据库的基本概念; 3.掌握数据表的基本操作和多表操作方法; 4.掌握查询与视图的概念及建立查询与视图的方法; 5.掌握面向对象的程序设计方法,并使用它分析和解决实际问题; 6.能够设计出不同类型的实用表单; 7.掌握报表和菜单的设计方法。 三、实验项目:

实验一 VFP 6.0 的基本操作 (一)实验目的要求 1. 了解Visual Foxpro 6.0运行所需的软件和硬件环境。 2. 掌握Visual Foxpro 6.0的启动和退出方法。 3. 掌握Visual Foxpro 6.0主窗口各组成部分的使用方法。 4. 掌握Visual Foxpro 6.0系统环境配置方法。 (二)实验内容 1. Visual Foxpro 6.0的启动。 2. Visual Foxpro 6.0的退出。 3. 在Visual Foxpro 6.0主窗口中,熟悉标题栏、菜单栏、工具栏、命令窗口、状态栏的使用方法。 4. Visual Foxpro 6.0系统环境配置: 了解“选项”对话框各个选项卡的功能。 设置用户默认工作目录。 设置日期和时间的格式。 (三)实验指导 实验1-1.从“开始”菜单启动Visual FoxPro 6.0 操作步骤如下: (1)单击“开始”按钮,打开“程序”菜单; (2)选择“Microsoft Visual FoxPro 6.0”命令; (3)启动“Microsoft Visual FoxPro 6.0”系统程序。“Microsoft Visual FoxPro 6.0”系统程序启动后如图1-1所示。 图1-1 实验1-2.从资源管理器中启动Visual FoxPro 6.0 操作步骤如下: (1)利用资源管理器找到\Microsoft Visual FoxPro 6目录,在VFP6图标上双击左键,完成Visual FoxPro系统的启动。 (2) “Microsoft Visual FoxPro 6.0”系统程序启动后如图1-1所示。

VFP实验课综合题目及答案

标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的连续自然数的和,并用标签label1显示结果。请把command1的click过程中的程序补充完整以实现上述功能。 s=1 for i=1 to 100 step 1 s=s+i next https://www.doczj.com/doc/d43981605.html,bel1.caption=str(s) 2.打开考生文件夹中的文件tk02.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的之间的奇数的和,并用标签label1显示计算结果。 请将command1_click()过程中的程序补充完整,实现上述功能。 s=1 for i=1 to 100 step 2 s=s+i next https://www.doczj.com/doc/d43981605.html,bel1.caption=str(s) 3.打开考生文件夹中的文件tk03.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的之间的偶数的和,并用标签label1显示计算结果。 请将command1_click()过程中的程序补充完整,实现上述功能。 s=1 for i=2 to 100 step 2 s=s+i next https://www.doczj.com/doc/d43981605.html,bel1.caption=str(s) 4.本题素材是考生文件夹中的表单tk04.scx。该表单的功能是:在文本框中输入一个整数,单击命令按钮“判断”后,若该整数是偶数,则label2显示“该数是一个偶数”,若为奇数,则显示“该数是一个奇数”。 请将command1_click()中的程序补充完整以实现上述功能。下图为运行效果,输入8,则label2显示该数是一个偶数。 将Command1.click中程序补充完整: if val(thisform.text1.value)%2=0 https://www.doczj.com/doc/d43981605.html,bel2.Caption = "偶数" else https://www.doczj.com/doc/d43981605.html,bel2.Caption = "奇数" endif

实验三 VFP表达式、函数的使用

实验三 VFP表达式、函数和命令的使用 一、实验目的 1、掌握VFP各类型数据的运算符和表达式,能正确由数学表达式转换为VFP 表达式; 2、掌握常用VFP函数的功能和使用方法; 3、知道VFP命令的一般使用格式,掌握命令的书写规则,了解命令各子句的正确书写格式; 二、实验操作内容与步骤 1、VFP运算符 VFP中运算符分为数值运算符、字符运算符、日期运算符、逻辑运算符和关系运算符,数值运算符以数值数据为操作对象且最终运算结果也是数值数据;字符运算符以字符数据为操作对象而其运算结果可以是字符数据,也可以是逻辑数据;日期运算符以日期数据作为操作对象,运算结果可以是日期数据,也可以是数值数据;逻辑运算符以逻辑数据为操作对象,且其运算结果最终也是逻辑数据;关系运算符以数值、字符、日期、货币等为操作对象,运算最终结果只能是逻辑数据。 数值运算符有:(),^或**,*,,/,+,-,% 字符运算符有:+,-, 日期运算符有:+,- 关系运算符有:<,>,<=,>=,<>或#,=,==,$ 逻辑运算符有: .NOT.或!,.AND.,.OR. 2、VFP表达式 (1)数值表达式 ?2004/4-99^0.5+30%2 491.05 a=5 b=4 c=3 n=(a+b+c)/2 ?”S=”,(n*(n-a)*(n-b)*(n-c))^0.5 6 ?54%7 5 125.00 ?5^3 (2)字符表达式 C1=”CHINA ” &&(注意有四个空格) C2=”中国” C3=”610041 ” &&(注意有四个空格) C4=”2004”

?C1+C2 CHINA 中国 ?C3+C4 6100412004 ?C1-C2 CHINA中国 ?C2$C1 .F. ?”0”$C3.T. (3)日期表达式 ?DATE()03/25/11 D1=DATE()+20 D2={^2004-02-26} D3=DATE-10 ?D1-DATE() 20 ?D1+30 05/14/11 ?D2-D1 -2604 ?D2>D1 .F. (4)关系表达式 ?a=b .F. ?a>b .T. ?a+b>=b+c .T. ?c1>C2 .F. ?d22.AND.L1 .F. ?DATE()={^2004-02-25}.OR.L1.ANDL2 .F. 3、常用函数 (1)数值函数 ①、绝对值函数——ABS() ?ABS(7-2*4),ABS(-3^4),ABS(200-45) 1 81.00 155 ②、指数函数——EXP() ?EXP(0),EXP(1),EXP(-1) 1.00 2.72 0.37 ③、取整函数——INT() ?INT(100/3),INT(1/6),INT(2**2)33 0 4

VFP程序设计基础试题库

练习题一Visual FoxPro基础 一、选择题 1.关系数据库管理系统应能实现的专门关系运算包括___c_______。 A)显示、打印、制表 B)关联、更新、排序 C)选择、投影、连接 D)排序、索引、统计 2.关系是指__b________。 A)属性的集合 B)元组的集合 C)实例的集合 D)字段的集合 3.如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b_______。 A)属性型 B)属性值 C)记录型 D)记录值 4.关系数据库系统中所使用的数据结构是______d____。 A)图 B)树 C)表格 D)二维表 5.对表进行水平方向的分割用的运算是______b____。 A)交 B)选择 C)投影 D)连接 6.下列数据库技术的术语与关系模型的术语的对应关系中____d______是正确的。 A)实例与关系 B)字段与元组 C)记录与属性 D)记录类型与关系模式 7.下列关于数据库系统的叙述中,正确的是____c______。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D)数据库系统避免了数据冗余 8.关系数据模型______d____。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C)只能表示实体间的m:n D)可以表示实体间的上述三种联系 9.在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为_____a_____。 A)关键字 B)主属性 C)数据项 D)主属性值 10.关系数据库管理系统中的元组是_____b_____。 A)关系中的垂直方向的列 B)关系中的水平方向的行 C)属性或属性的组合 D)以上的答案均不正确 11.从数据库的整体结构看,数据库系统采用的数据模型有______a____。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D)链状模型、关系模型和层次模型 12.设有属性A、B、C、D以下表示中不是关系的是_______d___。 A)R(A) B)R(A,B) C)R(A,B,C,D) D)R(A×B×C×D) 13.若实体间联系是M:N的,则将联系类型______a____。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14.数据库系统的构成为数据库、计算机硬件系统、用户和_____a_____。 A)数据库管理系统 B)操作系统 C)数据集合 D)文件系统 15.层次型、网状型和关系型数据库划分原则是______c____。 A)文件大小 B)记录长度 C)数据之间的联系 D)联系的复杂程度 16.在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 ______d____。 A)封装结构 B)层次结构 C)网状结构 D)二维表结构 17.在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a________。 A)主键 B)超键 C)外键 D)候选键 18.层次模型不能直接表示______b____关系。 A)1:1 B)m:n C)1:m D)1:1和1:m 19.DBAS指的是______d____。

Visual FoxPro 6.0 实验及指导

计算机基础及程序设计(二) (Visual FoxPro 6.0) 实 验 指 导 编制:韩德

目 录 实验一 表的建立 (3) 实验二 表记录数据的输入、追加和替换 (6) 实验三 表的基本操作 (9) 实验四 数据库与数据库表的操作 (12) 实验五 分支程序设计 (15) 实验六 循环程序设计 (19) 实验七 查询与视图 (22) 实验八 SQL命令的基本使用 (26) 实验九 报表和标签设计 (30) 实验十 表单设计(一) (34) 实验十一 表单设计(二) (41) 实验十二 菜单设计 (52) 实验十三 简单应用系统设计 (54)

实验一 表的建立 一、 实验目的: 1. 熟悉 Visual FoxPro基本操作环境。 2. 掌握使用表设计器建立和修改表结构的过程。 3. 了解表记录的输入。 二、 实验准备: 1.说明 本课程实验是前后相关的,从本实验开始,请同学注意保存实验数据。因此,在开始实验之前,要准备好保存数 据的介质,比如,U盘等。 2.准备 ,建立一个名为 xsgl 的文件夹。 ①在准备好的存储介质上(U盘) ②启动 Visual FoxPro。 ③假设要把数据存放在软盘中,那么,在 Visual FoxPro的命令窗口中键入命令:set default to <盘符>:\xsgl。 请注意,上述 3 个步骤也是后续各个实验的实验准备,但仅在此给出,以后不再赘述。 三、 实验内容: 1. 实验 1-1 实验题目:建立学生档案表结构(xsda.dbf)。 实验要求:使用菜单打开表设计器创建表结构,表结构如表 1-1 所示。 表1-1 学生档案(xsda)表结构 字段名 类型 宽度 学号 C 8 姓名 C 8 性别 C 2 出生日期 D 8 班级 C 8 党员否 L 1 入学成绩 I 4 照片 G 4 简历 M 4 操作步骤: (create) ①选择菜单【文件】—【新建】,打开“新建”对话框。 ,单击“新建文件”按钮,打开“创建”对话框。 ②在“新建”对话框中,选择文件类型为“表” ③在“创建”对话框中,确定文件的保存位置为 xsgl 文件夹,在“输入表名: ”文本框中输入:xsda,单击“保 存”按钮,打开表设计器。 ④在表设计器中,按表1-1 分别定义各字段的属性。

文本预览
相关文档 最新文档