VFP考试题型Word文档格式.docx
《VFP考试题型Word文档格式.docx》由会员分享,可在线阅读,更多相关《VFP考试题型Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
设置表单(名称为form1)标题为“班级人数统计”。
2)在数据环境中添加student.dbf。
3)表单中添加一个列表框(名称为list1),列表框中有4个选项:
“2005会计一”,“2005会计二”,“2005会计三”,“2005会计四”。
在表单中添加一个标签(名称为label1),标题为”选择班级名称”。
表单中添加一个文本框(名称为text1),此文本框设为只读。
4)表单中添加一个命令按钮(名称为command1)的标题为“统计人数”,编写此命令按钮的代码,要求运行表单时,在列表框选择班级,按列表框指定班级统计人数,将结果显示在文本框(text1)中。
4.按要求在考生文件夹下完成下列操作:
1)按下图设计一表单文件formdbca20。
设置表单(名称为form1)标题为“按班级统计学生平均分”。
3)表单中添加一个组合框(名称为Combo1),组合框中有4个选项:
在表单中添加一个标签(名称为label1),标题为”选择班级名称”。
在表单中添加一个文本框(名称为text1),此文本框设为只读。
4)表单中添加一个命令按钮(名称为command1)的标题为“统计平均分”,编写此命令按钮的代码,要求运行表单时,在组合框选择班级,按组合框指定班级统计平均分,将结果显示在文本框(text1)中。
5.按要求在考生文件夹下完成下列操作:
1)按下图设计一表单文件formdbup37。
设置表单(名称为form1)标题为“修改员工信息”。
3)表单中添加三个标签和三个文本框,分别用于显示当前记录的员工编号、姓名和联系电话,且将显示员工编号的文本框设为只读。
4)表单中添加二个命令按钮,第一个命令按钮(名称为command1)的标题为“上一条”,第二个命令按钮(名称为command1)的标题为“下一条”。
编写这两个命令按钮的代码,要求运行表单时,单击“上一条”命令按钮(command1)时,记录指针移动到上一条记录,单击“下一条”命令按钮(command1)时,记录指针移动到下一条记录。
然后在三个文本框(text1、text2和text3)中分别显示当前记录的学号、姓名和地址。
skip
thisform.refresh
6.按要求在考生文件夹下完成下列操作:
1)按下图设计一表单文件formlogin41。
设置表单(名称为form1)标题为“系统登陆”。
2)设置“工资管理系统”标签(label1)字号设为20,字的颜色为红色。
3)要求在运行表单时,向输入密码的文本框(text2)中输入字符,回显字符显示的是“*”。
4)编写“退出”命令按钮(command2)的代码,要求运行表单时,单击“退出”命令按钮时,关闭表单。
Thisform.release
7.在考生文件夹下完成如下操作:
设计名为formfont102的表单(控件名为form1,文件名为formfont102)。
表单的标题设为"
设置字体格式"
。
表单中有一个标签(名称为Label1,标题为“选择字体”),一个组合框(名称为Combo1)、一个文本框(名称为Text1)和两个命令按钮"
设置"
(名称为Command1)和"
退出"
(名称为Command2)。
文本框的字体大小设为16
运行表单时,组合框中有三个条目"
宋体"
、"
黑体"
隶书"
可供选择,在组合框中选择字体后,如果单击"
命令按钮,按组合框选定的字体设置文本框中内容的字体。
单击"
按钮关闭表单。
操作完成后将操作结果保存在考生文件夹下。
thisform.Text1.fontname=bo1.value
8.在考生文件夹下完成如下操作:
1)设计名为formfont105的表单(控件名为form1,文件名为formfont105)。
2)表单中添加一个列表框(名称为listbox1)、列表框中有三个条目"
可供选择。
3)表单中添加一个标签(名称为label1),标题为“湖南财经高等专科学校”,同时设置此标签字号为20,字的颜色为红色。
4)表单中添加两个命令按钮"
编写其代码,要求运行表单时,在列表框中选择字体后,如果单击"
命令按钮,按列表框选定的字体设置标签中内容的字体。
二、程序填空
1、程序功能:
求1~50所有整数的立方和。
SETTALKOFF
CLEAR
(1)
X=1
DOWHILEX<
=50
S=S+X^3
X=
(2)
ENDDO
?
S
RETURN
答案:
(1)S=0
(2)X+1
求和
2、计算分段函数的值:
当x>
5时,y=x-5;
当x<
=5时,y=x2+19
SETTALKOFF
INPUT“请输入X的值:
”TOX
IFX>
3
Y=
(1)
ELSE
Y=X*X+19
(2)
?
Y
RETURN
(1)X-5
(2)ENDIF
双分支结构
3、计算分段函数的值:
0时,y=15;
0时,y=-5;
当x=0时,y=0
DOCASE
CASEX>
Y=
(1)
CASEX<
Y=-5
OTHERWISE
Y=0
ENDCASE
”Y=”,
(1)15
(2)Y
多分支结构
4、设eee.dbf为职工数据表,姓名为一个字段名,查找名为“王林”的职工,若找到显示该员工信息,否则显示“查无此人”信息。
(1)
LOCATEFOR姓名=”王林”
IF
(2)
DISP
?
”查无此人”
ENDIF
USE
SETTALKON
(1)USEEEE
(2)FOUND()
记录查找,双分支
5、下面程序将“春光明媚”先纵向显示出来然后再横向显示“明媚春光”请填空完成该程序:
Settalkoff
Clear
STORE“春光明媚”TOXY
N=1
DOWHILEN<
8
?
SUBSTR(
(1))
N=N+2
ENDDO
SUBSTR(
(2))
SUBSTR(XY,1,4)
Return
(1)XY,N,2
(2)XY,5,4
单循环结构
6、输入一个三位整数,将其反向输出。
如输入123,输出321。
settalkoff
input
"
请输入一个三位数"
to
(1)
(2)=100*mod(a,10)+10*mod(int(a/10),10)+mod(int(a/100),10)
b
return
(1)a
(2)b
顺序结构
7、子程序调用
主程序:
t1.prg
SETTALKOFF
STORE′NH′TOk1,k2
DOt2
k1+k2屏幕上显示的结果是
(1)
RETURN
子程序:
t2.prg
PRIVATEk1
k1=k2+″100″
k1屏幕上显示的结果是
(2)
(1)NH100
(2)NHNH
子程序调用
7、子程序调用
z.prg
STORE4TOy1,y2,y3
y1=y1+1
y1+y2+y3&
&
屏幕上显示的结果是
(1)
DOz1
屏幕上显示的结果是
(2)
z1.prg
y2=y2+1
DOz2
z2.prg
y3=y3+1
RETURNTOMASTER
(1)13
(2)15
8、下面的程序实现了多次在“aaa.dbf”表中查找记录的操作。
请在建立了aaa.dbf表的基础上,任意输入一位员工的“编号”,若查找到相应的记录则显示,否则给出提示“无此人!
”;
根据提示输入“N”或“n”则结束程序的运行。
CLEAR
USE
aaa.dbf
DOWHILE.T.
ACCEPT"
请输入员工编号:
"
TOZHGNO
LOCATEFOR编号=ZHGNO
IF
(1)
DISPLAY编号,姓名,部门代号,职称,基本工资
ELSE
无此人!
ENDIF
WAIT"
继续查询?
(Y/N):
TOP
IFUPPER(P)<
>
(2)"
USE
EXIT
SETTALKON
(1)NOTEOF()
(2)Y
表的操作
9、下面程序输出如图所示的图形,请将程序补充完整。
*******
*****
***
*
clear
FORN=4TO1STEP-1
(1)(4-N)
FORM=1TO2*N-1
(2)
ENDFOR
Settalkon
(1)SPACE
(2)"
*"
双循环结构
三、编程题(要求从三大类型的程序中各选其一,即不能选两个同类型的程序题)
(一)求和类型的程序
1、编程计算S=1+1/3+1/5+…+1/49。
S=0
Fori=1to49step2
S=s+1/i
Endfor
s
2、编程计算100到1000之间能被4除余1的所有数之和。
参考答案:
s=0
fori=100to1000
ifi%4=1
s=s+i
endi
endf
retu
3、计算100到500中所有素数的和。
(所谓素数是指除了1和它本身外,没有任何因子被该数整除)最好参考实验教程,用子程序的方法。
clea
fori=100to500
forj=2toi-1
ifi%j=0
exit
endf
ifj>
=i
编程计算1/4!
+1/8!
+1/10!
Clear
S=1/fac(4)+1/fac(8)+1/fac(10)
Functionfac()
Parametersn
F=1
Fori=1ton
F=f*i
Returnf
4、求所有五位数中,千位数字等于个位数字的数之和。
Fori=10000to99999
A=int(i%10000/1000)
B=i%10
Ifa=b
i
endif
endfor
(二)统计个数的类型
1、统计100到1000中能被5或9整除的所有数的个数。
Fori=100to1000
Ifi%5=0ori%9=0
s=s+1
2、求四位数中所有“回文数”的个数。
(所谓“回文数”,是指该数从左往右念与从右往左念相同,例如:
121,323等)
Fori=1000to9999
a=int(i/1000)
b=int(i%1000/100)
c=int(i%100/10)
d=i%10
Ifa=dandc=b
3、统计所有五位数中万位数字大于等于个位数字的数的个数。
a=int(i/10000)
b=i%10
Ifa>
b
(三)其他类型
1、已知数列的前三个数分别为1,1,2,以后每个数为前三个数之和,求第48项。
s1=1
s2=1
s3=2
Fori=4to48
s=s1+s2+s3
s1=s2
s2=s3
s3=s
2、已知S=1*2*3*…*N,当S超过300000时的N值。
s=1
i=1
dowhiles<
=300000
s=s*i
i=i+1
endd
i-1
3、有50个学生去买小吃,一共花费100元。
其中大学生每人3元,中学生每人2元,小学生每人1元,求这种分配方法一共有多少种。
forx=0to33从0开始还是从1开始?
?
fory=0to50
forz=0to50
if(x+y+z=50)and(3*x+2*y+z=100)
endfor
4、求和S=1!
+4!
+7!
+……+(3k+1)!
(其中K>
=0),直到S>
180000为止,计算此时K的值。
k=1
=180000
s=s+fac(k)
k=k+3
enddo
settalkon
functionfac()
parametersn
f=1
fori=1ton
f=f*i
returnf
5、求出1798和1960的最大公约数。
fori=1to900
if1798%i=0and1960%i=0
6、计算133^10的最后4位数分别是多少?
Fori=1to10
s=s*133
s=s%10000
Endf
7、一球从200m高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?
s=200
h=200/2
fori=2to10
s=s+2*h
h=h/2
h