VF数据库实验报告结构化程序设计.docx
《VF数据库实验报告结构化程序设计.docx》由会员分享,可在线阅读,更多相关《VF数据库实验报告结构化程序设计.docx(22页珍藏版)》请在冰点文库上搜索。
VF数据库实验报告结构化程序设计
实验二结构化程序设计
一、实验目的
1、掌握分支结构的程序设计方法。
2、掌握循环结构的程序设计方法,包括DoWhile、For、Scan命令的使用。
3、掌握子程序结构的程序设计方法,包括子程序、过程、自定义函数的使用。
4、理解变量作用域的概念并能够应用。
掌握程序文件的建立、编辑、运行的方法。
二、实验内容
1、分支结构程序设计与调试
、编写程序Prog1.Prg,其功能是根据输入的姓名和考试成绩显示相应的成绩等级。
2、循环结构程序设计与调试
、编写程序Prog2.Prg,从键盘输入十个数,然后找出其中的最大值和最小值。
、编写程序Prog3.Prg,找出100~999之间的所有“水仙花数”。
所谓“水仙花
数”是指一个三位数,其各位数字的立方和等于该数本身(如153=13+53+33)。
、编写程序Prog4.Prg,输出3-100之间的素数。
CLEAR
FORm=3TO100STEP2
n=INT(SQRT(m))
FORi=3TOn
IFMOD(m,i)=0
EXIT
ENDIF
ENDFOR
IFi>n
?
?
m
ENDIF
ENDFOR
、有一数列,前两个数是1、1,第三个数是前两个数之和,以后的每个数都是其前两个数之和,编写程序Prog5.Prg,,要求输出此数列的第30个数。
clear
dimea(30)
a
(1)=1
a
(2)=1
fori=3to30
a(i)=a(i-1)+a(i-2)
endfor
?
?
a(30)
、编写程序Prog6.Prg,计算T=1!
+2!
+…+10!
、编写程序Prog7.Prg,求出任意一个二维数组中某个元素,此元素在所在行上最大,在所在列上最小。
unctionandian()
clear
declare
fori=1to10
forj=1to10
arr(i,j)=int(rand()*100)
next
next
fori=1to10
forj=1to10
?
?
aar(i,j)
next
?
next
?
fori=1to10
max_<=arr(i,1)
min_=1
forj=1to10
ifmax_max_=arr(i,j)
min_=j
endif
next
ifk>10
?
?
arr(i,min_)
endif
next
endfun
7、编写程序Prog8.Prg,统计Student表中的女生人数(提示:
建立课本第104页中图3.12中的student表,包括学号、姓名、年龄、性别字段)。
3、模块定义和调用、参数传递
、执行以下操作:
在命令窗口中输入ModifyCommandProg9
在Prog9的编辑窗口中输入如下代码:
SETUDFPARMSTOVALUE
n=1
DOproc1WITHn
?
n+2
PROCEDUREproc1
PARAMETERSm
FORk=2to4
m=m+k
ENDFOR
RETURN
在命令窗口输入doprog9命令后,程序输出的结果是多少。
、运行下面程序prog10.prg,比较按值传递和引用的区别。
CLEAR
STORE100TOX1,X2
SETUDFPARMSTOVALUE
DOP2WITHX1,(X2)
?
‘第一次’,x1,x2
STORE100TOX1,X2
P2(x1,(x2))
?
’第二次’,x1,x2
SETUDFPARMSTOREFE
DOP2WITHX1,(X2)
?
’第三次’,x1,x2
STORE100TOX1,X2
P2(x1,(x2))
?
’第四次’,x1,x2
*过程p2
Procp2
Parax1,x2
Storex1+1tox1
Storex2+1tox2
Endproc
、运行下面程序prog11.prg,比较公共变量、私有变量、局部变量及其作用域。
*prog11.prg
PUBLICX1
LOCALX2
STORE‘F’TOX3
DOP3
‘主程序中…..’
?
‘x1=‘,x1
?
‘x2=‘.x2
?
‘x3=‘,x3
RETURN
*过程p3
PROCP3
‘子程序中…..’
?
‘x1=‘,x1
?
‘x3=‘,x3
RETURN
、编写程序Prog12.Prg,定义一个包含10个元素的一维数组并赋初值,然后将数组中的值颠倒次序存放并输出(要求用过程实现)。
实验报告
实验项目名称结构化程序设计
所属课程名称程序设计与算法语言
实验类型
实验日期2012-5-5
班级
学号
姓名
成绩
一、实验概述:
【实验目的】
1、掌握分支结构的程序设计方法。
2、掌握循环结构的程序设计方法,包括DoWhile、For、Scan命令的使用。
3、掌握子程序结构的程序设计方法,包括子程序、过程、自定义函数的使用。
4、理解变量作用域的概念并能够应用。
掌握程序文件的建立、编辑、运行的方法。
二、实验内容:
【实验过程】(实验步骤、记录、数据、分析)
1、1.序设计与调试
、编写程序Prog1.Prg,其功能是根据输入的姓名和考试成绩显示相应的成绩等级。
2、循环结构程序设计与调试
、编写程序Prog2.Prg,从键盘输入十个数,然后找出其中的最大值和最小值。
、编写程序Prog3.Prg,找出100~999之间的所有“水仙花数”。
所谓“水仙花
数”是指一个三位数,其各位数字的立方和等于该数本身(如153=13+53+33)。
、编写程序Prog4.Prg,输出3-100之间的素数。
、有一数列,前两个数是1、1,第三个数是前两个数之和,以后的每个数分支结构程
都是其前两个数之和,编写程序Prog5.Prg,,要求输出此数列的第30个数。
、编写程序Prog6.Prg,计算T=1!
+2!
+…+10!
、编写程序Prog7.Prg,求出任意一个二维数组中某个元素,此元素在所在行上最大,在所在列上最小。
7、编写程序Prog8.Prg,统计Student表中的女生人数(提示:
建立课本第104页中图3.12中的student表,包括学号、姓名、年龄、性别字段)。
selectsum(性别)fromstudentwhere性别=“女”
3、模块定义和调用、参数传递
、执行以下操作:
在命令窗口中输入ModifyCommandProg9
在Prog9的编辑窗口中输入如下代码:
SETUDFPARMSTOVALUE
n=1
DOproc1WITHn
?
n+2
PROCEDUREproc1
PARAMETERSm
FORk=2to4
m=m+k
ENDFOR
RETURN
在命令窗口输入doprog9命令后,程序输出的结果是多少。
、运行下面程序prog10.prg,比较按值传递和引用的区别。
CLEAR
STORE100TOX1,X2
SETUDFPARMSTOVALUE
DOP2WITHX1,(X2)
?
‘第一次’,x1,x2
STORE100TOX1,X2
P2(x1,(x2))
?
’第二次’,x1,x2
SETUDFPARMSTOREFE
DOP2WITHX1,(X2)
?
’第三次’,x1,x2
STORE100TOX1,X2
P2(x1,(x2))
?
’第四次’,x1,x2
*过程p2
Procp2
Parax1,x2
Storex1+1tox1
Storex2+1tox2
Endproc
、运行下面程序prog11.prg,比较公共变量、私有变量、局部变量及其作用域。
*prog11.prg
PUBLICX1
LOCALX2
STORE‘F’TOX3
DOP3
‘主程序中…..’
?
‘x1=‘,x1
?
‘x2=‘.x2
?
‘x3=‘,x3
RETURN
*过程p3
PROCP3
‘子程序中…..’
?
‘x1=‘,x1
?
‘x3=‘,x3
RETURN
、编写程序Prog12.Prg,定义一个包含10个元素的一维数组并赋初值,然后将数组中的值颠倒次序存放并输出(要求用过程实现)。
【实验总结】
1.VFP中有哪些数据类型,分别用什么符号表示?
2.什么是常量?
VFP中有哪几种常量类型?
3.什么是变量?
命名遵循哪些规定?
VFP中有哪几种变量类型,各有什么特点?
4.什么是表达式?
运算符有哪几种?
如何确定表达式中的运算顺序?
5.函数的三要素是什么?
函数有哪几种类型?
6.内存变量和字段变量的区别是什么?
三、指导教师评语及成绩:
评语
评语等级
优
良
中
及格
不及格
1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强
2.实验方案设计合理
3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)
4实验结论正确.
成绩:
指导教师签名:
批阅日期:
附录1:
源程序
附录2:
实验报告填写说明
1.实验项目名称:
要求与实验教学大纲一致。
2.实验目的:
目的要明确,要抓住重点,符合实验教学大纲要求。
3.实验原理:
简要说明本实验项目所涉及的理论知识。
4.实验环境:
实验用的软、硬件环境。
5.实验方案(思路、步骤和方法等):
这是实验报告极其重要的内容。
概括整个实验过程。
对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。
对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。
对于创新性实验,应注明其创新点、特色。
6.实验过程(实验中涉及的记录、数据、分析):
写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。
7.实验结论(结果):
根据实验过程中得到的结果,做出结论。
8.实验小结:
本次实验心得体会、思考和建议。
9.指导教师评语及成绩:
指导教师依据学生的实际报告内容,给出本次实验报告的评价。
实验八分支程序设计
实验目的:
掌握结构化程序设计的分支结构程序设计。
实验准备:
1.阅读第6章中相关的内容;
2.准备好前面实验所创建的项目和表文件;
3.启动VisualFoxPro6.0系统,设置默认的工作目录为F:
\个人文件夹名;
4.打开学生表、成绩表。
实验内容:
1.设计简单分支程序。
在学生表文件中查询“刘利军”的基本情况,如果找到,显示信息。
2.设计选择分支程序,在成绩表文件中查找学号为“20031102”的学生的第一门成绩,若成绩大于60分,显示其学号、课程号、成绩;否则显示学号、课程号,并通知补考。
3.输入两个数按从大到小输出。
input“第一个数:
”tox
input“第二个数:
”toy
ifxk=x
x=y
y=k
endif
?
x,y
return
4.设计一个简单的菜单,包括对学生表记录的追加、修改和删除的功能。
use学生表
?
"1.增加记录"
?
"2.修改记录"
?
"3.删除记录"
?
"4.退出"
wait"请选择菜单项(1,2,3,4)"tos
docase
cases="1"
append
cases="2"
brow
cases="3"
accept"请输入要删除学生姓名:
"toname
delefor姓名=name
accept"确实要删除吗(y/n):
"toyn
ifupper(yn)="Y"
pack
endif
cases="4"
return
endcase
return
5.根据键入的X值,计算下面的分段函数值,并显示结果。
Y=
5X2+6X-1(X≤0)
X2-4X+1(03X2+1(X>20)
实验小结:
实验九循环程序设计
实验目的:
掌握结构化程序设计的循环结构程序设计。
实验准备:
1.阅读第6章中相关的内容;
2.准备好前面实验所创建的项目和表文件;
3.启动VisualFoxPro6.0系统,设置默认的工作目录为F:
\个人文件夹名。
实验内容:
1.编程,求1+2+3+………+100的和。
X=1
S=0
DOWHILEX<=100
S=S+X
X=X+1
ENDDO
?
S
return
2.求1到100间所有偶数之和。
settalkoff
s=0
k=0
dowhilek<=100
k=k+1
ifint(k/2)=k/2
s=s+k
else
loop
endif
enddo
?
s
return
3.统计学生表中的女生的人数。
settalkoff
use学生表
store0tos
locatefor性别="女"
dowhilenoteof()
?
姓名,性别
s=s+1
continue
enddo
?
s
use
retu
4.输出3-100之间的素数。
form=3to100
fori=2tom-1
ifint(m/i)=m/i
exit
endif
endfor
ifi=m
?
?
str(m,3)+""
endif
next
return
5.编程输出如下图形:
*
***
*****
*******
*****
***
*
6.有数列1,1,2,3,5,8,13……,要求显示该数列前20项,并且求和。
实验小结:
实验十子程序设计与数组
实验目的:
1.掌握过程结构的程序设计方法;
2.领会内部过程与外部过程;
3.领会全局变量与局域变量的不同用法;
4.掌握数组变量的应用方法。
实验准备:
1.阅读第6章中相关的内容;
2.准备好前面实验所创建的项目和表文件;
3.启动VisualFoxPro6.0系统,设置默认的工作目录为F:
\个人文件夹名;
4.打开学生表。
实验内容:
1.试编写一程序,求解W=X!
+Y!
+Z!
(X,Y,Z均为正整数)。
2.试设计并编写一个“学生管理系统”,使其具有查询、统计、显示和修改表文件内容的功能。
具体要求是:
(1)程序由一个主控模块和4个子模块:
查询、显示、统计、修改构成。
(2)能够按照给定的单一条件或符合条件调用查询子程序、显示子程序、修改子程序、统计子程序。
3.运用数组,对任意输入的10个整数进行排序,按由大到小的顺序输出。
4.建立主程序MAIN.PRG,子程序SUB4.PRG,运行,查看结果,体会变量的作用域。
MAIN.PRG:
SETTALKOFF
A=1
B=2
?
"在主程序中:
A=",A,"B=",B
DOSUB4
?
"返回主程序后:
A=",A,"B=",B,"C=",C,"D=",D
SETTALKON
SUB4.PRG:
PRIVATEB
PUBLICC
A=10
B=11
C=12
D=13
?
"在过程中:
A=",A,"B=",B,"C=",C,"D=",D
RETURN