计算机实验报告93991352.docx
《计算机实验报告93991352.docx》由会员分享,可在线阅读,更多相关《计算机实验报告93991352.docx(40页珍藏版)》请在冰点文库上搜索。
计算机实验报告93991352
(此文档为word格式,下载后您可任意编辑修改!
)
实验报告
学院:
专业:
年级:
姓名:
学号:
实验室号:
计算机号:
实验日期:
年月日指导教师签字:
成绩:
报告退发(订正、重做)
实验一:
熟悉VFP开发环境(验证性,3学时)
一、实验目的
1.熟悉VFP集成开发环境;
2.项目管理器的使用;
3.常用命令的使用;
二、实验内容
1.在硬盘上新建一个以自己学号命名的文件夹,并将此文件夹设置为默认目录.要使此设置关闭VFP系统后再进入VFP系统时仍然有效该如何保存?
2.设置日期格式为年月日格式,年份四位数显示和两位数显示如何设置,以短划线”-”作为日期分隔符,要使以上设置关闭VFP系统后再进入VFP系统时失效该如何保存?
3.如何将现在小数点后只保留2位改成保留更多的位数?
4.定制工具栏操作:
如何将调色板工具栏里的红色添加到常用工具栏里?
5.在默认目录下建立“学生成绩管理”项目文件和“学生成绩”数据库.分别在项目中建立数据库和不在项目中建立数据库,比较他们的区别;
6.观察上述第5题的操作过程中命令窗口中出现的命令,并指出各命令的作用;
7.退出VFP系统的命令是什么?
有哪些方法可以退出VFP系统?
三、实验环境
1.硬件:
学生用微机、局域网环境
2.软件:
Windows2000中文操作系统、VisualFoxpro6.0
四、实验步骤
(描述实验的具体操作步骤和方法,内容见后附的手写材料)
五、实验调试与结果分析
(描述实验的调试过程,实验中发生的现象、中间结果、最终得到的结果,并进行分析说明,分析可能的误差或错误原因等.内容见后附的手写材料)
六、总结
(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决需进一步研讨的问题或建议新实验方法等.内容见后附的手写材料)
实验一:
熟悉VFP开发环境
1.先在D盘建一个文件夹,并将其命名为.在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“文件位置”中的“默认目录”,然后选择“修改”,将其设为“D\”,最后选择“设为默认值”,“确定”,即可.
2.在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“区域”,然后在“日期格式”栏的下拉选项中选择“年月日”;勾选“日期分隔符”和“年份(1998或98)”项,并在“日期分隔符”其后面输入“-”;最后选择“设为默认值”,“确定”,即可.
3.在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“区域”,然后在“小数位数”项输入小数位数的多少,最后选择“设为默认值”,“确定”,即可.
4.在桌面打开VFP系统,在菜单栏上选择“显示”,此时跳出一个工具栏对话框,勾选“调色板”后选择右边的“定制”,跳出定制工具栏,在“分类”中选定“调色板”,在其右边中选定红色,并将其拖动到主窗口,关闭定制工具栏,最后将其移到常用工具栏下.
5.打开VPF系统,在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“项目”然后点击右边的“新建文件”弹出创建的对话框,在该对话框的项目文件框中键入“学生成绩管理”后点击“保存”.在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“数据库”然后点击右边的“新建文件”弹出创建的对话框,在该对话框的数据库名框中键入“学生成绩”后点击“保存”.
区别:
如果是在项目中建立数据库,则命令窗口不会显示命令.
6.“CREATEPROJECT”是建立项目文件命令,“CREATEDATABASE”是建立数据库命令,“MODIFYDATABASE”打开默认目录下的数据库,“MODIEFPROJECT”是打开默认目录下的项目文件
7.退出VFP系统的命令是“Quit”;
其他退出VFP系统的方法:
方式一:
单击应用程序窗口中的“关闭”按纽.
方式二:
在“文件”菜单中选择“退出”命令.
方式三:
在命令窗口中键入QUIT命令.
方式四:
同时按下Alt和F4组合键.
方式五:
单击应用程序窗口左上角的控制菜单图标,从弹出的菜单中选择“关闭”命令.或者双击控制菜单图标.
实验报告
学院:
专业:
年级:
姓名:
学号:
实验室号:
计算机号:
实验日期:
年月日指导教师签字:
成绩:
报告退发(订正、重做)
实验二:
数据类型、函数和表达式(验证性,3学时)
一、实验目的
1.VFP变量的使用;
2.VFP函数的使用;
3.VFP表达式的使用;
二、实验内容
1.熟悉内存变量的命名规则,举例说说正确的内存变量名和不正确的内存变量名,并在命令窗口中加以测试;
2.测试两种内存变量的赋值命令(=和STORE),分别给变量赋以不同数据类型的值,用type函数测试其数据类型;
3.分别定义一个一维数组和二维数组,并用type函数测试数组元素未赋值时的数据类型及察看未赋值数组元素的值;给同一数组的不同的数组元素赋以不同数据类型的值;
4.测试常用的系统函数的用法并观察其结果(有关表的函数除外);
5.测试不同数据类型数据为空的值(即用EMPTY()函数进行测试);
6.设X=3,Y=10,求Ln|-y|+exy(1-)的值;设a=3,b=5,c=2,求ax2+bx+c=0的根;
7.求以下逻辑表达式中各个关系表达式的值,并求出逻辑表达式的值:
“Z”>[z].AND.(’ABCLL’=‘ABC’.OR.3^2!
=LEN([VISUALFOXPRO]))
三、实验环境
1.硬件:
学生用微机、局域网环境
2.软件:
Windows2000中文操作系统、VisualFoxpro6.0
四、实验步骤
(描述实验的具体操作步骤和方法,内容见后附的手写部分)
五、实验调试与结果分析
(描述实验的调试过程,实验中发生的现象、中间结果、最终得到的结果,并进行分析说明,分析可能的误差或错误原因等.内容见后附的手写部分)
六、总结
(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决需进一步研讨的问题或建议新实验方法等.内容见后附的手写部分)
实验二:
数据类型、函数和表达式
1.输入temp=”Howareyou?
”输入”use20toA”
?
temp跳出”命令中含有不能识别的短语或关键字”
Howareyou
2.在命令窗口中输入
①命令格式一②命令格式二
Temp=2*3+5-8store0toX1X2Y1Y2
?
temp?
X1,X2,Y1,Y2
50000
?
type(’temp’)所以其数据类型为数值型
N
3.一维数组:
DIMENSIONX(3)二维数组:
DIMENSIONa(2,3)
未赋值时:
dimensionx(3)未赋值时:
dimensiona(2,3)
?
type(’x(3)’)?
type(’a(2,3)’)
L所以是逻辑型L
赋值时:
dimensionx(3)未赋值时:
dimensiona(2,3)
x
(1)=2a(2,3)=’world’
x
(2)=4?
a(2,3)
storex
(1)+x
(2)tox(3)world
?
x(3)
6
4.字符整理函数?
LEN(’’HELLO’’)5C的长度
系统测试函数?
FILE(”student.dbf”)测试制定文件是否存在
数值型函数?
ABS(-2,0)2.0绝对值
5.?
Empty(0)T
6.①x=3②a=3
y=10b=5
?
loy(abs(-y))+exp(x*y)*(1-sqrt(y))c=2
?
sqrt(a*(x^2)+b*x+c)
6.63
7.关系表达式逻辑表达式
?
”Z”>[z]例.”Z”>[z].AND(’ABCLL’=’ABC’.OR.3^2
.T.=LEN([VISUALFOXPRO])
?
3^2!
=LEN([VISUALFOXPRO]).T.
.T.(’ABCLL’=’ABC’.OR.3^2!
=([VISUALFOXPRO])
实验报告
学院:
专业:
年级:
姓名:
学号:
实验室号:
计算机号:
实验日期:
年月日指导教师签字:
成绩:
报告退发(订正、重做)
实验三:
表与数据库的基本操作(验证性,6学时)
一、实验目的
1.数据库的建立,表的建立;
2.表的完整形约束、数据库和表的打开关闭;
3.表记录的插入、修改和删除;
4.表记录的显示以及记录的定位;
5.记录的排序,单索引和复合索引的建立,索引的使用方法;
6.多工作区的使用,表间关联的建立.
二、实验内容
1.在“学生成绩”项目中建立“学生成绩”数据库;在学生成绩数据库中建立“学生”、“成绩”、“课程”三个数据库表并输入一些相应的数据;在“学生成绩”项目中建立自由表ABC.dbf;并将这些表从项目中移出或移入;
2.对“学生”表设置如下的约束(字段有效性):
学号不能为空,为空时提示信息:
“必须输入学号”、奖学金的默认值为200;对课程表设置如下约束(记录有效性):
课时>=学分*20;
3.对上述三个数据库表进行数据增加、删除(包括逻辑删除和物理删除)和修改操作;
4.用菜单的方法进行表记录的定位,指出什么是当前操作记录;
5.将学生表的学号设定为主索引,升序排列;成绩表的学号和课程号作为普通索引,在表中要有一个学生有多门课的成绩、多个学生有同一门课的数据的条件下试试这两个字段能否作为主索引;课程表的课程号作为主索引,降序排列并对该表察看索引结果;对学生、成绩、课程三个表建立永久性关系;
6.用命令对学生表的学号建立独立索引文件、对成绩表的学号建立非结构化复合索引文件;
7.利用数据工作期建立学生表、成绩表和课程表的关联,使得指针在“学生”表的浏览窗口中移动时,在“成绩”的浏览窗口中同步显示与该学号有关的成绩信息、在“课程”表的浏览窗口中同步显示该生相应成绩的课程名的纪录.
三、实验环境
8.硬件:
学生用微机、局域网环境
9.软件:
Windows2000中文操作系统、VisualFoxpro6.0
实验三:
表与数据库的基本操作
1.
(1)打开“学生成绩”项目,选定“数据库”后点击右边的“新建”,弹出“新建数据库”对话框,然后选择“新建数据库”,在“创建”对话框中的数据库名中键入“学生成绩”,最后保存.选定“学生成绩”数据库下拉栏中的“表”后点击右边的新建,弹出“新建表”对话框,然后选择“新建表”弹出“创建”对话框,在该框的输入表名栏中键入“学生”后保存,用同样的方法分别建立“成绩”“课程”表.
依次选定“学生”“成绩”“课程”表点击右边的“修改”,然后在弹出的对话框中依次分别输入一下数据
(2)打开“学生成绩”项目,选定“数据库”下拉栏下的“自由表”后点击右边的新建,弹出“新建表”对话框,选择“新建表”后在弹出的对话框的输入表名栏中输入“ABC”并保存,后在该表随便输入数据后“确定”.要移出则选定该自由表后选择右边的“移去”即可.
2.
(1)先选定“学生”表选择右边的“修改”在弹出的表中选择“学号”后选定在“字段有效性”下“规则”后面的,此时弹出“表达式生成器”在该对话框中的“字段”下选定“学号”,在”逻辑”的下拉中选定“<>”,此时在“有效性规则”下的框中有“学号<>”,然后在此后面加上引号(注意:
引号必须是在无输入法的情况下输入),最后选定“确定”
(2)先选定“课程”表选择右边的“修改”在弹出的表中选择“课时”后选定在“字段有效性”下“规则”后面的,此时弹出“表达式生成器”在该对话框中的“字段”下选定“课”,在”逻辑”的下拉中选定“>=”,此时在“有效性规则”下的框中有“课时>=”,然后在此后面加上“学分*20”最后选定“确定”
3.打开“学生表”,点击“显示”菜单中的追加方式,便可对数据进行增加
进入表“浏览”窗口,点击“删除”标记栏被逻辑的记录就加上了“删除”标记,如要恢复则点击“删除”标记栏;物理删除:
先对删除的记录做逻辑删除,选择“表”“菜单”“彻底删除”,在“系统”中选“是”则记录将被彻底删除
在“项目管理器”中选择要修改的表名,单击“修改”,进到“表设计器”进行修改
4.在“浏览”窗口中选择“表”的转到记录,即可将指针移动到相应的记录上
5.
(1)在项目管理器学生成绩点击学生表→显示→表设计器→索引→在索引名处输入"学号"→类型输入主索引→排序为升序→确定
(2)以同样的方法将成绩表和课程表进行设置
(3)打开数据库设计器在学生表中找到学号→按住学号拖到成绩表中的学号→按住课程表中的课程号→拖到成绩表的课程号中永久关系建立
6.
(1)在项目管理器学生成绩中选中学生表→在命令窗口输入"Indexon学号To文件名"→按Enter键
(2)在项目管理器学生成绩中选中学生表→在命令窗口输入"Indexon学好TAG文件名→按Enter键
7.窗口数据工作期→别名处点击学生关系→别名处点击成绩→表达式生成器→确定→别名处点击课程关系→关闭窗口
实验报告
学院:
专业:
年级:
姓名:
学号:
实验室号:
计算机号:
实验日期:
年月日指导教师签字:
成绩:
报告退发(订正、重做)
实验四:
查询与视图(验证性,6学时)
1实验目的
1.顺序查询和索引查询的基本方法
2.求和,平均数、分类汇总等统计方法
3.使用查询设计器建立查询
4.用SQL命令完成各种数据库操作
2实验内容
1.掌握顺序查询命令Locate和索引查询命令seek的使用方法,并针对student表,举例说明之;
2.掌握求和命令SUM、求平均值命令AVERAGE的使用方法;并针对student表按专业统计奖学金总和和按学生性别统计奖学金平均值;
3.用查询设计器建立查询文件INQUA.QPR.根据表student.dbf和grade.dbf,查询“计算机”专业中男生的各门课程(即要按课程号分组)的平均成绩,显示字段依次为“课程号”和“平均成绩”两列,以两表中的学号字段进行内部连接,,并要求按课程号的升序显示;
4.利用setrelation命令建立表间临时关系:
子表为student.dbf,父表为grade.dbf,要使得当浏览父表的纪录时子表中相应的记录会跟着联动;并且在命令窗口中输入如下命令观察结果:
browfield学号,student.姓名,student.专业,课程号,成绩
5.用SQL命令实现如下查询(在实验步骤中写出相应的命令,在调试和结果分析中对该命令的各个部分进行解释):
(1)查询Student表中所有的学生信息;
(2)查询Student表中计算机专业的学生的最高奖学金、最低奖学金和平均奖学金;
(3)对Student表按专业统计奖学金,即查询按专业分组的各专业的奖学金总和(提示:
select专业,sum(奖学金)as奖学金合计……)
(4)从student表和grade表中查询学生的学号、姓名、课程号、成绩;
(5)从student表、grade表和course表中查询学生的学号、姓名、课程名、成绩(提示:
……fromstudent,grade,coursewherestudent.学号=grade.学号.and.grade.课程号=course.课程号);
实验四:
查询与视图
1、
(1)在学生表中查询定位1981年出生的学生记录
在命令窗口输入:
USE学生
LOCATEALLFORYEAR(出生日期)=1981
?
RECNO(),FOUND(),EOF()
CONTINUE
?
RECNO(),FOUND(),EOF()
(2)在学生表中索引查询金融专业学生的姓名
在命令窗口输入:
USE学生
INDEXON专业TAG专业索引
SEEK”金融”
?
姓名
2、
(1)在学生表中统计计算机专业学生奖学金的总和
(2)在学生表中统计男生的平均奖学金
在命令窗口分别输入:
sum奖学金for专业=”计算机”to奖学金总和
average奖学金for性别=.t.to平均奖学金
3、
(1)在VFP中点击文件→新建→查询→新建文件;
(2)在添加视图或视图对话框中选择“学生和“成绩”表→添加→在“连接条件”对话框中单击确定;(3)选择“字段”选项卡在“可用字段”列表框中选取“成绩.课程号”并添加到“选定字段”列表框中.单击“函数和表达式”右侧按钮→在“表达式生成器”对话框生成函数中输入“AVG(成绩.成绩)”→单击确定→在“字段”选项卡中添加到“选定字段”列表框中;(4)选择“筛选”选项卡→选定字段名“学生.专业”、条件“=”,并输入实例“计算机”、逻辑“AND”→选定字段“学生.性别”、条件“=”,并输入实例“.T.”;(5)选择“排序依据”选项卡→在“选定字段”列表框中选取“成绩.课程号”并添加到“排序条件”列表框中;(6)选择“分组依据”选项卡→在“选定字段”列表框中选取“成绩.课程号”并添到“分组字段”列表框;(7)在“查询”菜单中选择“查询去向”→在“查询去向”对话框中选择查询结果的输出去向→“浏览”;(8)单击常用工具栏上的“运行”按钮就可以得到查询结果;(9)保存查询,键入查询文件;(10)关闭查询设计器,结束查询设计
4、在命令窗口输入:
OPENDATABASE学生成绩
SELECT()
UAE学生ALLAS学生
INDEXON学号TAG学号索引
SELECT()
USE成绩
SELRELATIONTO学号INTO学生
BROWSEFIELDS学号,学生.姓名,学生.专业,课程号,成绩
5、
(1)SELECT*FROM学生
(2)SELECTMAX(奖学金)AS最高奖学金;MIN(奖学金)AS最低奖学金;AVG(奖学金)AS平均奖学金;FROM学生WHERE专业=“计算机”
(3)SELECT专业,SUM(奖学金)AS奖学金合计FROM学生GROUPBY专业
(4)SELECT学生.学号,学生.姓名,成绩.课程号,成绩.成绩
FROM学生INNERJION成绩ON学生.学号=成绩.成绩.
(5)SELECT学生.学号,姓名,成绩.课程名,成绩;
FROM学生,成绩,课程;
WHERE学生.学号=成绩.学号AND成绩.课程号=课时.课程号
实验报告
学院:
专业:
年级:
姓名:
学号:
实验室号:
计算机号:
实验日期:
年月日指导教师签字:
成绩:
报告退发(订正、重做)
实验五:
程序设计基础(验证性,4学时)
1实验目的
1.选择结构程序设计
2.循环结构程序设计
3.过程和自定义函数的定义与调用
2实验内容
1.编写一段利用Messagebox()函数的程序,按钮类型为“是”、“否”、“取消”,图标为询问,默认按钮是“取消”,提示信息为“你真的要进行此操作吗?
”,当按下“是”时,系统给出“你选择的是“是”;当按下“否”时,系统给出“你选择的是“否”;当按下“取消”时,系统给出“你选择的是“取消””.这些系统给出的信息也用Messagebox()函数实现,只要一个确定按钮,每次按确定后即退出该程序;
2.应用循环结构的命令编写一段程序,运行时在VFP主窗口输出如下图形:
*******
*****
***
*
3.IIF()函数的语法为:
IIF(逻辑表达式,表达式1,表达式2)
功能:
如果逻辑表达式的值为真,则返回表达式1的值,否则返回表达式2的值.
和以下程序等价的IIF()函数要如何写(提示:
用Y=IIF(逻辑表达式,表达式1,表达式2)的形式表达,其中表达式1或表达式2也可以是IIF()函数)?
IFX>0
Y=1
ELSE
IFX=0
Y=0
ELSE
Y=-1
ENDIF
ENDIF
4.编写一个求面积的程序,其中求各种面积(三角形((底*高)2)、梯形((上底+下底)*高2)、圆(3.14*半径^2)、正方形(边长*边长)、矩形面积(长*宽))的过程用过程文件保存,通过主程序调用这些过程文件中的过程实现面积的求解;
5.理解参数传递中的按值传递和按地址传递的区别:
有以下两个主程序和一个外部过程(文件名为SUBPRG):
第一个主程序如下(文件名为AA.PRG)
CLEAR
A=”您好!
”
DOSUBPRGWITHA
?
A
第二个主程序如下(文件名为BB.PRG)
CLEAR
A=”您好!
”
DOSUBPRGWITH(A)&&与AV.PRG不同之处就是这里的括号)
?
A
外部过程如下(文件名为SUBPRG):
PARAMETERX
?
X
X=”谢谢关照”
RETURN
分别运行上面的主程序,并察看其结果,说说结果为何不同.
6.理解变量作用域:
运行以下程序并分析结果.
CLEAR
X=10
Y=20
DOSUB
?
X,Y
RETURN
PROCEDURESUB
PRIVATEX
X=100
Y=30
?
X,Y
ENDPROC
7.编写一个求阶乘的自定义函数,并求1!
+2!
+3!
+…+10!
的值.
3实验环境
1.硬件:
学生用微机、局域网环境
2.软件:
Windows2000中文操作系统、VisualFoxpro6.0
4实验步骤
(描述实验的具体操作步骤和方法,内容见后附的手写部分)
5实验调试与结果分析(内容见后附的手写材料)
6总结(内容见后附的手写材料)
实验五:
程序设计基础
1、在VFP中点击新建程序新建文件在程序1中输入如下程序:
Clear
X=messagebox(“你真的要进行此操作吗?
”,3+32+512)
Ifx=6
Messagebox(“你按下的是“是””)
Else
Ifx=7
Messagebox(“你按下的是“否””)
Else
Messagebox(“你按下的是“取消””)
Endif
Endif
2、在程序中输入如下程序:
Clear
St=”*******”
K=4
Dowhilek>=1
?
space(4-k)+left(st,2*k-1)
K=k-1
Enddo
5.在程序中输入:
Procedurep
input“请输入三角形的高度:
”tosh
input“请输入三角形的底长:
”tosd
s=sd*sh2
?
“三角形的面积:
”
?
?
s
Return
Endproc
Proceduret
input“请输入梯形的上底:
”totu
input“请输入梯形的下底:
”totl
input“请输入梯形的高度:
toth
s=(tu+tl)*th2
?
“