LRVFP填空改错复习题.docx
- 文档编号:27496799
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:27
- 大小:20KB
LRVFP填空改错复习题.docx
《LRVFP填空改错复习题.docx》由会员分享,可在线阅读,更多相关《LRVFP填空改错复习题.docx(27页珍藏版)》请在冰豆网上搜索。
LRVFP填空改错复习题
《VisualFoxPro程序设计》填空改错复习题
*TG-1.PRG
*欲输出“燕大“两字的程序,请改错。
CLEAR
名称="燕山大学"
字1=SUBSTR(名称,1,2)
**********FOUND**********
字2=SUBSTR(名称,3,2)
**********FOUND**********
@10,10SAY"字1"+"字2"
RETURN
*1|字2=SUBSTR(名称,5,2)
*2|@10,10SAY字1+字2
*TG-2.PRG
*允许三次输入,然后返回命令窗口的程序,请填空。
CLEAR
I=1
DOWHILE.T.
@10,10SAY"输入A:
"GETADEFAULT0
READ
IF----
(1)----
?
A
I=I+1
LOOP
ELSE
----
(2)----
ENDIF
ENDDO
RETURN
*1|I<=3
*2|EXIT
*TG-3.PRG
*在RSB.DBF中,列出“基本工资“小于1000元的姓名和基本工资,请改错。
CLEAR
CLEARALL
USERSB
**********FOUND************
SCANWHILE基本工资<1000
?
姓名,基本工资
**********FOUND************
SKIP
ENDSCAN
USE
RETURN
*1|SCANFOR基本工资<1000
*2|
*TG-4
如果复选框被选中,则执行Abc.prg,在某事件代码中,有如下错误语句,请修改。
IFThisForm.Check1.Value=2
Doabc
ENDIF
正确的是:
-------------------------------------
-------------------------------------
--------------------------------------
*1|IFThisForm.Check1.Value=1
Doabc
ENDIF
*TG-5.PRG
*从“考试成绩库“(包括考号、笔试成绩、上机成绩等字段)中,查询考试成绩,请填空。
CLEAR
USE考试成绩库
KH=SPACE(8)
@10,10SAY"输入考号:
"GETKH
READ
LOCATEFOR考号=KH
IF----
(1)----
@12,20SAY"查无此人!
"
----
(2)----
@13,20SAY"笔试成绩:
"+STR(笔试成绩,4,1)
@15,20SAY"上机成绩:
"+STR(上机成绩,4,1)
ENDIF
USE
RETURN
*1|EOF()
*2|ELSE
*TG-6.PRG
*输入三个整数,求最大数,请改错。
CLEAR
*************FOUND****************
A=B=C=0
@10,10SAY"输入第一个数:
"GETA
@12,10SAY"输入第二个数:
"GETB
@14,10SAY"输入第三个数:
"GETC
READ
************FOUND******************************
@18,10SAY"三个数中的最大数为:
"+STR(IIF(C>IIF(A>B,A,B),C,IIF(A>B,A,B))
RETURN
*1|STORE0TOA,B,C
*1|STOR0TOA,B,C
*2|@18,10SAY"三个数中的最大数为:
;"+STR(IIF(C>IIF(A>B,A,B),C,IIF(A>B,A,B)))
*TG-7.prg
*将RSB.DBF的前5个记录拷贝成文本文件,观察其内容。
请填空。
CLEAR
USERSB
COPYTOTEXT1NEXT5TYPE----
(1)----
USE
TYPETEXT1---
(2)---
RETURN
*1|SDF
*2|.TXT
*TG-8.PRG
*打印如下数字塔,请填空。
*1
*121
*12321
*1234321
*123454321
CLEAR
STORE20TOA,B,C
FORI=1TO5
FORJ=1TO----
(1)----
IFJ<=I
@A,BSAYALLTRIM(STR(J))
ELSE
@A,BSAYALLTRIM(STR---
(2)---)
ENDIF
B=B+1
ENDFOR
A=A+1
B=C-I
?
ENDFOR
RETURN
*1|2*I-1
*2|(2*I-J)
*TG-9.PRG
*计算梯形的面积,请改错。
CLEAR
**************FOUND****************
L1=L2=H=0.00
@10,10SAY"输入梯形的上底长:
"GETL1
@12,10SAY"输入梯形的下底长:
"GETL2
@14,10SAY"输入梯形的高:
"GETH
READ
S=(L1+L2)*H/2
************FOUND******************
@16,10SAY"梯形的面积是:
"+ALLTRIM(S,9,2)
RETURN
*1|STORE0.00TOL1,L2,H
*2|@16,10Say"梯形的面积是:
alltrim(STR(S,9,2))
*TG-10.PRG
*两个数的加减运算,
CLEAR
STORE0TOA,B,C
***********FOUND*********************8
OP=0
@10,10SAY"输入第一个数:
"GETA
@12,10SAY"输入第二个数:
"GETB
@14,10SAY"输入操作符(+-):
"GETOP
READ
DOCASE
CASEOP="+"
C=A+B
CASEOP="-"
C=A-B
OTHER
@16,10SAY"操作符不对!
"
RETURN
*************FOUND*****************
ENDDO
@16,10SAY"结果是:
"+ALLTRIM(STR(C))
RETURN
*1|OP=SPACE
(1)
*1|OP=""
*2|ENDCASE
*TG-11.PRG
*对RSB.DBF将已婚人员按部门代码降序,部门代码相同再按基本工资升序排序,然后显示排序文件中的第三个记录。
请填空。
CLEAR
USERSB
SORTTOPXON部门代码/D,基本工资FOR婚否
---
(1)---
GO3
---
(2)---
RETURN
*1|USEPX
*2|DISPLAY
*2|LISTRECORD3
*TG-12
表单上的“退出”按钮的Click事件代码如下:
This.Refresh
正确的是:
------------------------------
*1|ThisForm.Release
*1|Releasethisform
*TG-13.PRG
*计算三角形的面积,请改错。
CLEAR
STORE0.00TOL,H
@10,10SAY"输入三角形的底长:
"GETL
@12,10SAY"输入三角形的高长:
"GETH
*********FOUND***************
CREATE
S=L*H/2
*****FOUND******************
@16,10SAY"三角形的面积是:
",ALLTRIM(STR(S,9,2))
RETURN
*1|READ
*2|@16,10SAY"三角形的面积是:
"+ALLTRIM(STR(S,9,2))
*TG-14.PRG
*把rsb.dbf的内容移入二维数组,并按原记录形式显示数组,请改错。
CLEAR
USERSB
**************FOUND*************
COPYTOSZ
?
"数组的数据:
"
?
FORI=1TORECCOUNT()
FORJ=1TO6
**************FOUND*************
?
SZ(I,J),SPACE
(2)
ENDFOR
?
ENDFOR
RETURN
*1|COPYTOARRAYSZ
*1|COPYTOARRASZ
*2|?
?
SZ(I,J),SPACE
(2)
*TG-15.PRG
*打开RSB.DBF浏览后,彻底删除3号记录,请改错。
CLEAR
USERSB
**********FOUND***********
BROWSENOMENU,NOMODIFY
DELETERECORD3
*********FOUND*************
ZAP
USE
RETURN
*1|BROWSENOMENUNOMODIFY
*2|PACK
*TG-16.PRG
*输出花纹边框,请改错。
※※※※※※※※※※※※※※※※※※※※※
※※
※※
※※
※※
※※
※※
※※※※※※※※※※※※※※※※※※※※※
CLEAR
S=REPLICATE("※",20)
*******FOUND********
T="※"+SPACE(16)+"※"
@10,10SAY""
?
S
FORI=1TO6
*******FOUND********
?
?
T
ENDFOR
?
S
RETURN
*1|T="※"+SPACE(36)+"※"
*2|?
T
*TG-17.PRG
*由RSB.DBF形成新表后列表观察,请填空。
CLEAR
USERSB
COPYFOR基本工资>1000.AND.性别="男".OR.基本工资<1000.AND.性别="女"TONM
USE----
(1)----
SORTON性别/DTO---
(2)----
USENN
LIST
RETURN
*1|NM
*1|NM.DBF
*2|NN
*2|NN.DBF
*TG-18.PRG
*将1~9装入数组M,再转值到数组N,请填空。
DIMENSIONM(3,3),N(3,3)
R=1
FORI=1TO3
FORJ=1TO3
M(I,J)=R
R=-----
(1)-----
ENDFOR
ENDFOR
FORI=1TO3
FORJ=1TO3
N(I,J)=-----
(2)-----
?
?
N(I,J)
ENDFOR
?
ENDFOR
RETURN
*1|R+1
*2|M(J,I)
*TG-19.PRG
*在RSB表(无索引文件)的3号记录前和最后各加一个空记录,请改错。
CLEAR
USERSB
*********FOUND*********
GO2
INSERTBLANKBEFORE
*********FOUND*********
APPENDBLANKBOTTOM
LIST
USE
RETURN
*1|GO3
*2|APPENDBLANK
*TG-20
设表单上的Timer1的Interval为1000,要在标签上显示时间,修改下列timer事件代码的错误。
IFThisForm.Label1.Value<>Time()
ThisForm.Label1.Value=Time()
ENDIF
正确的是:
---------------------------------
---------------------------------
----------------------------------
*1|IFThisForm.Label1.Caption<>Time()
ThisForm.Label1.Caption=Time()
ENDIF
*TG-21.prg
*TS.DBF是图书目录表,有字符型字段“图书名称“,列出有关“信息技术“的书,请改错。
CLEARALL
CLEAR
************FOUND************
USE&TS
************FOUND************
LISTWHILE"信息技术"$图书名称
USE
RETURN
*1|USETS
*2|LISTFOR"信息技术"$图书名称
*TG-22.PRG
*打印右移平行四边形,请改错。
※※※※※※※
※※※※※※※
※※※※※※※
※※※※※※※
※※※※※※※
CLEAR
A=5
B=20
S=20
FORI=1TO5
FORJ=1TO7
@A,BSAY"※"
*****FOUND*********
B=B-2
ENDFOR
A=A+1
*****FOUND*********
B=S-2*I
?
ENDFOR
RETURN
*1|B=B+2
*2|B=S+2*I
*TG-23.PRG
*将RSB表中的基本工资大于1000元的记录,拷贝到XB表中,并从RSB表中彻底删除这些记录,请改错。
CLEAR
USERSB
COPYTOXBFOR基本工资>1000
********FOUND**************
DELETEWHILE基本工资>1000
********FOUND**************
ZAP
USEXB
LIST
USE
RETURN
*1|DELETEFOR基本工资>1000
*2|PACK
*TG-24
要使表单上的Line1成为水平线,Line1的Init代码如下:
This.Width=0
正确的是:
-----------------------
*1|This.height=0
*TG-25.PRG
*打印右上三角形,请改错。
▲
▲▲
▲▲▲
▲▲▲▲
▲▲▲▲▲
▲▲▲▲▲▲
▲▲▲▲▲▲▲
CLEAR
FORI=1TO7
*******FOUND************
Fori=1to7
Forj=1to7
?
?
"▲"
Endfor
?
Endfor
Return
FORJ=1TO14
IFJ
*******FOUND************
?
"▲"
ENDIF
ENDFOR
?
ENDFOR
*1|FORJ=1TO14STEP2
*2|?
?
"▲"
*TG-26.PRG
*追加记录,请填空。
CLEAR
SETSTRICTDATE----
(1)----
USERSB
APPENDBLANK
编号="0015"
姓名="刘锦芳"
工作日期={01/25/05}
基本工资=800.00
部门代码="A01"
婚否=.F.
GATHERMEMVA
简历="今年招聘。
"
GATHERMEMVA----
(2)----
LIST
USE
RETURN
*1|TO0
*2|MEMO
*TG-27
Form1释放表单集的如下Unload事件代码有错误,请修改。
DeleteThisFormSet
正确的是:
-------------------------
*1|ReleaseThisFormSet
*1|Thisformset.release
*TG-28.PRG
*打印出30以内的素数,请填空。
CLEAR
FORI=1TO30
FORJ=2TOI-1
IFMOD(I,J)=0
----
(1)----
ENDIF
ENDFOR
IFJ=----
(2)----
?
?
I
ENDIF
ENDFOR
RETURN
*1|EXIT
*2|I
*TG-29.PRG
*打印右下三角形,请改错。
▲▲▲▲▲▲▲
▲▲▲▲▲▲
▲▲▲▲▲
▲▲▲▲
▲▲▲
▲▲
▲
CLEAR
FORI=1TO7
FORJ=1TO8-I
*******FOUND************
?
"▲"
ENDFOR
*******FOUND************
?
?
ENDFOR
RETURN
*1|?
?
"▲"
*2|?
*TG-30.PRG
*将RSB.DBF中的讲师,增资10%,请填空。
CLEAR
USERSB
LIST
LOCATEFOR职称="讲师"
DOWHILE---
(1)---
REPLACE基本工资WITH基本工资*(1+0.1)
---
(2)----
ENDDO
LIST
USE
RETURN
*1|NOTEOF()
*1|!
EOF()
*2|CONTINUE
*TG-31
List1的InteractiveChange事件代码如下:
ThisForm.Text1.Value=This.Value
解释为:
将文本框的选定值,赋给列表框。
正确的解释为:
-------------------------.
*1|将列表框的选定值,赋给文本框。
*TG-32.PRG
*某按姓名排序的表ZG.DBF,要求列出年龄为22岁的记录并统计个数,请改错。
CLEAR
USEZG
**********FOUND*************
DISPLAYALLWHILE年龄=22
**********FOUND*************
N=COUNTFOR年龄=22
?
N
USE
RETURN
*1|DISPLAYALLFOR年龄=22
*1|DISPLAYFOR年龄=22
*1|LISTFOR年龄=22
*2|COUNTFOR年龄=22TON
*2|COUNFOR年龄=22TON
*TG-33.PRG
*打印左下三角形,请填空。
▲▲▲▲▲▲▲
▲▲▲▲▲▲
▲▲▲▲▲
▲▲▲▲
▲▲▲
▲▲
▲
CLEAR
A=10
B=10
S=10
FORI=1TO7
FORJ=1TO16-2*I----
(1)-----
@A,BSAY"▲"
B=B+2
ENDFOR
A=----
(2)-----
B=S+2*I
?
ENDFOR
RETURN
*1|STEP2
*1|STEP+2
*2|A+1
*TG-34.PRG
*分档统计RSB.DBF中的各类职称教师的人数,请改错。
CLEAR
STORE0TOT1,T2,T3,T4
USERSB
*********FOUND******************
DOWHILE!
BOF()
DOCASE
CASE职称=“教授”
T1=T1+1
CASE职称=“副教授”
T2=T2+1
CASE职称=“讲师”
T3=T3+1
OTHERWISE
T4=TT+1
ENDCASE
*********FOUND******************
N=N+1
ENDDO
?
"教授、副教授、讲师、助教的人数分别是:
",T1,T2,T3,T4
USE
RETURN
*1|DOWHILENOTEOF()
*1|DOWHILE!
EOF()
*2|SKIP
*2|SKIP1
*TG-35.PRG
*任意给出三个边,检查能否构成三角形,请填空。
CLEAR
----
(1)----
@10,10SAY"输入三角形的第一个边长:
"GETA
@12,10SAY"输入三角形的第二个边长:
"GETB
@14,10SAY"输入三角形的第三个边长:
"GETC
READ
IF---
(1)---A+B @16,10SAY"这三个边,不能构成三角形! " ELSE @16,10SAY"这三个边,可以构成三角形! " ENDIF RETURN *1|STORE0TOA,B,C *1|STOR0TOA,B,C *2|A=0.OR.B=0.OR.C=0.OR. *2|B=0.OR.C=0.OR.A=0.OR. *2|C=0.OR.C=0.OR.B=0.OR. *TG-36.PRG *下列是输入任意五位小数的正实数X,输出对X第三位小数四舍五入值的程序,请改错。 CLEAR *************FOUND***************** X=0 @10,10SAY"输入任意正实数X: "GETX READ *************FOUND***************** ? 0.01*INT(100*(X+0.05)) RETURN *1|X=0.00000 *2|? 0.01*INT(100*(X+0.005)) *TG-37.PRG *任意输入一个ASCII码字符串,让其反过来输出。 请改错。 CLEAR **********FOUND************* Y=SPACE (1) @10,10SAY"任意输入一个ASCII码字符串(<40): "GETXDEFAULTSPACE(40) READ X=ALLTRIM(X) N=LEN(X) FORI=NTO1STEP-1 M=SUBSTR(X,I,1) **********FOUND************* Y=Y+STR(M) NEXT ? Y RETURN *1|Y=SPACE(0) *2|Y=Y+M *TG-38.PRG *对RSB.DBF按部门代码作基本工资汇总,请改错。 CLEAR CLEARALL USERSB INDEXON部门代码TAG部门 **********FOUND****************** TOTALTO部门FIELDS基本工资 USE部门 **********FOUND****************** BROWSEFIELDS部门,价格TITLE价格汇总表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LRVFP 填空 改错 复习题