1、1VFP 程序强化训练一、分析程序运行结果1、设 X 和 Y 均为整型变量,下列程序的运行结果为: SET TALK OFFCLEARX=1FOR I=1 TO 50IF X=10EXITENDIFIF X%2=0X=X+5LOOPENDIFX=X-3ENDFOR?XSET TALK ONRETURN2、设 I 为整型变量,则下面程序的执行结果为: CLEARFOR I=10 TO 4 STEP -1IF I%3#0I=I-1ENDIFI=I-2ENDFOR?I3、下面程序的执行结果为: CLEARFOR I=0 TO 1I=I+1FOR J=0 TO 3IF J%2#0LOOPELSEI=I
2、+1ENDIFENDFORI=I+1ENDFOR?I4、下列程序是计算 的,执行后的结果是 X=1S=0DO WHILE XBIF CAC=A+BELSEC=A-BENDIFENDIF?C6、运行下列程序后,输入的 X,Y,.Z 的值分别为 3,4,10,则程序的运行结果为 INPUT “请输入 X 的值:“ TO XINPUT “请输入 Y 的值:” TO YINPUT “请输入 Z 的值:” TO ZIF MAX(X,Y)=60?”计算机等级是”+”及格”CASE 计算机=75?”计算机等级是”+”良好”CASE 计算机=85?”计算机等级是”+”优秀”ENDCASE8、执行如下程序,如果
3、输入 X 的值为 5,则最后 S 的显示值为 SET TALK OFFS=0I=1INPUT “X=” TO XDO WHILE S20STORE .F. TO XENDIFENDDORETURN13、设当前目录下有数据表文件学生表,表中共有 10 条记录,执行下列程序,执行的结果为 USE 学生表GO BOTTOMFOR N=10 TO 1 STEP -1IF BOF()EXITENDIFGO NDISPLAYENDFORUSE RETURNA)仅显示表中第 1 条记录3B)仅显示表中第 10 条记录C)按记录号升序逐条显示表中 10 条记录 D)按记录号降序逐条显示表中 10 条记录14、
4、执行下列程序,运行结果为 CLEARLOCAL A,BA=100DO CASECASE A=10EXITENDIFENDDO?Y16、执行下列程序,运行结果为 CLEARFOR I=10 TO 5 STEP -2IF I%3=0I=I-1ENDIFI=I-2?IENDFOR17、执行下列程序,运行结果为 SET TALK OFFCLEARDIMENSION A(6)FOR K=1 TO 6A(K)=20-2*KENDFORK=5DO WHILE K=1A(K)=A(K)-A(K+1)K=K-1ENDDO?A(1) ,A(3) ,A(5)SET TALK ONRETURN18、执行下列程序,运行
5、结果为 CLEARX=2DO WHILE X1Y=1DO WHILE YX/2S3=S3+1ENDCASEENDDO ?S1,S2,S322、执行下列程序,屏幕第 9 行上显示的内容是 。CLEARSET TALK OFF 4,10 SAY “计算二元二次方程式的值“X=1Y=2 9, 5 SAY “X*2+2*X*Y+Y*2=“ 9,21 SAY X*2+2*X*Y+Y*2SET TALK ONRETURN二、程序填空题1、STD.DBF 中的记录有:姓名(C,8) 、课程名(C,16) 、成绩(N,3,0)等字段,下面一段程序用于显示所有成绩及格的学生的信息,请在程序空缺处作适当的选择。S
6、ET TALK OFFCLEARUSE STDGO TOPDO WHILE .NOT.EOF()IF ?”姓名:”+姓名,”课程:”+课程名,”成绩”+STR(成绩,3,0)ENDIFENDDOUSESET TALK ON RETURN2、已经建立了工资数据库文件 GZB.DBF,要修改其中基本工资字段值,请填空.SET TALK OFFCLEARUSE GZBACCEPT “清除基本工资数据吗?(Y/N)” TO XIF REPLACE ALL 基本工资 WITH 0ENDIFGO TOP BROWSE FIELDS 姓名,基本工资USERETURN3、下列程序用来求 1+2+3+100 的
7、值。S=0FOR S=S+NENDFOR?SRETURN4、逐条显示学生注册表.dbf 中所有女生的记录。USE DO WHILE .NOT. EOF()IF 性别=”男”_ _ _ _ _ ENDIFWAIT ”按任意键显示女生的记录:”DISPLAY_ _ ENDDO5USE 5、完成如下程序,其功能删除STD1.DBFSTD5.DBF 这五个表文件的末记录N=1DO WHILE N=1 年或 NX=3 年或 NX=5 年,利率 LL5%根据输入存款年限,求出相应的利率INPUT “请输入存款年限:” TO _ _ DO CASECASE NX0 ENDIFN=N+1?”S=”+STR(S
8、)RETURN14、逐条显示数据表 STUD.DBF 中的所有女生记录:CLEARUSE STUDDO WHIL IF 性别=男LOOP ENDIFDISPWAIT 按任意键显示下一记录ENDDUSE15、打印如下乘法表,请填空:1 2 3 4 51) 1 2) 2 43) 3 6 974) 4 8 12 165) 5 10 15 20 25程序如下:CLEAR? 1 2 3 4 5J=1DO WHILE ?STR(J,3)+)I=1DO WHILE I=I+1ENDDOJ=J+1ENDDO RETURN16、以下是四川师范大学等级考试成绩查询程序,其成绩表为 KS.DBF, 其字段有考号、姓
9、名、系别、上机成绩、笔试成绩、合格否。请填空:CLEAR ACCEP 请输入考生考号: TO KHLOCA FOR IF NOT DISPELSE?考号有误!USE17、有一“备份程序”如下,其功能是将硬盘上 9 个班的成绩数据表文件复制到 A 盘上。数据表文件名分别为 CHJ1.DBFCHJ2.DBF,.等,备份文件名前面冠以年号,如97CHJ1.DBF, 97CHJ2.DBF,.。在 C 盘上运行该程序CLEARACCEPT 输入年号 TO NH &两位年号I=1DO WHILE I=60N2=N2+1ENDCASEENDDO?”不及格人数:”,N1, ”及格人数:”,N221、以职工表
10、ZGJK 为主表,按职工号对工资表 GZ.DB 建立关联,查询“张军”的工资SELE 2USE GZ INDE ON TAG ZGHA SELE 1USE ZGJK SET RELA TO INTO B LOCA FOR 姓名=张军? 姓名,职称, GZ.基本工资 SET TO &取消关联 CLEA ALL &关闭表22、按程序中的要求填空。SET TALK OFF ACCEPT “输入数据库名:” TO KM USE &KM*连续显示 15 条记录_ _WAITGO BOTTOM*显示最后 4 条记录_ _LIST RESTUSERETURN 23、下列程序的功能是计算 S=1!+2!+10
11、!的值,完成程序填空。S=0FOR N=1 TO 10P=1FOR I=1 TO N ENDFORENDFOR?“SUM=“,S24、学生表中有字段:姓名、计算机和班级号,下列程序是查询并显示所有班级号为“1002“的学生记录,完成程序填空。USE 学生表DO WHILE IF 班级号=“1002“DISPLAYENDIFENDDOUSE25、数据表文件 DA.DBF 存放的是某单位职工的档案。在下面的程序中,用户通过按 A 键或 B 键,分别显示出全体女职工或全体男职工的记录,按 ESC 键可退出程序。已知 A 键的 ASCII 为 65,B 键的 ASCII 为 66,ESC 键的 ASCII 为 27。USE DADO WHILE .T.CLEARWAIT “A全体女职工 B全体男职工 X退出” TO KDO CASECASE LIST FOR 性别=”女” CASE K=B CASE EXITENDCASE9USE