vfp程序改错
更新时间:2024-04-01 13:05:01 阅读量: 综合文库 文档下载
Visual Foxpro程序改错
〖第1题〗(练习题所在文件夹:163)
*题目:该程序完成口令检验功能。输入三次不正确退出。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 SET TALK OFF CLEAR
ass1=\TT=1
DO WHILE TT<4
@10,20 SAY \请输入口令:\SET CONSOLE OFF ACCEPT TO ass SET CONSOLE ON
**********FOUND********** IF ass1=ass CLEAR
?\欢迎使用本系统!\
**********FOUND********** LOOP ELSE
**********FOUND********** TT=TT-1 CLEAR
?\口令错,按任意键再输入一次!\ WAIT\ENDIF ENDDO RETURN 答案:
1). IF UPPER(ass1)==UPPER(ass) 或 IF UPPER(ass1)==UPPER(ass) 2). EXIT
3). TT=TT+1 或 TT=1+TT
〖第4题〗(练习题所在文件夹:500)
*题目:ZHG.DBF是一个职工信息文件,其中包含编号(C 5)、姓名 * (C 8)、性别(C 2)、政治面貌(C 4)、出生日期(D 8)等字 * 段。性别用字符串\男\或\女\表示,政治面貌用字符串\* 党员\、\团员\或\群众\表示。此文件已按政治面貌建立 * 了索引,索引文件名是ZHG_ZHZH.IDX。
* 程序功能是:显示输出所有政治面貌为\群众\的女职工的 * 姓名和出生日期(每行输出一个职工的信息)在屏幕上 *注意:不可以增加或删除程序行,也不可以更改程序的结构。
set talk off clear
***********FOUND********** USE ZHG
SEEK \群众\
***********FOUND********** DO WHILE !EOF() IF 性别=\女\
DISP 姓名,出生日期
***********FOUND********** ENDD SKIP ENDDO USE
SET TALK ON 答案:
1). USE ZHG INDEX ZHG_ZHZH
2). DO WHILE政治面貌=\群众\或 DOWHILE政治面貌='群众' 或 DOWHILE政治面貌=[群众]
3). ENDIF
〖第5题〗(练习题所在文件夹:105)
*题目:在RSH.dbf 中,查找职工赵红的工资,如果工资小于200元, * 则增加100元;如果工资大于等于200元且小于500元时,则增 * 加50元;否则增加20元。最后显示赵红的姓名和工资。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 CLEAR USE RSH
***********FOUND********** LOCATE FOR 姓名 =赵红 DO CASE
CASE 工资< 200
REPLACE 工资 WITH 工资+ 100 CASE 工资< 500
REPLACE 工资 WITH 工资+ 50 OTHERWISE
REPLACE 工资 WITH 工资+ 20 ENDCASE
***********FOUND********** LIST 姓名,工资 USE 答案:
1). LOCATE FOR 姓名=\赵红\或 LOCA FOR 姓名='赵红' 或 LOCA FOR 姓名=\赵红\或 LOCATE FOR 姓名=[赵红] 或 LOCA FOR 姓名=[赵红] 或 LOCATE FOR 姓名='赵红'
2). DISP 姓名,工资 或 ?姓名,工资 或 DISPLAY 姓名,工资
〖第6题〗(练习题所在文件夹:174)
*题目:计算S=2+4+6+...+98+100的程序。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 store 0 to s,i
***********FOUND********** do i<=99
***********FOUND********** i=i+1 s=s+i enddo ?\答案:
1). do while i<=99 或 do while i<100 或 dowhilei<=98 或 dowhilei<99 2). I=2+I 或 I=I+2 或 STORI+2TOI
〖第7题〗(练习题所在文件夹:520)
*题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半, * 还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉 * 一半,又多吃了一个。以后每天早上都吃了前一天剩下的一 * 半零一个。到第10天早上想再吃时,见只剩下一个桃子了。 * 求第一天共摘了多少。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 set talk off clear DAY=9
***********FOUND********** X2=0
DO WHILE DAY>0
***********FOUND********** X1=(X2+1)/2 X2=X1
***********FOUND********** DAY=DAY+1 ENDDO
? \第一天摘下\个桃子\SET TALK ON 答案:
1). X2=1
2). X1=(X2+1)*2 3). DAY=DAY-1
〖第8题〗(练习题所在文件夹:175)
*题目:打开XSDB.DBF数据表, 分别统计男、女生的人数。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB
STOR 0 TO B,G
DO WHILE .NOT.EOF()
***********FOUND********** IF 性别<>男 B=B+1
***********FOUND********** ENDIF G=G+1
ENDIF SKIP ENDDO
?\男生人数是:\?\女生人数是:\答案:
1). IF 性别=\男\或 IF 性别<>\女\ 2). ELSE
〖第9题〗(练习题所在文件夹:188)
*题目:显示XSDB.DBF中每个学生的姓名、计算机成绩和等级;等 * 级划分如下:计算机成绩大于等于90显示\优秀\;60到89 * (包括 60和89)之间显示\及格\;60分以下显示\补考\。 * 如显示:张丽娜 90 优秀 。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB
DO WHIL .NOT. EOF()
***********FOUND********** LIST 姓名,计算机 DO CASE
CASE 计算机>=90 ??'优秀' CASE 计算机>=60 ??'及格' OTHERWISE
??'补考' ENDCASE
***********FOUND********** GO NEXT ENDDO USE 答案:
1). ? 姓名,计算机 或DISPLAY姓名,计算机
2). SKIP 或 SKIP 1
〖第10题〗(练习题所在文件夹:191)
*题目:从键盘上输入5个数,将其中奇数求和,偶数求积。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 S1=0
***********FOUND********** S2=0
FOR I=1 TO 5
INPUT \请输入第\数\***********FOUND********** IF INT(M/2)=0 S1=S1+M ELSE S2=S2*M ENDIF ENDFOR
? \奇数和是\? \偶数积是\答案:
1). S2=1 或 STOR 1 TO S2
2). IF MOD(M,2)<>0 或 IF MOD(M,2)#0 或 IF INT(M/2)<>M/2 或 IF INT(M/2)#M/2 或 IF M%2 <>0 或 IF M%2!=0 或 IF M%2#0
〖第11题〗(练习题所在文件夹:182)
*题目:在XSDB.DBF中查找学生徐秋实的记录, 如果找到则将该记录 * 的系别、姓名,两科科目名称和对应的成绩显示在屏幕上,否则 * 显示:\查无此人!\。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB
***********FOUND********** FIND FOR 姓名=\徐秋实\IF .NOT.FOUND() ?\查无此人!\ELSE
***********FOUND**********
?系别,姓名, \计算机=\计算机, \英语=\英语 ENDIF USE RETURN 答案:
1). LOCATE FOR姓名=\徐秋实\或 LOCATE AL LFOR姓名=\徐秋实\ 2). ? 系别,姓名,\计算机=\计算机),\英语=\英语)
或 ?系别,姓名,\计算机=\计算机, \英语=\英语
〖第13题〗(练习题所在文件夹:161)
*题目:从键盘输入一个表名,打开该表文件,移动记录指针到 * 文件头,输出当前记录号;在移动记录指针到文件尾, * 输出当前记录号。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 SET TALK OFF ACCEPT TO A
**********FOUND********** FIND A GO TOP
**********FOUND********** NEXT
? RECNO( ) GO BOTTOM
**********FOUND********** NEXT -1 ? RECNO( ) USE
SET TALK ON 答案:
1). USE(A) 或 USE&A 2). SKIP-1
3). SKIP 或 SKIP 1
〖第14题〗(练习题所在文件夹:162)
*题目:从键盘输入一个表文件名,打开该表, 查找\姓名\是 * \张东\的记录,并显示该记录, 最后输出\姓名\是\张 * 东\的记录个数。(设被打开的表中有固定字段\姓名\*注意:不可以增加或删除程序行,也不可以更改程序的结构。 SET TALK OFF ACCEPT TO A USE &A
**********FOUND********** N=1
SCAN FOR 姓名= \张东\**********FOUND********** LIST N=N+1 ENDSCAN
**********FOUND********** ? 记录个数是,N USE
SET TALK ON 答案:
1). N=0 或 Store0ToN 2). DISPLAY 或 DISP
3). ? \记录个数是\或 ? \记录个数是\
〖第16题〗(练习题所在文件夹:92)
*题目:求X =1+2+3+… +100,并同时求出 1到100 之间的奇数之和Y, * 而且显示输出这两个和。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 CLEAR
STORE 0 TO I , X , Y
***********FOUND********** DO WHILE I<=100 I = I+1 X =X+I
IF I/2 = INT(I/2)
***********FOUND********** EXIT ENDIF Y=Y+I ENDDO ?X,Y RETURN 答案:
1). DO WHILE I<100 或 DO WHILE I<=99 2). LOOP
〖第17题〗(练习题所在文件夹:501)
*题目:STUDENT.DBF是一个学生信息文件,包含学号(C 8)、 * 姓名(C 8)、性别(C 2)、政治面貌(C 4)、班级(C 5) * 等字段;其中性别用字符串\男\或\女\表示,政治面貌 * 用字符串\党员\、\团员\或\群众\表示。
* 程序的功能是:显示输出所有政治面貌为\群众\的男生姓 * 名和班级。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 set talk off clear
USE STUDENT
LOCATE FOR 政治面貌=\群众\***********FOUND********** DO WHILE .not. FOUND() IF 性别=\女\
CONTINUE
***********FOUND********** break ENDIF
? 姓名,班级
***********FOUND********** skip ENDDO USE
SET TALK ON 答案:
1). DO WHILE FOUND() 或DO WHIL .not.eof() 2). LOOP 3). CONTINUE
x〖第19题〗(练习题所在文件夹:148)
*题目:从键盘上输入任意一串字符,判断是否回文。 * 例如:MUM、456654,MADAM。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 SET TALK OFF ACCEPT \L=LEN(A) FLAG=1 I=1
**********FOUND**********
DO WHILE FLAG=1 OR I<=INT(L/2) **********FOUND**********
IF SUBS(A,I,1)<>SUBS(A,L-I,1) FLAG=0 ENDIF I=I+1 ENDDO
**********FOUND********** IF FLAG=0
? \是回文\ELSE
? \不是回文\ENDIF CANCEL 答案:
1). DO WHILE FLAG=1 AND I<=INT(L/2) 2). IF SUBSTR(A,I,1)<>SUBSTR(A,L-I+1,1) 3). IF FLAG=1
〖第20题〗(练习题所在文件夹:189)
*题目:从键盘输入一个数X,当X大于0、Y的值为1;当X等于0、Y的 * 值为0;当X小于0、Y的值为-1, 然后输出Y的值。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 INPUT \输入一个数X:\***********FOUND********** IF X>0 IF X>0 Y=1 ELSE Y=0
ENDIF ELSE
Y=-1 ENDIF
***********FOUND********** ?\答案:
1). IF X>=0 或 IF 0<=X
2). ? \或? \
〖第22题〗(练习题所在文件夹:505)
*题目:计算并显示输出数列1,-1/2, 1/4, -1/8, 1/16 … 的 * 前10项之和。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 set talk off clear Y=0
STORE 1 TO I,C
***********FOUND********** DO WHILE I<=10 Y=Y+(-1)^(C+1)/I
***********FOUND********** I=-I*2 C=C+1
***********FOUND********** ENDIF
? \数列前10项之和为:\SET TALK ON RETURN 答案:
1). DO WHILE C<=10 或 DO WHILE C<11 2). I=I*2 或 I=-I*(-2) 3). ENDD 或 ENDDO
〖第23题〗(练习题所在文件夹:156) *题目:求1+5+9+13+…+97的和。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 SET TALK OFF S=0
**********FOUND********** N=0
DO WHILE N<=97
**********FOUND********** S=S+1 N=N+4
**********FOUND********** ENDWHILE ? S
SET TALK ON 答案:
1). N=1 或 STOR 1 TO N 2). S=S+N 或 S=N+S 3). ENDDO 或 ENDD
〖第24题〗(练习题所在文件夹:165)
*题目:求1到10之间奇数的阶乘和t=1!+3!+5!+…+9!
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 **********FOUND********** t=1 P=1 I=1
**********FOUND********** Do while I>10 P=p*I
**********FOUND********** If int(i/2)=i/2 T=t+p Endif I=I+1 Enddo ?\答案:
1). t=0
2). do while i<10 3). != 或 <> 或 #
〖第25题〗(练习题所在文件夹:168)
USE RSH XM=\赵红\
LOCATE FOR 姓名 = XM ***********FOUND********** IF BOF()
WAIT \查无此人! \ELSE
***********FOUND********** ? \工资+职称\ENDIF USE 答案:
1). IFEOF() 或 IF.NOT.FOUN() 或 IFEOF()=.T. 或 IFNOTEOF()=.F. 或 IF!EOF()=.F. 或 IFEOF()<>.F. 或 IFNOTEOF<>.T. 或 IF!EOF()<>.T. 或 IFFOUN()=.F. 2). ?工资,职称 或 ?STR(工资)+职称 或 DISPLAYFIELD工资,职称
〖第50题〗(练习题所在文件夹:193)
*题目:有一个字符串\将其插入3个数字转换为:\输出。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 C1=\C2=\
FOR I=1 TO 3
***********FOUND********** A=SUBS(C1,I)
***********FOUND********** C2=C2+A+I ENDFOR ?C2 答案:
1). A=SUBS(C1,I,1) 或 A=SUBSTR(C1,I,1) 或 STOR SUBS(C1,I,1) TO A 或 STOR SUBSTR(C1,I,1) TO A
2). C2=C2+A+STR(I,1) 或 STORC2+A+STR(I,1)TOC2
〖第52题〗(练习题所在文件夹:39)
*题目:将XSDB.DBF表中奖学金超过60元的学生姓名和奖学金显示 * 在屏幕上。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB
***********FOUND********** IF 奖学金>\
DO WHILE .NOT.EOF()
***********FOUND**********
?\姓名=\姓名,\奖学金=\奖学金
CONT ENDDO USE 答案:
1). LOCATE FOR 奖学金>60 或 LOCATE ALL FOR 奖学金>60 或 LOCATE FOR 奖学金>=61 或 LOCATE ALL FOR 奖学金>=61
2). ?\姓名=\姓名,\奖学金=\奖学金,4,1) 或 ?\姓名=\姓名,\奖学金=\奖学金) 或 ?[姓名=]+姓名,[奖学金=]+STR(奖学金,4,1) 或 ?[姓名=]+姓名,[奖学金=]+STR(奖学金) 或 ?'姓名='+姓名,'奖学金='+STR(奖学金,4,1) 或 ?'姓名='+姓名,'奖学金='+STR(奖学金) 或 ?\姓名=\姓名,\奖学金=\奖学金
〖第53题〗(练习题所在文件夹:178)
*题目:打开表XSDB.DBF, 查找计算机和英语的平均成绩最高的学生, * 并显示姓名和计算机、英语成绩。
*注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB JSJ=计算机 YY=英语 XM=姓名
PJ=(JSJ+YY)/2
DO WHILE .NOT.EOF()
***********FOUND********** X=计算机+英语
***********FOUND********** IF PJ>X JSJ=计算机 YY=英语 XM=姓名 PJ=X ENDIF
***********FOUND********** Continue ENDDO
?XM,JSJ,YY 答案:
1). X=(计算机+英语)/2 或 X=(英语+计算机)/2 2). IF X>PJ 或 IF PJ 〖第54题〗(练习题所在文件夹:194) *题目:打开表XSDB.DBF,统计姓张、姓王、姓李,三个姓的学生 * 人数并将人数输出。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB C=0 ***********FOUND********** LOCA 姓名=\张\王\李\DO WHILE FOUN() C=C+1 ***********FOUND********** COUN ENDDO ?C USE 答案: 1). LOCATE FOR姓名=\张\姓名=\王\姓名=\李\ 2). CONTINUE 〖第55题〗(练习题所在文件夹:43) *题目:通过字符串变量操作先竖向显示\伟大祖国\,再横向显示 * \祖国伟大\。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 STORE \伟大祖国\CLEA ***********FOUND********** N=0 DO WHILE N<8 ?SUBS(XY,N,2) N=N+2 ENDDO ? ***********FOUND********** ??SUBS(XY,4,4) ??SUBS(XY,1,4) 答案: 1). N=1 或 STOR 1 TO N 2). ??SUBS(XY,5,4) 或 ??SUBS(XY,n-4,4) 〖第57题〗(练习题所在文件夹:48) *题目:在XSDB.DBF表中统计法律和中文两个系的总人数和奖学金总额。 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB STORE 0 TO R,S DO WHILE .T. ***********FOUND********** IF 系别=\法律\系别=\中文\STORE S+奖学金 TO S R=R+1 ENDIF SKIP ***********FOUND********** IF .NOT.FOUN() EXIT ENDIF ENDDO ? S, R USE 答案: 1). IF 系别=\法律\系别=\中文\或 2). IF EOF() 或 IF NOTEOF()=.F. 〖第58题〗(练习题所在文件夹:197) *题目:打印由数字组成的图形,要求第一行空10个空格打印5个1,第 * 二行空11个空格打印5个2…,图形如下: * 11111 * 22222 * 33333 * 44444 * 55555 *注意:不可以增加或删除程序行,也不可以更改程序的结构。 CLEA FOR I=1 TO 5 ***********FOUND********** ?SPAC(9-I) FOR J=1 TO 5 ***********FOUND********** ??STR(J,1) ENDFOR ENDFOR 答案: 1). ? SPACE(9+I) 2). ?? STR(I,1) x〖第61题〗(练习题所在文件夹:519) *题目:一球从100米高度自由落下,每次落地后反跳回原高度的 * 一半;再落下,求它在第10次落地时,共经过多少米? * 第10次反弹多高? *注意:不可以增加或删除程序行,也不可以更改程序的结构。 set talk off clear ***********FOUND********** H=0 h1=h/2 ***********FOUND********** FOR I=2 TO 9 ***********FOUND********** H =H+H1 h1=h1/2 endf ? \在第10次落地时,共经过\米\? \第10次反弹\米\SET TALK ON 答案: 1). h=100 2). fori=2to10 3). H=H+2*h1 〖第62题〗(练习题所在文件夹:158) *题目:键盘输入X值时,求其相应的Y值 * ┌ -1 (X<0) * │ * Y=├ 0 (X=0) * │ * └ 1 (X>0) *注意:不可以增加或删除程序行,也不可以更改程序的结构。 SET TALK OFF **********FOUND********** ACCEPT \请输入一个数:\**********FOUND********** DO WHILE CASE X<0 Y=-1 CASE X=0 Y=0 **********FOUND********** DEFAULT X>0 Y=1 ENDCASE ? Y SET TALK OFF 答案: 1). INPUT 2). DO CASE 3). OTHERWISE 或 case x>0
正在阅读:
vfp程序改错04-01
四川省建设工程量清单计价规范实施办法04-10
安徽大学2018年硕士研究生社会与政治学院复试名单 - 图文03-29
小学语文-的得地的用法讲解和练习10-20
三峡税议10-09
女教师工作自查报告范文02-22
部编版六年级上册语文第五单元知识点09-05
水泥搅拌桩施工方案(试桩)03-13
初高中教学衔接(历史)03-09
- 七年级地理上册 第四章 第三节《人类的居住地 - 聚落》教案 人教
- 华为:廖维老师(好讲师网)-向华为学习奋斗:管理模式“文化-团
- 如何在河南公务员面试中迎合考官的心理7
- 护理管理学复习(一)
- 2017-2018学年江苏省泰州市兴化市七年级(上)期中数学试卷(解
- 机械复习题
- 水稳层施工方案
- 灾害性天气及绿化养护
- 发展心理学
- 投标购物中心物业特色增值服务内容
- 中学生不良情绪产生的原因及调节方法的研究
- 描写西溪湿地
- 2017年下半年教师资格证《教育教学知识与能力(中学)》
- 钢材检测标准
- etc的用法
- 现有国内煤系针状焦和国外针状焦质量的比较
- 安徽省合肥一中、六中、一六八中学2017-2018学年高一政治下学期
- 2016春季西交《法学概论》在线作业
- 2014省级课题 - - 张书常 董孟根 - 图文
- 钢板超声波探伤时扫描速度和灵敏度的调节方法