《程序设计基础—VFP实验》
说明:
实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告.
实验1计算机基本操作
实验目的
⑴熟悉计算机,能够正确进行开,关机操作.
⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中,英文切换.
⑶理解操作系统概念,掌握WindowsXP的基本操作,能够利用"控制面板"进行一些参数的设置.
⑷知道"回收站"的功能,学会有关文件,文件夹的基本操作.
⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用.
实验内容
⑴熟悉上机实验的计算机,熟悉键盘,学会中,英文输入方式的转换.
⑵学会用正确的指法进行输入,知道键盘上所有字符的输入.
⑶利用"控制面板"修改系统时间,桌面背景,鼠标属性.
⑷在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名.
⑸用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中.
⑹将上述文件夹复制到ftp://10.10.9.222上.
实验2常用软件的基本操作
实验目的
⑴了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置,分栏,页面设置,添加底纹等.
⑵学会文件的保存与打开,打印预览,段落的间隔,首字符位置改变等,能够在Word中插入图片,表格,艺术字,特殊符号等.
⑶了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置,数字的几种填充形式,单元格的合并与恢复,边框的设置等.
⑷掌握Excel的基本公式的使用,能够用公式进行基本计算.掌握Excel中的图形制作方法,能够根据表格做出图形.
实验内容
⑴将ftp上自己文件夹中的1.doc文件复制到桌面上,然后做如下处理:
①将标题"自我介绍"居中,
②将文章中第二段的内容进行分栏,要求中间有分割线,
③插入一个4行4列的表格,内容为学号,姓名,某门课的成绩,
④任意插入一张图片,
⑤在文章中的任意位置加底纹.
将做好的文档以2.doc命名并保存.
⑵用Excel建立如下表格:
学生的总成绩学号姓名语文数学英语计算机总分平均分09001张辉7890809209003万明8487839009004杜芳鸣9180789509006徐好芳8785808509007江珍8067787009008王豪7873858009009王小盟7589948809010胡甜甜8293889509012卫晓88976572并对表格进行如下操作:
①利用公式计算学生的总分,平均分,
②将表中所有的数据选择居中,
③利用该表格中的姓名和计算机的成绩做簇状图形.
将做好的Excel表以2.xls命名并保存.
将本次实验的两个文件上传到ftp上自己的文件夹中.
实验
一,实验目的
1.熟悉VFP的开发环境及项目管理器,
2.掌握VFP中的常量,变量及常用函数,
3.熟练使用运算符和表达式来表达一些实际命题,
4.掌握数据表及其记录的基本操作.
二,实验要求
1.掌握表达式和函数的使用.
2.掌握变量的定义和使用.
3.分别用菜单和CREATE命令打开表设计器TableDesigner),建立表结构并输入数据.打开,关闭修改表结构.修改记录,删除记录.1)数值表达式(在命令窗口中分别输入以下命令并记录结果)
①命令:127%5执行结果:
②命令:25+5^2/6-10执行结果:
(2)字符串表达式(在命令窗口中分别输入以下命令并记录结果):
①命令:[Letter]+space(2)+[Scientist]执行结果:
②命令:[Letter]+space(2)-[Scientist]执行结果:
③命令:"t"$"Letterateur"执行结果:
④命令:[little]等于等于[Little]执行结果:
⑤命令:"wind"等于"WIND"执行结果:
⑥命令:[我的名字是"王红"]执行结果:
(3)日期表达式(在命令窗口中分别输入以下命令并记录结果):
①命令:CTOD([1/13/2005])+20执行结果:
②命令:CTOD([09/10/2004])-5执行结果:
③命令:CTOD("12/29/2004")-{^2005/1/14}执行结果:
(4)关系表达式(在命令窗口中分别输入以下命令并记录结果):
①命令:5+6*3>,3+7/2执行结果:
②命令:"天空">,"地面"执行结果:
③命令:50+2*100等于50*10/2执行结果:
④命令:60*3+20<,>,20*10
(5)逻辑表达式(在命令窗口中分别输入以下命令并记录结果):
①命令:"ToolBox"$"Tool".AND.(1.5+3.8)<,6.8执行结果:
②命令:.NOT."ABC"等于等于"ABC".OR.ASC([ToolBar])等于INT(66.87)执行结果:
③命令:year(date())%4等于0andyear(data())%100!等于0执行结果:
2.求各函数的值
(1)字符函数的使用(在命令窗口中分别输入以下命令并记录结果)
①命令:A等于"中华民族"+space(6)
②命令:B等于"是一个伟大的民族"
③命令:C等于"民族"
④命令:at(C,B)执行结果:
⑤命令:len(A)执行结果:
⑥命令:Alltrim(A)执行结果:
⑦命令:len(Alltrim(A))执行结果:
⑧命令:len(A+B)执行结果:
⑨命令:len(A-B)执行结果:
⑩命令:substr(B,7,10)执行结果:
(2)数值函数使用(在命令窗口中分别输入以下命令并记录结果)
①命令:X等于-10
②命令:Y等于6
③命令:Z等于2.7
④命令:ABS(X)执行结果:
⑤命令:INT(Z)执行结果:
⑥命令:MOD(10,4)执行结果:
⑦命令:MOD(-10,4)执行结果:
⑧命令:ROUND(Z,2)执行结果:
(二),变量操作
1.变量的赋值
命令:AA等于"VFP程序设计"(或命令:store"VFP程序设计"toAA)
命令:AA结果为:
命令:BB等于25
命令:CC等于25(或输入命令:store25toBB,CC)
命令:BB结果为:
命令:CC结果为:
命令:EE等于{^2005-5-1}(或输入以下命令:store{^2005-5-1}toEE)
命令:EE结果为:
2.变量的保存
命令:
3.浏览内存变量
命令:
(三),分别用菜单和CREATE命令建立表结构并输入数据打开,关闭修改记录,删除记录
实验
一,实验目的
1.掌握建立数据库及其中表的方法,
2.掌握数据词典的使用方法,
3.掌握简单的数据库操作命令,
4.掌握对数据表排序索引,查寻表的计算,汇总多表(Table)建关联及排序索引,查寻表计算,汇总多表建关联及排序索引,查寻表计算,汇总多表建关联及等.with等联接两个表,生成文件名LJB.DBF的表文件)
实验5查询与视图操作(SQL语句)
一,实验目的
1.掌握用查询设计器建立查询的方法,
2.掌握用视图设计器建立视图的方法,
3.掌握各种SELECT-SQL查询命令的使用方法.
二,实验要求
1.启动查询设计器,建立一个查询.
2.启动视图设计器,建立一个视图(要求利用视图更新源表中的数据).
3.用SELECT命令进行简单查询.
4.用JOIN进行连接查询.
5.用WHERE进行多表连接查询.
6.使用系统函数和别名查询.
7.查询分组,排序和结果保存.
8.SQL的数据操纵功能.
三,实验内容
(一),启动查询设计器建立一个查询
1.启动查询设计器
2.选择查询数据源
3.选取字段
4.设置关联
5.筛选记录
6.排序结果
7.设定"杂项"
8.运行查询
9.查看SQL语句
10.保存查询:
(二),启动视图设计器建立一个视图
1.启动视图设计器
2.设计视图
3.更新数据
4.查看SQL语句
5.保存视图
6.浏览视图
(三),用SELECT命令进行简单查询(以下均用SQL语句来实现)
1.给定字段查询
2.给定查询满足的条件
(四),用JOIN进行连接查询
1.内连接查询
2.外连接查询
(五),用WHERE进行多表连接查询
(六),使用系统函数和别名查询
1.别名查询
2.查询平均值和总和
3.查询最大/最小值
4.统计个数
(七),查询分组,排序和结果保存
1.分组查询
2.查询排序
3.结果保存
实验6VFP程序设计初步
一,实验目的
1.掌握建立,修改,运行和保存一个程序的方法,
2.熟悉调试程序的办法,
3.掌握程序设计的等say等get等read,
6.熟悉针对数据库表而设计的"指针"型循环scan等endscan.
二,实验要求
1.建立一个程序文件hope1.prg,完成以下功能:
输入三角形的三个边长A,B,C,若A,B,C能构成三角形,则计算出三角形面积,否则提示"不能构成三角形!".若构成的三角形为直角三角形,也给出"构成直角三角形"的提示.
2.建立一个利用case语句求指定分段函数值的程序文件hope2.prg.
3.建立一个利用while循环,for循环求出1至100以内的素数和,并显示结果的程序文件.
4.编写一个用双重循环实现打印九九乘法表的程序文件.
5.创建一个数据表并编写完成指定功能的相应程序.
6.分别用当型循环完成和扫描型循环结构编程,输出教师表中职称是教授的教师编号,姓名,职称及专业,并统计输出这些教师的人数.
三,实验内容
(一),hope1.prg参考程序:
clear
"输入三角形的三边:"
input"请输入三角形第一个边的值"toa
input"请输入三角形第二个边的值"tob
input"请输入三角形第三个边的值"toc
ifa+b>,canda+c>,bandb+c>,athen
s等于(a+b+c)/2
area等于sqrt(s*(s-a)*(s-b)*(s-c))
"三角形的面积是:"+str(area,6,2)
ifa*a+b*b等于c*cora*a+c*c等于b*borc*c+b*b等于a*athen
messagebox("此三角形是直角三角形",64)
endif
else
messagebox(str(a)+","+str(b)+","+str(c)+"不能构成三角形",48)
endif
return
输入的a,b,c数据及程序运行结果:
(二),建立一个利用case语句求以下分段函数值的程序文件hope2.prg.
X(X<,0)
2*X(0≤<,X<,1)
F(X)等于
X*X(1≤<,X<,2)
sqrt(X)(X≥2)
参考程序如下:
clear
input"输入一个数"tox
docase
casex<,0
f等于x
casex<,1
f等于2*x
casex<,2
f等于x*x
otherwise
f等于sqrt(x)
endcase
"f("+alltrim(str(x,6,2))+")等于"+alltrim(str(f,8,3))
return
输入的X值及程序执行结果:
(三),求100内的素数和参考程序:
clear
sum等于0
n等于2
dowhilen<,等于100
k等于int(sqrt(n))+1
fori等于2tokstep1
ifn%i等于0then
exit
endif
endfor
ifi>,等于kthen
sum等于sum+n
alltrim(str(n))+","
endif
n等于n+1
enddo
"素数和为:"+alltrim(str(sum))
return
程序执行结果:
(四),参考程序如下:
*****用计数型循环实现的打印九九乘法表程序***
clear
fori等于1to9
forj等于1to9
k等于i*j
str(i,1,1)+"*"+str(J,1,1)+"等于"+str(K,2,1)
space(4)
endfor
endfor
return
分别改变内外循环的初始,终止值,执行程序并写出程序运行后的结果:
(四),参考程序如下:
*****用计数型循环实现的打印九九乘法表程序***
clear
fori等于1to9
forj等于1to9
k等于i*j
str(i,1,1)+"*"+str(J,1,1)+"等于"+str(K,2,1)
space(4)
endfor
endfor
return
分别改变内外循环的初始,终止值,执行程序并写出程序运行后的结果:
(五),创建一个数据表"工资.DBF",表结构如下:工资(工号,部门,姓名,基本工资,津贴,房租,水电费,所得税,实发工资).其中记录值如下:
工号部门姓名基本工资津贴房租水电费所得税实发工资
99035001数学系王红100050010010
99035002物理系李红12454002010
99035003化学系张红23153005011
99035004英语系刘红17892008018
99035005历史系孙红8003007012
99035006计算机系黄红50010006010
编写一个程序PROGGZ.PRG,该程序的功能是在"工资.DBF"表中填写"所得税"和"实发工资"字段值,并将交税数量超过100(含100)的员工信息存放到新建立的表应交税(部门C(10),姓名C(10),所得税N(10))中.
注:所得税计算方法:((基本工资+津贴-房租-水电费)-1000)*0.1
实发工资计算方法:基本工资+津贴-房租-水电费-所得税.
参考程序如下:
use工资
scan
if(基本工资+津贴—房租—水电费)—1000>,0
replace所得税with((基本工资+津贴—房租—水电费)—1000)*0.1
endif
replace实发工资with基本工资+津贴—房租—水电费—所得税
endscan
copyto应交税fields部门,姓名,所得税for所得税>,等于100
closall
(六),参考程序如下:
Clearall
UES教师表程序执行结果:
Clear
Store0toN
Dowhileeof()<,>T.
If职称<,>,"教授"
Skip
Loop
Endif
教师编号,姓名,职称,专业
N等于N+1
Skip
Enddo
"职称是教授的教师共有:"+str(N,3)+"人"
Closedatabases
Return
实验7多模块程序设计及数组
一,实验目的
1.掌握子程序与过程文件用户自定义函数的建立.Input"圆柱半径:"toR
Input"圆柱高度:"toH
"圆柱的底面积为:",area(R)
"圆柱的体积为:",area(R)*H
Return
********计算圆面积的自定义函数*********
Functionarea
ParametersR
S等于3.14159*R*R
ReturnS
Endfunc
输入的R,H值及程序执行结果:
(二),实验内容2的参考程序NPACE.prg如下:
ParametersX
PrivateX
Dowhileat("",X)>,0
X等于stuff(X,at("",X),1,"")
Enddo
ReturnX
保存,调试运行并调用该函数,在命令窗口中输入以下命令:
输入:word等于"欢迎光临"
"大家好!"+NPACE(word)
查看并记录结果:
(三),求阶乘的过程JcProc用abc2.prg程序如下:
******abc2.prg******
Clearall
Input"X等于"toX
Input"Y等于"toY输入X,Y的值及结果:
N等于X
DoJcProc
Temp1等于T
N等于Y
DoJcProc
Temp2等于T
Z等于Temp1+Temp2
"X!+Y!等于",Z
******JcProc过程******
PROCEDUREJcProc
PUBLICT
T等于1
Fori等于1ton
Next
Endproc
Return
(四),定义一个二维数组a(2,3),分别给数组的每个元素赋值为:
.t."Vfp98"3
4{^2005-01-15}-378000
可编写如下程序:
dimensiona(2,3)
a(1,1)等于.t.
a(1,2)等于"Vfp98"
a(1,3)等于3
a(2,1)等于4
a(2,2)等于{^2005-01-15}
a(2,3)等于-3.78e5
a(2,2)
a(5)
程序执行结果为:
(五),abc3.prg参考程序如下:
Clearmemory程序执行结果为:
Use成绩登记表
Display
ScattertoAA
DisplaymemorylikeAA
Ab.prg参考程序如下:
Clearmemory
DimensionBB(6)
BB(1)等于"10102016"
BB(2)等于"10202"
BB(3)等于90
BB(4)等于78
BB(5)等于88
BB(6)等于"考试课"
Use成绩登记表
Appendblank
GatherfromBB
Display
程序执行结果:
(六),abc5.prg参考程序如下:
Clear
Settalkoff
input"输入N的值:"toN
S等于1
DosubwithN,s
Settalkon
SUB.prg参考程序如下:
Parameter,s
Ifm>,1
Dosubwithm-1,s
S等于M*s
Endif
str(m,2)+"!等于"+str(s,15)
Return
运行程序文件abc5.prg结果为:
实验8菜单,表单基本操作
一,实验目的
1.掌握菜单设计及在表单中应用菜单的方法,
2.掌握表单设计的基本方法和过程,
3.掌握表单设计中的控件的添加,属性设置,事件代码的编写及方法程序的调用,
4.掌握面向对象程序设计的基本概念.
二,实验要求
1.用菜单设计器设计菜单,并建立菜单文件..scx",该表单的标题为学籍管理,表单中含有标签"学生学籍管理系统",在VFP主窗口中居中,无最小化和最大化按钮,当鼠标单击表单时其背景色变为红色,当双击鼠标时释放表单.
三,实验内容
(一),用菜单设计器设计菜单
修改表结构ALT+E学生学籍表
维护表刻录ALT+R成绩登记表
----------------
修改表单ALT+T
要求:单击"学生学籍表"菜单时执行"Use学生学籍表"命令,单击"退出"菜单时执行"QUIT"命令退出VFP系统,其它菜单不执行命令.
写出主要步骤及方法(各菜单项设计,分组线设计,热键设计,快捷键设计,菜单文件保存,菜单程序生成等):
(二),用菜单设计器设计快捷菜单
简单操作步骤:
(三),用"表单设计器"设计表单文件"学生学籍管理系统.scx"
1.打开表单设计器并在表单中添加以下控件
2.属性设置
表单的属性设置:标签控件的属性设置:
3.事件代码的编写及方法程序的调用
表单FORM1的CLICK事件代码:
表单FORM1的DBLCLICK事件代码:
4.保存并运行表单
实验9表单控件设计
一,实验目的
掌握表单控件设计的基本方法和过程,掌握表单控件设计中的控件的添加,属性设置,事件代码的编写及方法程序的调用,掌握输入类控件,输出类控件及控制类控件的使用方法,掌握数据环境的设置方法,掌握数据绑定的使用方法,掌握将菜单添加到表单的方法.
二,实验要求
1.创建一个教师表的记录浏览表单"教师表记录浏览.SCX",效果如下左图所示.
2.创建可以进行简单计算的简易计算器表单"简易计算器.SCX",效果如下右图所示.
3.创建一个学生学籍的编辑与查询表单,表单的实验的演示效果如下图所示.
4.将前面实验中的系统菜单添加到学生学籍管理系统表单中,效果如下图所示.
三,实验内容
(一),创建教师表的记录浏览表单
1.打开表单设计器新建表单并建立表单的数据环境
2.在表单中添加以下控件:
3.属性设置
表单FORM1属性设置:四个命令按扭控件属性设置:
六个文本框控件属性设置:六个标签控件属性设置:
4.事件代码的编写及方法程序的调用
"第一个"命令按扭的CLICK事件代码:"最后一个"命令按扭的CLICK事件代码:
"下一个"命令按扭的CLICK事件代码:"上一个"命令按扭的CLICK事件代码:
(二),创建简易计算器表单
1.新建表单并在表单中添加以下控件
2.属性设置
表单FORM1属性设置:命令按扭控件属性设置:
三个文本框控件属性设置:三个标签控件属性设置:
选项按扭组的属性设置:
3.事件代码的编写及方法程序的调用
(三),创建学生学籍的编辑与查询表单
1.新建表单及建立表单的数据环境
2.在表单中添加以下控件:
3.属性设置
表单FORM1属性设置:
页框PAGEFRAME1第一个页面PAGE1中控件属性设置
页面PAGE1的属性设置:两个命令按扭控件属性设置:
五个标签控件属性设置:四个文本框控件属性设置:
列表框LIST1的属性设置:编辑框EDIT1的属性设置:
页框PAGEFRAME1第二个页面PAGE2中控件属性设置
页面PAGE2的属性设置:命令按扭控件属性设置:
两个标签控件属性设置:两个文本框控件属性设置:
表格GRID1属性设置:
4.事件代码的编写及方法程序的调用
PAGE1中事件代码的编写及方法程序的调用
LIST1的CLICK事件代码编写如下:"删除"命令按扭的CLICK事件代码编写如下:
"添加"命令按扭的CLICK事件代码编写如下:
PAGE2中事件代码的编写及方法程序的调用
"查询"命令按扭的CLICK事件代码编写如下:
(四),将菜单添加到表单
1."常规选项"对话框设置:2.表单的SHOWWINDOW属性值设置:
3.FORM1的INIT事件的代码如下:
4.保存并运行表单"学生学籍管理系统.scx"
实验10VFP的简单综合应用
一,实验目的
1.掌握项目文件的创建,掌握在项目管理器中添加和创建各种文件的方法,
2.掌握表单控件设计的基本方法和过程,
3.掌握表单控件设计中的控件的添加,属性设置,事件代码的编写及方法程序的调用.
二,实验要求
1.在VFP98默认目录中建立项目文件PROJ1,
2.在项目管理器中添加VFP98默认目录中的程序文件GENMENU.PRG,并将该文件设置成主文件,
3.在项目管理器中新建一个文件名为"选择字体.SCX"的表单,如图所示,将其保存到VFP98默认目录中.
4.调试后将此项目连编成PROJ1.EXE文件.
三,实验内容
(一),建立项目文件PROJ1
(二),在项目管理器中添加程序文件,并将该文件设置成主文件.
(三),在项目管理器中新建一个文件名为"选择字体.SCX"的表单.
1,新建表单并在表单中添加以下控件
2.属性设置
表单FORM1的属性设置:标签控件LABEL1属性设置:
命令按扭控件属性设置:文本框控件属性设置:
计时器控件属性设置:复选框控件属性设置:
选项按扭组的属性设置:
4.事件代码的编写及方法程序的调用
CHECK1的CLICK事件代码:TIMER1的TIMER事件代码:
OPTIONGROUP1的CLICK事件代码:"关闭"命令按扭的CLICK事件代码:
5.保存,运行表单
(四),将项目连编成可执行文件