南京信息工程大学实验(实习)报告
实验(实习)名称顺序和选择结构程序设计实验(实习)日期 得分 指导老师
系 专业 班级 姓名 学号
【实验目的】
1、掌握程序的建立、修改与运行
2、掌握基本输入输出语句与函数
3、熟练掌握IF语句(包括单分支和双分支)和DO CASE语句的使用。
4、分析程序的运行结果。
【实验内容】
操作结果的界面截图显示。
1、 从键盘输入两个数存入变量x和y ,若x>y则交换他们的值,否则直接输出x和y的值。
2、执行下列程序后,变量x的值为( )。
x=1
if x>=1
do case
case x>0
x=x+1
case x>1
x=x+1
otherwise
x=4
endcase
else
x=3
endif
3、执行下列命令序列,屏幕显示( )
a=100
b=50
a=a+b
b=a-b
b=a*2
? a+b
4、执行下列命令序列,屏幕显示( )。
b=6
do case
case mod(b,3)=0
b=b+1
case mod(b,2)=0
b=b+2
otherwise
b=b+3
endcase
? b
5、执行下列命令序列,屏幕显示( )
input to a
if a=10
b=0
else
b=1
endif
? b
第二篇:vfp实验报告20xx样本
实验名称:数据表的基本操作 指导教师:
实验日期: 20##年 月 日 实验地点: 成绩:
实验目的:
1、掌握表的结构建立、修改,数据表记录的编辑(输入、修改)。
2、掌握根据实际需要查看满足一定条件的记录的操作方法。
3、掌握对表、表结构和记录的复制。
4、掌握对库表的数据维护和数据的完整性的设置。
实验内容及基本要求:
[实验内容]
1、创建学生表,选课表、课程表,并输入数据,(如图1、图2、图3);
图1 学生表 图2 选课表
图3 课程表
2、显示学生情况表中1988年以前出生的女生记录;
3、给学生情况表中1988年以前出生的学生记录打上删除标志;
4、复制表结构:将学生情况表结构复制到新表,(新表名字为学生1.DBF)学生1表只含有学生表中姓名,学号,性别等三个字段;
5、复制表及内容:将学生表复制一个新表,(新表名字为学生2.DBF)。
6、对学生表建立按性别、入校成绩,进行排序的排序文件(SQ1.DBF)。
7、使用LOCA、SEEK命令在表中查询“男”学生记录和查询入校成绩等于600分的学生记录;
8、查询显示所有选修了课的学生姓名、课程号、成绩;
9、将实验结果文件压缩为“学号+姓名”的格式上传到服务器上。
[基本要求]
1、要求三张表的结构设计合理;
2、写出实验步骤及实验中使用的具体命令;
3、写出实验中遇到的问题及解决的方法。
实验步骤如下:
假设表和文件都是在D:\下操作。
1. 建立学生表、选课表和课程表命令如下:
set default to d:\
(1)创建学生表
1)在命令窗口输入:Create 学生表
2)在表设计器中,依次在字段名输入:
3)设置完后,单击确定,输入记录。
依次创建选课表,其结构为:
字段名:学号,类型:字符型, 宽度:8个字符
字段名:课程号,类型:字符型, 宽度:4个字符
字段名:成绩,类型:数值型, 宽度:3个字符
创建课程表,其结构为:
字段名:课程号,类型:字符型, 宽度:4个字符
字段名:课程名,类型:字符型, 宽度:20个字符
字段名:课时,类型:数值型, 宽度:2个字符
字段名:学分,类型:数值型, 宽度:1个字符
2、显示学生表中1988年以前出生的女生记录步骤如下:
list for year(出生年月)<1988
3、给学生表中1988年以前出生的学生记录打上删除标志步骤如下:
delete for year(出生年月)<1988
4、复制表结构步骤如下:
(1) use 学生表
(2) copy structure to 学生1.dbf fields 姓名,学号,性别
5、复制表及内容步骤如下:
(1) use 学生表
(2) copy to 学生2.dbf
6、对学生表建立按性别、入校成绩,进行排序的排序文件(SQ1.DBF)。步骤:sort on 性别,入学成绩 to sq1.dbf
7、使用LOCA、SEEK命令在表中查询“男”学生记录和查询入校成绩等于600分的学生记录;
(1) locate
locate for 性别= "男"
locate for 入学成绩=600
(2)seek
index on 性别 to ddd
seek '男'
index on 入学成绩 to dd
seek 600
8、sele 1
use 学生表
index on 学号 to xh3
sele 2
use 选课
index on 1000-成绩 to cj
set relation to 学号 into a
list学生表.姓名,课程号,成绩
实验总结及意见:
实验名称:SQL数据查询和统计 指导教师:
实验日期: 20##年 月 日 实验地点: 成绩:
实验目的:
1、掌握SQL的数据定义功能。
2、掌握SQL查询命令的使用。
3、掌握SQL的数据更新功能。
实验内容及基本要求:
[实验内容]
利用实验一中所建立的表,完成下列查询:
1、使用SQL的插入命令,在课程表中插入一条新记录(数据自行设置);
2、使用SQL命令给学生表中所有团员的入校成绩加10分;
3、使用SQL命令查询选修两门以上课程的学生学号和选课门数。
4、使用SQL命令查询所有选修了课的同学的姓名、课程名、成绩,并将查询结果输出到S1.DBF表中;
5、使用SQL命令查询所有选修了课程号为“D05”的女同学的姓名、成绩,将成绩降序排序,并结果输出到表S2.DBF中;
6、将实验结果文件压缩为“学号+姓名”的格式上传到服务器上。
[基本要求]
1、写出实验步骤;
2、写出实验中使用的具体命令及运行结果;
3、写出实验中遇到的问题及解决的方法。
实验步骤:
1、使用SQL的插入命令,在课程表中插入一条新记录;
insert into 课程表 (课程号,课程名称,任课教师,课时,学分) values(‘D03’,’操作系统’,“张明明”,72,3)
2、使用SQL命令给学生表中所有团员的入校成绩加10分;
update 学生表 set 入校成绩=入校成绩+10 where 是否团员=.T.
3、使用SQL命令查询选修两门以上课程的学生学号和选课门数。
sele 学号,count(课程号)as 选课门数 from 选课 group by 学号 having count(课程号)>2
4、使用SQL命令查询所有选修了课的同学的姓名、课程名、成绩,并将查询结果输出到S1.DBF表中;
select 学生表.姓名,课程表.课程名称,选课表.成绩 from 学生表, 选课表,课程表 where 选课表.课程号=课程表.课程号 and 学生表.学号=选课表.学号 into table S1.DBF
5、使用SQL命令查询所有选修了课程号为“D05”的女同学的姓名、成绩,将成绩降序排序,并结果输出到表S2.DBF中;
select 姓名,成绩 from学生表, 选课表 where 课程号=”DO5”and 性别=”女”and 学生表.学号=选课表.学号 order by 成绩 desc into table S2.DBF
实验总结及意见:
实验名称:结构化程序设计 指导教师:
实验日期:2010 年 月 日 实验地点: 成绩:
实验目的:
1、掌握IF...EndIF语句的应用。
2、掌握Do Case...EndCase语句的使用。
3、掌握选择结构的嵌套应用。
4、掌握循环控制语句的使用。
实验内容及基本要求:
[实验内容]
1、顺序结构程序设计练习
要求编写一个顺序执行的程序, 从键盘上输入一个学生的学号,从 “学生表.DBF”中查找该学生,如果找到,就显示该学生所在记录的内容,否则,显示“没有找到该学号的学生记录”,程序保存为sx.prg
2、选择结构程序设计练习
使用选择结构实现从键盘输入 3个整数,输出其中最大的一个,程序保存为xz.prg
3、循环结构程序设计练习
(1)编程序(xh1.PRG)输出下列图形(如图4所示)。
图4
(2)编程序(xh2.PRG),实现学生表(实验一建立的)中入校成绩在 580~590,590~600和600 分以上几个分数段的人数。
[基本要求]
1、写出实验步骤;
2、写出程序代码;
3、写出实验数据及运行结果;
4、写出实验中遇到的问题及解决的方法。
步骤:
1、顺序结构程序设计练习
要求编写一个顺序执行的程序, 从键盘上输入一个学生的学号,从 “学生表.DBF”中查找该学生,如果找到,就显示该学生所在记录的内容,否则,显示“没有找到该学号的学生记录”,程序保存为sx.prg
clea all
Use 学生表
Accept "请出入学号:" To xh
loca for 学号=xh
If Found( )
display
Else
? "没有此学生!"
Endif
Use
Return
2、选择结构程序设计练习
使用选择结构实现从键盘输入 3个整数,输出其中最大的一个,程序保存为xz.prg
Input "x=" To x
Input "y=" To y
Input "z=" To z
If x>y
If x>z
?"最大值为", x
Else
?"最大值为", z
Endif
Else
If y>z
?"最大值为",y
Else
?"最大值为",z
Endif
Endif
Return
3、循环结构程序设计练习
(1)编程序(xh1.PRG)输出下列图形(如图4所示)。
图4
Clear
For k=1 To 5
?? Space(50-k)
*输出前半行
For j=1 To k
??str(j, 1)
Endfor
*输出后半行
For j=k-1 To 1 Step -1
??Str(j, 1)
Endfor
?
Endfor
Return
(2)编程序(xh2.PRG),实现学生表(实验一建立的)中入校成绩在 580~590,590~600和600 分以上几个分数段的人数。
STORE 0 TO N1,N2,N3
USE 学生
DO WHILE .NOT.EOF()
Do case
Case 入校成绩>600
N1=N1+1
Case 入校成绩>=590
N2=N2+1
Otherwise
N3=N3+1
ENDCASE
Skip
ENDD
? N1,N2,N3
CLOSE ALL
实验总结及意见:
实验评价(教师):
实验名称:表单设计(一) 指导教师:
实验日期: 20##年 月 日 实验地点: 成绩:
实验目的:
1、掌握"表单设计器"的使用。
2、掌握表单及表单控件的创建、表单的运行。
3、掌握常见控件的属性,事件和方法的使用。
4、掌握表单数据环境的设置及数据表操作方法。
实验内容及基本要求:
[实验内容]
1、创建如下图5所示的表单F1.SCX,要求:
(1)在文本框中输入半径,单击相应的按钮则在文本框2中显示计算结果,如下图6所示;
(2)单击重新计算按钮,则清除文本框中数据;
(3)单击退出按钮,则退出表单运行。
图5 图6
[基本要求]
1、写出实验步骤;
2、写出各控件的相应事件的代码;
3、写出实验数据及运行结果;
4、写出实验中遇到的问题及解决的方法。
1)按第一题的步骤建立表单和2个标签、2个命令按钮、2个文本框,一个选项按钮组,它们的属性和布局如图一所示(第二个标签的属性caption暂不修改)。
2)选项按钮组的click代码为:
a=thisform.text1.value
x=this.value
do case
case x=1
thisform.text2.value=3.14*a*a
thisform.lable2.caption=’圆面积=’
case x=2
thisform.text2.value=3.14*2*a
thisform.lable2.caption=’圆周长=’
case x=3
thisform.text2.value=3/4*3.14*a^3
thisform.lable2.caption=’圆体积=’
endcase
thisform.refresh
重置按钮的代码为:
thisform.text1.value=0
thisform.text2.value=0
thisform. optiongroup1.value=0
thisform.refresh
退出的代码为:
thisform.release
实验总结及意见:
实验评价(教师):
实验名称:表单设计(二) 指导教师:
实验日期: 20##年 月 日 实验地点: 成绩:
实验目的:
1、掌握表单及表单控件的创建、表单的运行。
2、掌握常见控件的属性,事件和方法的使用。
实验内容及基本要求:
[实验内容]
1、利用已有表文件“作者.dbf”和“著作.dbf ”,建立界面如图7所示的表单。要求:
(1)创建表单,表单上有一个选项按钮组控件(OptionGroup1)、一个命令按钮组控件(CommandGroup1)和一个表格控件(grid1)。
(2)当选择不同性别时,单击“显示”按钮,则在表格中显示该性别的作者姓名、性别及其写书名。
(3)单击退出按钮则退出表单运行。
图7
[基本要求]1、写出实验步骤;
2、写出各控件的相应事件的代码;
3、写出实验数据及运行结果;
4、写出实验中遇到的问题及解决的方法。
1、新建表单
2、在表单上制作控件,选项组一个,按钮组一个,表格一个,并修改对应的标题。
3、显示按钮代码:
x=thisform.optiongroup1.value
do case
case x=1
thisform.grid1.recordsource="sele 作者姓名,性别,书名 from 作者,著作 where 作者.作者编号=著作.作者编号 and 性别='男' into cursor tmp"
case x=2
thisform.grid1.recordsource="sele 作者姓名,性别,书名 from 作者,著作 where 作者.作者编号=著作.作者编号 and 性别='女' into cursor tmp"
endcase
thisform.refresh
退出按钮代码:
Thisform.release
实验总结及意见:
实验评价(教师):