VFP练习册第四版参考答案.docx
《VFP练习册第四版参考答案.docx》由会员分享,可在线阅读,更多相关《VFP练习册第四版参考答案.docx(18页珍藏版)》请在冰豆网上搜索。
![VFP练习册第四版参考答案.docx](https://file1.bdocx.com/fileroot1/2023-1/6/3731701f-85f7-43af-9da0-72e339dbad57/3731701f-85f7-43af-9da0-72e339dbad571.gif)
VFP练习册第四版参考答案
第一套参考答案
一、单选题
1~5ACDCA6~10DBBCA
11~15DDBAB10~20BABBD
21~25CDBBD26~30CCACB
31~35DAABC36~40CAAAD
二、判断题
1~5×××√×6~10√××√×
三、填空题
1int(x/100)%10
x%10
学号=xh
thisform.label3.caption=姓名
i=2
i=i+1
alltrim(str(n))
zf(数学,语文)
skip
sx+yw
四、读程序
1、Text1:
李四text2:
王五
2、label2:
p
(2)=4p(3)=16label3:
b=22
3、s(0)=0.00
S(10)=50.00
S(20)=250.00
4、第一次:
节日已过去7天
第二次:
距离节日还有-1天
五、程序设计
thisform.list1.clear
usexs
xh=alltrim(thisform.text1.value)
locatefor学号=xh
iffound()
thisform.label3.caption=姓名
sele课程名,成绩fromxs,xkwherexs.学号=xk.学号andxs.学号=xhintodbfxx
usexx
scan
thisform.list1.additem(课程名)
thisform.list1.additem(str(成绩,5,1))
endscan
else
thisform.label3.caption="查无此人!
"
endif
closeall
第二套
一单选(36)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
D
A
C
B
B
C
B
B
C
A
D
A
C
B
C
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
C
A
B
A
C
A
C
D
D
A
C
D
C
C
A
31
32
33
34
35
36
D
C
A
A
B
C
二判断题(10)
1
2
3
4
5
6
7
8
9
10
T
T
T
F
F
F
F
F
F
T
三填空(20)
1
Desc
6
Month(借书日期)=1
2
Gobottom
7
Avg(入学成绩)
3
笔试+上机
8
Into
4
Rename
9
A+b>candb+c>aanda+c>b
5
Ts.总编号=jy.总编号
10
Str(s0,8,2)
四读程序写结果(4*6=24)
1
钱进进453
3
12108642
2
及格良好不及格
4
11
第三套
一单选(36)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C
C
B
D
D
C
D
B
C
A
A
B
B
A
B
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
A
C
C
B
B
B
C
A
A
C
B
D
C
B
A
31
32
33
34
35
36
B
D
A
B
C
D
二判断题(10)
1
2
3
4
5
6
7
8
9
10
T
T
F
F
T
T
F
F
F
T
三填空(20)
1
Count(*)
6
Arrayaa
2
班级数DESC
7
Dtoc(借阅日期)
3
Exit
8
Thisform.text1.value
4
Str(m,5)
9
Found()或notenf()
5
Mod(y,5)=0
10
“查无此人”
四读程序写结果(4*6=24)
1
汪五40
3
钓鱼岛f1钓鱼岛是中国领土
2
571217
4
I=6j=5
五程序设计题(10)
n=this.value
k=0
dowhilen<>1
ifn%2=0
thisform.edit1.value=thisform.edit1.value+str(n)+”/2=”+str(n/2)+chr(13)
n=n/2
else
thisform.edit1.value=thisform.edit1.value+str(n)+”*3+1=”+str(n*3+1)+chr(13)
n=n*3+1
endif
k=k+1
enddo
thisform.text2.value=k
第四套
第五套
一、单选20分
BCCCBCCCDBBCDACACDAB
二、判断10分
√√√√
三、填空20分
1、①B②C2、③C④B3、⑤C⑥A
4、⑦D⑧C5、⑨B⑩A
四、读程序写结果30分
1、D2、D3、A4、A5、B6、B
五、写程序20分
1、参考程序
S=0
N=0
FORi=1to100
Ifi%8=0
S=s+i
N=n+1
Endif
Endfor
Thisform.text1.value=s
Thisform.text2.value=s/n
2、参考答案
Bh=alltrim(bol1.value)
Select姓名,研究方向fromdsbwhere导师编号=bhintoarrayx
Thisform.label3.caption=x
(1)
Thisform.label5.caption=x
(2)
Select学号,姓名AS学生姓名,性别,所在院系fromxsbwhere导师编号Thisform.label3.caption=x
(1)
=bhintocursortemp
Thisform.grod1.recordsource=”temp”
第六套()
一单选
1
2
3
4
5
6
7
8
9
10
D
D
B
B
C
B
C
D
D
B
11
12
13
14
15
16
17
18
19
20
D
B
C
A
D
D
C
A
C
C
二、判断
1
2
3
4
5
6
7
8
9
10
√
√
√
√
X
X
X
X
X
√
三、填空
1D②A③D④A⑤C⑥A⑦D⑧B⑨D⑩C
四、读程序
1、A2、D3、A4、B5、D6、C
五、程序设计
第七套
一单选
1
2
3
4
5
6
7
8
9
10
D
C
C
A
C
D
B
C
B
A
11
12
13
14
15
16
17
18
19
20
C
C
A
B
D
D
C
A
D
B
二、判断
1
2
3
4
5
6
7
8
9
10
X
√
X
√
X
X
√
X
√
X
三、填空
2B②A③C④A⑤B⑥C⑦B⑧C⑨C⑩A
四、读程序
1、D2、D3、A4、C5、B6、B
五、程序设计
1、参考答案
N=0
Forx=100to500
Ifx%5=0andx%7=0
Thisform.list1.addotem(str(x,3))
N=n+1
Endif
Endfor
Thisform.text1.value=n
2、参考答案
St=alltrim(bo1.value)
Selectstud.学号,姓名,报名日期fromstud,bmbwherestud.学号=bmb.学号and社团=storderby报名日期intocurorcc
thisform.grid1.recordsource=”cc”
Selectcount(*)fromccintoarrayaa
Thisform.text1.value=aa
(1)
上机第一套
一、略
二、表程序
1、command1的click事件代码:
select姓名,指标,(一季度+二季度+三季度+四季度)-指标as超指标fromemp,salewhereemp.编号=sale.编号and一季度+二季度+三季度+四季度>指标orderby超指标descintocursorcc
thisform.grid1.recordsource="cc"
2、combo1的interacticechange事件代码:
n=this.value
select姓名,(一季度+二季度+三季度+四季度)-指标as超额业绩量fromemp,sale;whereemp.编号=sale.编号andemp.编号=nintoarrayaa
thisform.label2.caption=姓名+"超额业绩量为”+str(aa
(2),4,2)
3、combo1的interacticechange事件代码:
seleemp
recallall
thisform.refresh
a=this.value
deletefromempwhere片区=left(a,1)
thisform.refresh
三.数学程序
N=allt(thisform.text1.value)
上机第二套参考答案
一,数据库及表操作(40)
二基于表的表单(30分)
(1)添加数据环境,combo1与stu的姓名字段绑定(5分)
Combo1的interactivechange事件代码:
a=this.value
selectstu.学号,课程名,成绩fromstu,scorewherestu.学号=score.学号and姓名=aintocursorcc
thisform.grid1.recordsource="cc"
(2)添加数据环境,combo1与stu的电话字段绑定(5分)
Combo1的interactivechange事件代码:
n=left(this.value,3)
select学号,姓名,寝室,电话fromstuwhereleft(电话,3)=aintocursorcc
thisform.grid1.recordsource="cc"
thisform.text1.value=n
(3)添加数据环境,list1的Columncount属性改为2
与stu的学号和姓名字段绑定(5分)
List1的interactivechange事件代码:
a=this.value
selectsum(成绩),count(*)fromscorewhere学号=aintoarrayaa
thisform.text1.value=allt(str(aa
(1)))
thisform.text2.value=allt(str(aa
(2)))
三、表单设计(30)
界面设计(5分)
Command1的click事件代码:
a=thisform.text1.value
ifa=-1
thisform.release
endif
ifmod(a,8)=0
thisform.label2.caption=allt(str(a))+”是8的倍数!
”
else
thisform.label2.caption=allt(str(a))+”不是8的倍数!
”
endif
上机第三套答案
二,数据库及表操作(40分)
二基于表的表单(30分)
(1)添加数据环境,combo1手工输入销售季度(5分)
Combo1的interactivechange事件代码:
n=this.value
select客户代表fromsalewhere销售季度=aintodbfmm
usemm
scan
thisform.edit1.value=thisform.edit1.value+客户代表+chr(13)
endsan
(2)添加数据环境,combo1与商品编号绑定(5分)
Combo1的interactivechange事件代码:
a=this.value
select热销商品名称,规格,单价fromproductswhere商品编号=aintoarrayaa
thisform.label1.caption=aa
(1)
thisform.text1.value=aa
(2)
thisform.text2.value=allt(str(aa(3)))
(3)添加数据环境,(3分)
Command1的click事件代码:
select热销商品名称,sum(销售数量*单价)fromproducts,salewhereproducts.商品编号=sale.商品编号groupby商品编号intocursorcc
thisform.grid1.recordsource="cc"
三、表单设计(30)
界面设计(5分)
Text3的gotfocus事件代码:
a=thisform.text1.value
b=thisform.text2.value
docase
casethisform.optiongroup1.value=1
c=a+b
casethisform.optiongroup1.value=2
c=a/b
casethisform.optiongroup1.value=3
c=a**b
casethisform.optiongroup1.value=4
c=a%b
endcase
thisform.text3.value=round(c,1)
上机第四套题(参考答案)
一、(40分)
二、(注意:
只有界面正确不给分)
(1)(10分)参考答案:
updatejsgzset实发工资=round(基本工资+各种补贴-住房公积金-其他扣款合计,1)
thisform.grid1.recordsourcetype=0
thisform.grid1.recordsource="jsgz"
(2)(10分)参考答案:
N=this.value
Select姓名,职称,出生日期,婚否fromjsbwhere教师工号=nintoarrayaa
thisform.text1.value=aa
(1)
thisform.text2.value=aa
(2)
thisform.label4.caption="出生年月:
"+str(year(aa(3)),4)+"年"+str(month(aa(3)),2)+"月"
ifaa(4)=.t.
thisform.label5.caption="婚姻状况:
已婚"
else
thisform.label5.caption="婚姻状况:
未婚"
endif
(3)(10分)参考答案:
select姓名,职称,基本工资,实发工资fromjsb,jsgzwherejsb.教师工号=jsgz.教师工号intocursorcc
thisform.grid1.recordsource=”cc”
三、(30分)参考答案:
1.界面及环境设计(5分)
Form1的Load事件代码:
publics,n
s=0
n=0
2.Text1的Lostfocus事件代码:
(20分)
x=val(thisform.text1.value)
ifx<>0
s=s+x
n=n+1
thisform.text1.value=""
else
thisform.label3.caption=alltr(str(n))
thisform.label5.caption=alltr(str(s/n,10,2))
endif
3.Form1的dblclick事件代码(5分)
Thisform.release
上机第五套题(参考答案)
一、(40分)
二、(注意:
只有界面正确不给分)
(1)(10分)参考答案:
select1
use服装清单表
indexon服装代码tagdm
select2
use客户消费表
setrelationto服装代码intoa
replaceall实价witha.现价*数量
select客户代码,品名,现价,数量,实价from服装清单表a,客户消费表bwherea.服装代码=b.服装代码intocursorcc
thisform.grid1.recordsource="cc”
(2)(10分)参考答案:
n=alltrim(bo1.value)
thisform.grid1.recordsourcetype=4
select支付方式,count(*)as销售笔数,sum(实价)as总实价from客户消费表where服装代码=ngroupby支付方式intocursorcc
thisform.grid1.recordsource="cc"
thisform.refresh
(3)(10分)参考答案:
deletefrom客户消费表where客户代码=alltrim(bo1.value)and购买时间三、(30分)参考答案:
1.界面设计(5分)
2.“计算”按钮的click事件代码(20分)
x=thisform.text1.value
x1=int(x/100)
x2=int(mod(x,100)/10)
x3=mod(x,10)
ifthisform.optiongroup1.value=1
y=x1^2+x2^2+x3^2
else
y=x1^3+x2^3+x3^3
endif
thisform.label3.caption=alltrim(str(y))
3.Form1的dblclick事件代码(5分)
Thisform.release
上机第六套题(参考答案)
一、建立数据库、数据表和表间的永久关系(共40分)
1、建立数据库(5分)
2、2个数据表的索引和表间的永久关系(15分)。
2、2个数据表的建立正确、数据正确(20分)。
二、基于表的表单设计(共30分)
(1)界面正确及手工绑定正确(5分)
(2)组合框combo1的InteractiveChange事件代码:
*编辑框输出(10分)
*文本框输出(10分)
n=alltrim(this.value)
selectcj.学号,姓名,成绩fromxs,cjwherexs.学号=cj.学号and专业=n;
intodbfmm
thisform.edit1.value=""
thisform.edit1.value=thisform.edit1.value+;
"学号"+space
(2)+"姓名"+space
(2)+"成绩"+chr(13)
selectmm
scan
thisform.edit1.value=thisform.edit1.value+学号+space
(2)+姓名+space
(2)+str(成绩,3)+chr(13)
endscan
selectavg(成绩)fromzycjintoarrayaa
selectcount(*)fromzycjwhere成绩<60intoarraybb
thisform.text1.value=aa
(1)
thisform.text2.value=bb
(1)
(4)“退出”命令按钮的click事件代码:
(5分)
thisform.release
三、表单设计(共30分)
(1)界面正确及已给代码录入正确(6分)
(2)命令按钮组的click事件代码(8分/空):
①this.value=1
②asc(x1)>=asc("0")andasc(x1)<=asc("9")
3fori=len(x)to1step-1
上机第七套题(参考答案)
一、建立数据库、数据表和表间的永久关系(共40分)
1、建立数据库(5分)
2、2个数据表的索引和表间的永久关系(15分)。
2、2个数据表的建立正确、数据正确(20分)。
二、基于表的表单设计(共30分)
1.“计算并显示”按钮的click事件代码:
(10分)
select1
useskc
indexon商品编号tagbh
select2
usesxs
setrelationto商品编号intoskc
updatesxsset销售金额=销售数量*skc.单价
thisform.grid1.recordsource="SXS"
2.
(1)界面正确及数据绑定正确(5分)
(2)Combo1的InteractiveChange事件代码:
(10分)
n=alltrim(this.value)
select订单号,销售数量,销售金额fromSKC,SXSwhereSKC.商品编号=SXS.商品编号;
AND商品名称=nintotablemm
Usemm
thisform.edit1.value="订单号销售数量销售金额"+chr(13)
scan
thisform.edit1.value=thisform.edit1.value+订单号+""+;
str(销售数量,3)+""+str(销售金额,6,2)+chr(13)
endscan
(