vf实验报告 程序部分答案

时间:2024.4.14

vf实验报告 程序部分答案

**在编辑窗口中输入如下程序:
h=2
r=4
z=3.14*r*r*h/3
?z
运行该程序,查看结果。
2、 在vfp中,程序文件的扩展名是什么?运行程序的方法有哪些?说出三种方法。
prg,pjx。
do 程序名

程序-运行

3、 如何打开调试器窗口?观察调试器窗口。
【工具】-【调试】

**程序设计
功能:显示所按键。输入:9 输出:按的是数字键9
创建程序文件p1.prg,代码如下:

**显示用户从键盘输入的按键**
clear
wait windows"请按键" to ckey
do case
case between(ckey,"0","9")
?"按的键是数字键"+ckey
case between(ckey,"a","z") or between(ckey,"A","Z")
?"按的键是字母键"+ckey
case ckey=space(1)
?"按的键是空格键"
case ckey=chr(13)
?"按的键是回车键"
otherwise
?"按的键不是字母键、数字键、空格键、回车键!"
endcase


**求圆面积程序
h=2
r=4
z=3.14*r*r*h/3
?z


**定义一个有参函数,文件名为area.prg,求圆面积。圆的半径由用户随机输入,从而达到程序的通用性。
clear
input "请输入半径:" to r
s=area(r)
?"您输入的圆半径的面积为:",s

function area
parameters a
v=3.14*a*a
return v
end function

**创建程序文件test.prg,包含以下几个功能函数:
****自定义函数jiecheng,用于计算阶乘,参数名为num
****自定义函数p99,用于显示“九九乘法”表。
****自定义函数max1,用来求三个数中最大值


**自定义函数jiecheng,用于计算阶乘,参数名为num
function jiecheng
clear
input "请输入数据:" to num
s=fjc(num)
?"您输入的数据的阶乘为:",s
function fjc
para x
p=1
for n=1 to x
p=p*n
endfor
return p
endfunc
endfunc


**自定义函数p99,用于显示"九九乘法"表。
function p99
clear
i=1
do while i<=9
j=1
do while j<=9
if j<=i
??str(i,1),"*",str(j,1),"=",str(i*j,2)," "
&&str()数值转字符函数,两个参数:字符串长度(缺省为10),小数位数(缺省为0)
&&“”用于在同行分隔开两个算式
endif
j=j+1
enddo
? &&换行输出
i=i+1

enddo
endfunc


**自定义函数max1,用来求三个数中最大值
function max1
clear
**set udfparms to refer
input "请输入第一个数字:" to x
input "请输入第二个数字:" to y
input "请输入第三个数字:" to z
maxvalue=maxnum(x,y,z)
?"这三个数值中最大的是:",maxvalue
function maxnum
para a,b,c
if a>b
if a>c
v=a
else
v=c
endif
else
if b>c
v=b
else
v=c
endif
endif
return v
endfunc
endfunc

**如何调用test.prg文件中的每个函数?举例说明之。
**输入命令
do jiecheng in test
do p99 in test
do max1 in test

**如何调用自定义函数与过程
**过程: do 过程名 [in 程序名] [with 参数列表]
**函数: = 函数名( ) 同调用VFP的标准函数
**若调用某过程文件中的过程或UDF,也可在调用之前使用语句SET PROCEDURE TO 文件名打开该过程文件


**改错题
**实现二进制字符串数据压缩。压缩算法是:
**字符串首字符+该字符个数+分隔符+另一个字符个数+分隔符+……
**例如:二进制字符串为“111100000111111111000111110000”,压缩后显示为:14*5*9*3*5*4(即字符串首字符为1,4个1,5个0,9个1….,分隔符为*)
要求:
1、创建程序文件pcode.prg。将下列程序输入到其中并进行修改。
2、在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。

正确程序
cstring="111100000111111111000111110000"
cresult=left(cstring,1)
ncount=1
for n=2 to len(cstring)
if substr(cstring,n,1)=substr(cstring,n-1,1)
ncount=ncount+1
else
cresult=cresult+allt(str(ncount))+"*"
ncount=1
endif
endfor
cresult=cresult+allt(str(ncount))
?'压缩后为'+cresult

**程序的错误有两种:语法错误和逻辑错误。语法错误可以通过调试器的跟踪窗口得知错误位置。但逻辑错误,程序在编译过程中,是无法把它找出来的,这就需要程序设计者,自己来调试,找出自己算法的错误所在了,但局部窗口对你应该有很大帮助。
**原始程序:
cstring=“111100000111111111000111110000”
cresult=left(cstring,1)
ncount=1
for n=2 to cstring
if substr(cstring,n,1)=substr(cstring,n-1,1)
ncount=ncount+1
else
cresult=cresult+allt(str(ncount))+”*”
ncount=ncount+1
endif
endfor
cresult=cresult+allt(str(ncount))
wait windows ‘压缩后为’+cresult


第二篇:VF实验报告


 


       

1 需求分析

  设计一个数据库应用程序,实现可视化界面并实现显示、查询、插入、修改、删除等基本功能。

2 运行环境

Windows XP系统;Visual FoxPro 6.0;

3开发工具和编程语言

Visual FoxPro 6.0语言;

4 系统设计

建立“教学管理”数据库、数据库表及个表之间的关系,实验步骤如下

(1)在“教学管理”项目管理器中选择“数据”选项卡,然后选择“数据库”,单击“新建”按钮,打开“新建数据库”对话框。

(2)在“新建数据库”对话框中单击“新建数据库”按钮,打开“创建”对话框。

(3)在“创建”对话框中,确定数据库的类型为“*.DBC”、名称“教学管理”和保存位置。

(4)单击“保存”按钮,打开“数据库设计器”对话框。在“数据库”菜单中选择“创建表”命令。

(5)利用“表设计器”设计“学生”表、“成绩”表、“课程”表、“专业”表、“学生个人情况”表、“教员”表、“任课”表。

(6)在“数据库设计器”中建立各表之间的索引关系。

用“快速表单”命令创建单表表单,实验步骤如下

(1)在“项目管理器”中新建表单,打开“表单设计器”窗口。

(2)在“表单”菜单中选择“快速表单”命令,打开“表单生成器”对话框。

(3)在“字段选取”选项卡中,选择“学生”表,单击“双右向箭头”按钮,将所有字段添加到“选定字段”列表框中。

(4)在“样式”选项卡中,选择“浮雕式”。

(5)单击“确定”按钮,返回“表单设计器”窗口

(6)单击“表单控件”工具栏上的“命令按钮”控件。

在“表单设计器”窗口中,在表单的下面要添加“命令按钮”控件的地方拖动鼠标创建一个矩形框。

(7)打开“属性”窗口,设置Caption属性为“上一条记录”。

(8)双击“上一条记录”,打开代码窗口。

(9)在代码窗口中输入以下代码:

     Skip-1

     IF BOF()

         Go Top

     ENDIF

     ThisForm.Refresh

单击右上角的“关闭”按钮,关闭代码窗口。

(10)按照同样的方法,添加命令按钮“下一条记录”,并在代码窗口中输入如下代码:

    Skip

       IF EOF()

     Go Bottom

    ENDIF

    ThisForm.Refresh

单击右上角的“关闭”按钮,关闭代码窗口。

(11)添加“退出”命令按钮,在代码窗口中输入如下代码:

    Release ThisForm

(12)单击“表单控件”工具栏上的“标签”控件,在“表单设计器”窗口中,在表单的下面要添加“标签”控件的地方拖动鼠标创建一个矩形框。打开“属性”窗口,设置Caption属性为“学生”。

(13)单击鼠标右键,在弹出的快捷菜单中单击“执行表单”命令,或者单击“表单”菜单中的“执行表单”命令。

(14)单击表单上的“退出”按钮,返回“表单设计器”。

(15)在“表单设计器”窗口中选择“文件”菜单中的“保存”命令,打开“保存”对话框,在“文件名”文本框中输入“学生表单”。

按照此方法依次建立“成绩表单”、“课程表单”、“专业表单”、学生个人情况表单”、“教员表单”、“任课表单”。

使用表单导向创建一对多表单,实验步骤如下:

(1)在“项目管理器”对话框中选择“文档”选项卡,然后选择“表单”。           

(2)单击“新建”按钮。

(3)点击“表单导向”按钮。

(4)选择“一对多表单导向”。

(5)选择“一对多表单导向”,单击“确定”按钮,弹出一对多表单导向

 的“步骤1-从父表中选定字段”对话框。选择父表“学生”,在“可用字段”列表中出现可用字段。单击“双箭头”按钮,所有可用字段将出现在“选定字段”列表中。

(6)单击“下一步”按钮。弹出一对多表导向的“步骤2-从子表中选定字

 段”对话框。选择父表的子表“成绩”,单击“双箭头”按钮,选定所   有子表的字段。

(7)单击“下一步”按钮,弹出一对多表向导的“步骤3-建立表之间的关

系”对话框,决定父表和子表的一对多关系的字段是“学号”,子表中的多个记录与父表中的一个记录相对应。

(8)单击“下一步”按钮,弹出一对多表单导向“步骤4-选择表单样式”

 对话框。选择“浮雕式”,按钮类型为“文本按钮”。

(9)单击“下一步”按钮,弹出一对多表单向导的“步骤5-排序次序”对

 话框。单击“添加”按钮,同时选中“升序”。

 (10) 单击“下一步”按钮,弹出一对多表单向导的“步骤6-完成”对话框。在表单标题中输入“学生与成绩”。选中选项按钮组中的“保存表单以备将来使用”,单击“预览”按钮,预览建立的表单。单击“返回向导”按钮,返回“完成”对话框。

 (11)单击“完成”按钮,弹出“另存为”对话框。在“保存在”下拉列表框中选择文件夹“D:\教学管理\表单”。在“保存表单为”文件框中输入表单名“学生与成绩”。系统默认的扩展名是.scx。

 (12)单击“保存”按钮。就建立了一个“学生与成绩”。

  按照此方法以此建立“教员与任课表单”、“课程与成绩表单”、“学生            与专业表单”。               

利用“表单设计器”创建多表表单,实验步骤如下:

(1)在“教学管理”项目管理器中打开“表单设计器”。

(2)在新建的表单中单击右键,选择“数据环境”命令,打开“数据环境设计器”窗口。

(3)在“数据环境设计器”窗口中,单击右键,在弹出的快捷菜单中单击“添加”命令,打开“添加表或试图对话框”。分别选择“专业”表、“学生”表和“学生个人情况”表,单击“添加”按钮,添加到“数据环境设计器”中。

(4)单击“专业”表与“学生”表的关系连线,设置“专业”表与“学生”表的关系属性。这里的子表“学生”表通过“专业”字段与父表相关联,所以将ChildOrder属性设置为“专业”;将RelationalExpr属性设置为联接两个相关表的表达式,如果子表ChildOrder标识以“专业”建立的索引,应当将RelationalExpr也设置为相同的父表的表达式,这里将RelationalExpr属性设置为“专业名称”。

(5)单击“学生”表与“学生个人情况”表的关系连线,设置“学生”表与“学生个人情况”表的关系属性。

(6)拖动“专业”表的“专业名称”、“负责人”“研究方向”字段到表单中。“专业”表作为父表。

(7)从“数据环境设计器”中将相关的子表拖动到表单中。这里,拖动“学生”表和“学生个人情况”表。

(8)添加“专业与学生”标签,调整表格的大小和位置。

(9)按照上例的方法,添加命令按钮“上一条记录”、“下一条记录”、“退出”,并在代码窗口中输入相应代码。

(10)在“表单设计器”窗口中选择“文件”菜单中的“保存”命令,或者单击鼠标右键,在弹出的快捷菜单中选择“保存”命令,打开“保存”对话框,在“文件名”文本框中输入表单名称“专业与学生”。

5 系统运行及测试

(1)打开“教学管理”项目管理器。

(2)选择“代码”选项卡,选择“成绩表单”,单击“运行”按钮

(3)按照此方法依次打开“学生表单”、“成绩表单”、“教员表单”、“课程表单”、“任课表单”、“学生个人情况表单”、“专业表单”、“学生与成绩表单”、“教员与任课表单”、“课程与成绩表单”、“专业与学生多表表单”。

6 参考文献

[1]Visual FoxPro 基础教程(第三版),周永恒编,高等教育出版社;

[2]Visual FoxPro 基础教程实验指导(第三版),周永恒、周逊编,高等教育出版社。郑州旅游网http://www.zzly001.com

点点网http://www.diandian361.com

7心得体会

通过本次实验我更熟练的掌握了创建数据库、建立数据库表及各表之间的索引关系、创建单表表单、创建一对多表单和创建多表表单的步骤和方法。同时,也使我认识到掌握一门专业的计算机语言(即Visual FoxPro)不是一件容易的事,不仅需要牢牢掌握书本上的理论知识,还要经过大量的实践练习。只有通过实践练习才能检验我们对知识的掌握情况。在实验过程中,通过和其他同学的研究、探讨,更加深了我对已学知识的认识和掌握。同时也激起了我对学好计算机语言的兴趣和热情。以后,我会更加努力的学好编程语言课程,并把它运用到实践中去。

更多相关推荐:
vf实验报告1

VisualFoxpro实验上机报告

vf课程设计实验报告模板

经济管理学院专业班级学生姓名学号指导教师课程设计题目会计0904李彦春丁胜峰年月日11一课程设计的目的和意义字体宋体字号小四目的根据数据库管理系统课程讲授内容自主完成一个管理系统的设计掌握课堂所讲的内容熟悉VF...

Vf实验报告

Vf实验报告实验1常量变量数组函数和表达式1VFP有哪三种工作方式菜单方式命令方式程序方式2顺序执行如下两条命令后显示的结果是mquotABCquotmmquotDEFquotm3在VisualFoxPro中要...

VF程序设计实验报告册(实践教程)

VisualFoxPro程序设计课程实验报告手册学院年级专业姓名学号任课教师上机地点以上由学生填写实验教师签字西南大学计算机与信息科学学院计算机基础教育系年月1日一实验说明本课程实验分为一般性实验验证和简单设计...

VF实验报告答案

实验报告程序设计答案求圆环面积分别用子程序过程函数实现用子程序实现主程序SettalkoffClearS0Input请输入大圆的半径tor1Input请输入小圆的半径tor2Doareawithr1r2圆环的面...

vf sql实验报告08

第5章VisualFoxPro中SQL语言的应用实验报告123二实验过程实验结果实验过程概述class中增加一个班级记录号班级号班级名称班级人数11ICSOA02信息管理0802班管理学院0student中增加...

VF实验报告(20xx)

成都大学实验报告书院系专业年级班级学号学生姓名课程名称指导教师成都大学信息科学与技术学院计算机基础教学部制学生实验守则1每次实验课前应认真预习实验内容明确本次实验的实验目的原理方法和步骤做好必要的准备工作必要时...

VF课程设计实验报告

VFP综合程序设计报告秦皇岛旅游信息查询系统东北大学秦皇岛分校姓名学号指导教师日期20xx年06月17日一总体说明总体功能介绍此系统为秦皇岛旅游信息查询系统为用户提供旅游信息的查询及修改功能此系统通过密码登录来...

VF实验报告

ThisformReleasemessageboxquot用户或密码错误quotquot提示信息quot

vf数据库实验报告 学生信息录入

Vf数据库实验报告一实验性质设计型实验2学时二实验目的通过实验掌握表单控件设计的基本方法和过程表单控件设计中的控件的添加属性设置事件代码的编写及方法程序的调用三实验任务1掌握表单设计器环境表单设计的基本过程和方...

vfp实验指导书的实验报告6

实验六据库表的拓展属性与参照完整性规则一掌握数据库表的扩展属性的设置方法12利用表设计器设置数据库表的长表名记录有效性规则触发器和表注释在表设计器3利用命令设置数据库表的扩展属性可以使用CREATETABLES...

vfp课程设计实验报告

江苏师范大学数据库原理及应用实验报告实验名称班级情况数据库班级姓名学号实验日期20xx年1月9日指导教师吴庆忠江苏师范大学测绘学院1一实验目的及意义通过这次数据库应用系统开发实践我相信本人对数据库应用系统开发有...

vf实验报告(20篇)