当前位置:首页 >> 其它课程 >>

VFP程序填空与阅读试题


2005 届计算机专业《VFP》程序填空与阅读试卷汇编一 班级 姓名 一、程序填空(每空 3 分,共 27 分) 1.有一商场的商品销售数据库 XS.DBF,其记录如下: 记录号 商品名 单价 数量 总价 1 电冰箱 2000 3 6000 2 彩 电 1800 5 9000 3 电冰箱 2010 1 2010 4 空调机 1600 2 3200 5 彩 电 1900 2 3800 ?? 下面程序用于分类统计各种商品总的销售数量和总的销售额(总价),并计算出平均 销售单价。 SET TALK OFF USE XS INDE ON __________________ TO SY ____________________ TO TJK USE TJK REPL _____________________ LIST USE SET TALK ON 2.任意输入两个正整数 X 和 Y,求 X 与 Y 的最小公倍数。 SET TALK OFF INPUT "X="TO X INPUT "Y="TO Y IF X>Y T=X X=Y Y=T ENDI N=Y DO WHILE N<=__________________ IF ________________ EXIT ENDI N=_______________________ ENDDO ?"最小公倍数是:"+STR(N) SET TALK ON 3.现有一数据库 CJ.DBF,该数据库文件中仅有一个数值型字段"数据",且无记录。要求键盘输 入十个数,将这些数保存到 CJ.DBF 的"数据"字段中,并由大到小显示出来。 SET TALK OFF

CLEA USE CJ K=1 DO WHIL K<=10 _________________ @K+5,1 SAY "第"+STR(K,2)+"数是:" GET 数据 READ __________________ ENDD INDE ON _______________ TO TMP LIST USE SET TALK ON 二、程序填空(每空 3 分,共 18 分) 1.男子 100 米短跑成绩已录入数据库 Male100.DBF,现要求将前 3 名运动员的成绩转入获奖数 据库 gainer.dbf 和 gainer.txt 文件中。 阅读下列程序, 填写空位处的代码,使程序能正确有效地 实现上述要求。 set Talk off clear @14,20 say "请稍候?" use Male100 ___________ on 成绩/D To temp use Temp Copy _________________ To gainer.dbf use gainer copy to gainer.txt _________________ use @14,20 say "操作完毕!" Return 2.现有一户籍数据库 People.DBF,存贮有该地区各位公民的档案资料,现要求按"出生日期"字 段(日期型),以索引查询方式,快速查找并显示所有与指定出生日期相同的记录。 Set Talk off Set Safe off Clear use people Index On 出生日期 To Ipeople Born=" / / " @14,20 Say "请输入查询的出生日期:" Get Bom picture _________ Read ________________________ Do while .NOT.EOF( ).AND. _________________ Display Skip Enddo

use Set Talk on Return 三、程序填空(每空 3 分,共 18 分) 1、在人事档案管理系统中,设有两个数据库: ZGQK.DBF(编号,姓名,性别,职称,部门名,基本工资) ZGGZ.DBF(编号,资金,房租,实发工资) 查询并显示实发工资 1200 元以上的职工姓名及职称,请将程序补充完整。 SET TALK OFF SELE 1 USE ZGQK INDEX TO QK SELE 2 USE ZGGZ LOCA FOR 实发工资>=1200 IF FOUND( ) DO WHILE .NOT.EOF( ) DISP CONT ENDDO ENDIF CLOSE ALL SET TALK ON 2、求 1──100 间能被 5 整除的奇数个数及其和,请将程序被充完整。 SET TALK OFF CLEA I=1 S=0 M=0 DO WHILE IF M=M+1 ENDIF I=I+2 ?M,S ENDO SET TALK ON 四、程序填空题: (每空 3 分,共计 24 分) 1、显示 1 到 100 之间既能被 4 整除又能被 6 整除的整数。 set talk off n=1 do while

if n=n+1 Loop else ? endi Endd 2、向数据库文件 TSK.DBF 中增添新记录。 Set talk off Clear Use tsk An="Y" Do While An="Y" @ @ @ @ 10, 20 11, 20 12, 20 13, 20 say say say say "书号" "书名" "单价" "册数" GET GET GET GET 书号 书名 单价 册数 n

READ WAIT “继续吗?(Y/ N)” Endd Use 3、通过光带式菜单选择并执行子程序,其菜单和子程序名称分别为:数据录入(PG1-1. PRG) 、数据查询(PG2-2. PRG) 、统计报表(PG3-3. PRG) 、退出系统,共四项。 SET TALK OFF DO WHILE .T CLEAR @ 10,26 PROM “1 . 数据录入” @ 11,26 PROM “2 . 数据查询” @ 12,26 PROM “3. 统计报表” @ 13,26 PROM “4 . 退出系统” TO K EXIT ENDI DO &FN ENDDO 4、三个数据库文件;学生入学情况库 XSRX.DBF、本学期学生成绩库 XSCJ.DBF 和教师 情况库 JXK.DBF,和数据库内容如下: USE XSRX LIST OFF 姓名 班级 保送生

张红 2 .T. 李明 4 .T. 王军 2 .F. 赵波 2 .T. USE XSCJ LIST OFF 姓名 数学 英语 计算机 张红 89 92 87 李明 80 97 67 王军 25 78 80 赵波 90 67 91 USE JSK LIST OFF 任课教师 年龄 班级 课程 陈 35 2 数学 李 40 4 物理 孙 38 4 英语 王 29 3 计算机 下面的程序是生成一个新数据库文件 XX.DBF,此数据库文件包括四个字段:姓名、班 级、任课教师、课程,记录是入学时为保送生并且本学期英语成绩在 90 分以上(包括 90 分)的全部学生。 请用正确的语句填空: SET TALK OFF CLEAR SELECT 3 USE JSK SELECT 2 USE XSCJ SELECT 1 USE XSRX JOIN WITH C TO XSRX1 FOR FIELDS 姓名,班级,任课教师,课程 SELECT 4 USE XSRX1 JOIN WITH B TO XX FOR; FIELDS SELECT 5 USE XX LIST SET TALK ON RETURN 11、下面是在“KSDA.DBF“库文件逻辑删除已知准考证号学生的程序: SET TALK OFF ACCEPT “输入待删除考生的准考证号: TO NO ”

USE

KSDA

IF DELETE ENDIF USE RETURN 5.共有五个数据库文件 stdl.dbf~std5.dbf,下面程序的功能是删除每个库文件的末记录。请填 空。 N=l DO WHILE N<=5 AB=_____10_____ USE &AB GO BOTTOM DELETE PACK N=N+1 ENDDO USE 6.下列程序的功能是对输入汉字字符串进行倒序显示,请将程序补充完整。 SET TALK OFF CLEAR AB=" " ACCEPT "请输入字串" TO AB L=LEN(AB) K=1 IF L=0 RETURN ENDIF DO WHILE K<=L @ 10,K SAY _____________________ K= __________________ ENDDO RETURN 7.分析程序,显示的值 A= _____________ ,B= _______________ 主程序 MAIN.PRG SET TALK OFF PUBLIC A STORE 5 TO A,B DO SRB WITH A+B,A,B ? A,B RETURN *子程序 SUB.PRG

PAUAMETERS X,Y,Z DO WHILE Z<X Y=Z+1 Z=Z+1 ENDDO RETURN 8.有一数据库如下,程序功能是修改甲用户和乙用户的定购数量。 . USE DGK . LIST OFF 编号 设备名 甲用户数量 乙用户数量 1 车床 3 4 2 铣床 5 7 3 创床 7 6 程序如下,请补充完整。 SET TALK OFF USE DGK CLEAR @10,10 SAY "甲用户" DO WHILE .NOT.EOF() @11,10 SAY 设备名 GET 甲用户数量 READ SKIP ENDDO _________________________________ @10,10 SAY "乙用户" DO WHILE .NOT.EOF() @11,10 SAY 设备名 _____________________ READ SKIP ENDDO SET TALK ON USE RETURN 9.有一学生库 STUDENT.DBF, 结构为字段, 姓名(C,8), 英语(N,2), 数学(N,2), 奖学金(L,1), 程序功能为确定是否发给奖学金(奖学金为.F.)。若英语数学两门功能都大于或等于 90 分, 则字段奖学金用.T.替换,请对程序填空。 SET TALK OFF CLEAR USE STUDENT DO WHILE .T. IF 英语>=90 .AND. 数学>=90 ______________________ ENDIF SKIP

IF EOF() _____________________________ ENDIF ENDDO RETURN 10.有三个数据库文件 STUD1.DBF,STUD2.DBF,STUD3.DBF,STUD1.DBF 库结构为 学号(C,6),姓名(姓名,8);STUD2.DBF 结构为学号(C,6),系别(C,10);STUD3.DBF 结构为 姓名(C,6),成绩(N,2),现用关联方法显示,成绩大于 90 分的学生情况,并且用物理联结方 法产生一个完整的学生库 STUD.DBF,请在命令序列中填空。 SELECT 1 USE STUD1 SELECT 2 USE STUD2 ALIAS S2 SELECT 3 USE STUD3 ALIAS S3 INDEX ON 姓名 TO STRD3I SELECT 2 INDEX ON 学号 TO STUD3I SELECT 1 SET RELATION TO _____________________ LIST 学号,S3->姓名,S3->成绩 JOIN WITH S3 TO S13 FOR _________________ FEILDS 学号,姓名,S3->成绩 SELECT 4 USE S13 INDEX ON 学号 TO S13I SELECT 2 JOIN WITH S13 TO S123 FOR 学号=D->学号 FIELD _______________________ USE S123 LIST 11. 下 面 程 序 的 功 能 是 根 据 销 售 数 据 文 件 SALE.DBF 中 的 数 据 去 修 改 库 文 件 INVENTRY.DBF 数据,请对程序填空: SELECT 1 USE INVENTRY SELECT 2 USE SALE DO WHILE ____________ SELECT 1 LOCATE FOR 商品名=B->商品名 REPLACE 数量 WITH 数量->B 数量,总金额 WITH 单价*数量 SELECT 2 _________ ENDDO CLOSE DATABASE

12.有计算机等级考试的笔试考试数据库 bsh.dbf 和上机考试数据库 shj.dbf,其内容分别 如下: 笔试数据库 bsh.dbf 上机考试数据库 shj.dbf Record# 姓名 笔试成绩 Record# 姓名 上机成绩 1 欧阳惠 87 1 吴 明友 67 2 陈冬梅 77 2 杨 红 87 3 吴明友 94 3 欧 阳惠 94 4 杨红 60 4 李霞 83 5 李霞 68 5 陈冬梅 75 1)首先执行以下命令序列 SELECT 2 USE shi SELECT 1 USE bsh SET RELATION TO RECNO INTO b LOCATE FOR 笔试成绩<=80 ?姓名 SELECT b ?姓名 执行命令序列后,第一个?命令显示的姓名是__________,第二个?命令显示的姓名是: ____________。 2)仍然使用上面的计算机等级考试的笔试考试数据库 bsh.dbf 和上机考试数据库 shj.dbf,执行以下程序 SELECT 2 USE shj SELECT 1 USE bsh J0IN WITH b TO ks FOR 姓名=b->姓名 FIELDS 姓名,笔试成绩,上机成绩 CLEAR USE ks DO WHILE.N0T.E0F N=1 I=0 J=0 DO WHILE N<=3.AND..NOT.E0F() I=I+笔试成绩 J=J+上机成绩

N=N+I SKIP ENDDO ?"总成绩="+STR(I+J) ENDDO 执行程序后,显示的第一个总成绩是_________,第二个总成绩是____________ 3)接着继续执行以下程序 CLEAR SET DELETED ON USE KS INDEX ON -(笔试成绩+上机成绩) TO ABC COUNT TO S GOTO TOP SKIP DELETE NEXT S-2 COPY TO QAZ USE AQZ LIST 最后显示的第一条记录的姓名是____________,第二条记录的姓名是___________ 14.在下列数据记录修改程序中(屏幕格式文件 ST.FMT 已建立)填空。 SET TALK OFF USE STUDENT SET FORMAT TO ST DO WHILE .T. ACCEPT ‘请输入学生姓名: ’TO NAME LOCATE FOR 姓名=NAME IF EOF() ?‘查无此人! ’ ELSE CLEAR _____________________________ ENDIF WAIT ‘是否继续?(Y/N)’TO GOON IF GOON=`Y' CLEAR LOOP ELSE EXIT ENDIF ENDDO SET FORMAT TO USE SET TALK ON RETURN

15.下列程序的功能是通过字符串变量操作竖向显示 “刻苦学习” 横向显示 , “学习刻苦” , 请填空。 SET TALK OFF STORE “刻苦学习”TO XY CLEAR N=1 DO WHILE N<8 ? SUBSTR( ______________ ) N=N+2 ENDDO ? ______________________ ?? SUBSTR(XY,1,4) RETURN 16.执行以下命令序列: .USE STUD .LIST Record# 姓名 性别 年龄 1 欧阳惠 女 23 2 李明 男 21 3 杨霞 女 24 4 郭昊 男 23 5 吴友 男 25 6 何文强 男 27 .INDEX ON 年龄 TO AGE .SET INDEX TO AGE .SEEK 23 .? 姓名,年龄 欧阳惠 23 .SKIP 2 .? 姓名,年龄 最后一条?命令的显示内容为 ___________________ 17.有三个数据库文件:学生入学情况库 XSQK.DBF、本学期学生成绩库 XSCJ. DBF 和教 师情况 JSQK.DBF 库,各数据库内容如下: .USE XSQK .LIST OFF 姓名 班级 保送生 张平 2 .T. 李明 4 .T. 王军 2 .F. 赵红 2 .T. .USE XSCJ .LIST OFF 姓名 数学 英语 计算机 李明 89 92 88

赵红 80 90 85 张平 89 87 90 王军 90 67 91 .USE JSQK .LIST OFF 任课教师 年龄 班级 课程 刘 34 2 数学 李 40 4 物理 孙 36 4 英语 马 41 3 计算机 下面的程序是生成一个新数据库文件 XSQK2.DBF, 此数据库文件包括四个字段: 姓名、 班级、任课教师、课程。记录是入学时为保送生并且本学期英语成绩在 90 分以上(包括 90 分)的全部学生。请用正确语句填空: SET TALK OFF CLEAR SELECT 3 USE JSQK SELECT 2 USE XSCJ SELECT 1 USE XSQK JOIN WITH C TO XSQK1 FOR _____________________ FIELDS 姓名, 班级, 任课教师, 课程 SELECT 4 USE XSQK1 JOIN WITH B TO XSQK2 FOR ________________ FIELDS __________________ SELECT 5 USE XSQK2 LIST SET TALK ON RETURN 18.有如下程序: STORE 0 TO N,S DO WHILE .T. N=N+1 S=S+N IF N>10 EXIT ENDIF ENDDO ? "S="+STR(S,2) 本程序运行结果是__________________________________ 。 19.有计算机等级考试考生数据库 STD.DBF 和合格考生数据库文件 HG.DBF,这两个库的 结构相同。为了颁发合格证书并备案,把 STD 数据库中笔试成绩和上机成绩均及格记录的

‘合格否’字段修改为逻辑真,然后再将合格的记录追加到合格考生数据库 HG.DBF 中。请 对以下操作填空。 .USE STD .LIST Record# 准考证号 姓名 性别 笔试成绩 上机成绩 合格否 1 11001 梁小冬 女 70 80 .F. 2 11005 林旭 男 95 78 .F. 3 11017 王平 男 60 40 .F. 4 11083 吴大鹏 男 90 60 .F. 5 11108 杨妃红 女 58 67 .F. .REPLACE ______________ FOR 笔试成绩>=60.AND.上机成绩>=60 .USE HG .APPEND FROM STD FOR _________________ .LIST .USE 20.有如下程序段,其功能是将汉字信息"全国计算机等级考试"从屏幕底部移至顶部 ,请填 空: SET TALK OFF SET STATUS OFF X="全国计算机等级考试" CLEAR K=23 DO WHILE K>0 @ K,26 SAY SPACE(34) @ ________________ ,26 SAY X P=INKEY(1) K=K-1 ENDDO 21.有口令程序如下,请填空: SET TALK OFF CLEAR DO WHILE .T. @ 5,20 SAY “请输入口令: ” SET CONSOLE OFF _______________________ SET CONSOLE ON IF DATE ()=PW EXIT ELSE WAIT“口令不对!按任意键重来” CLEAR ENDIF ENDDO

SET TALK ON CLEAR 22.计算机等级考试的考生数据和考试成绩分别放在两个数据库文件中。欲使用关联方法 显示两个库文件的有关数据,请对如下命令序列填空。 .SELECT 1 .USE STUD .LIST Record# 考生编号 姓名 年龄 性别 1 1002 张伟 25 女 2 1004 吴红 30 男 .SELECT 2 .USE STDCJ ALTAS TL .LIST Record# 考生编号 笔试成绩 上机成绩 1 1004 72 85 2 1002 67 92 .INDEX ON 考生编号 TO ABC .SELECT 1 . ____________________ .LIST 考生编号,姓名,性别,B->笔试成绩,B->上机成绩 Record# 考生编号 姓名 性别 B->笔试成绩 B->上机成绩 1 1002 张伟 女 67 92 2 1004 吴红 男 72 85 23.计算机等级考试各考点均有数据库文件 KSCJ.DBF, 其中有关考生成绩的字段值暂空。 省市考区阅卷后建立成绩数据库文件 ST.DBF。下列程序是使用 ST.DBF 中的数据更新考生 数据库数据,请填空补齐命令。 .SELECT 1 .USE KSCJ .LIST Record# 准考证号 姓名 年龄 性别 班号 笔试成绩 上机成绩 合格否 1 1011017 刘 丽 23 女 101 .F. 2 1011083 王 友 28 男 101 .F. .INDEX ON 准考证号 TO AIND .SELECT 2 .USE ST .LIST Record# 准考证号 笔试成绩 上机成绩 1 1011083 90 60 2 1011017 60 40 .INDEX ON 准考证号 TO BIND .SELECT 1

.UPDATE ON 准考证号 ___________ 笔试成绩 WITH B->笔试成绩, 上机成绩 WITH B->上机成绩 .LIST Record# 准 考 证 号 姓 名 年 龄 性 别 班 号 笔 试 成 绩 上 机 成 绩 合 格 否 1 1011017 刘丽 23 女 101 60 40 .F. 2 1011083 王友 28 男 101 90 60 .F. 24.接上题,为了颁发合格证书,把 KSCJ.DBF 数据库中笔试成绩和上机成绩均及格(大于 等于 60 分)记录的合格否字段值修改为逻辑真,然后显示并打印该字段值为真的考生名单。 请对以下命令填空: .USE KSCJ .REPLACE 合格否 WITH ________ FOR _________________ .LIST FOR _______________ TO ___________________ .USE 25.有下列两个程序,主程序是 MAIN.PRG,子程序是 SUBPRO.PRG。执行主程序后,屏 幕第 5 行显示信息 _______________ ,屏幕第 6 行显示信息 __________ 。 * MAIN.PRG SET TALK OFF CLEAR P=10 Q=10 DO WUBPRO WITH P @ 6,6 SAY “Q=”+STR(Q,2) CANCEL * SUBPRO.PRG PARAMETERS Q Q=20 @ 5,6 SAY “Q=”+STR(Q,2) RETURN 26.在 VFP 命令窗口执行下列命令,请填空。 USE ST COUNT TO A ?A (35) GO TOP DELETE NEXT 5 ? RECCOUNT() SET DELETED ON COUNT TO XY ? XY &&显示值 ____________________ ? RECCOUNT() &&显示值 ________________________ 27.计算机等级考试成绩已录入完毕,缺考者的记录上均已打上删除标记“*” 。为计算实 际参加考试者平均分,请在以下命令序列中填空。

.USE STU .SET ________________ .AVERAGE ALL 成绩 TO AVG 28.计算机等级考试考生数据库 DJKS.DBF。 笔试和上机成绩已分别录入其中的“笔试” 和“上机”字段(皆为 N 型)中,此外另有“等级”字段(C 型)。凡两次考试均达到 80 分以上 者,应在等级字段中填入“优秀” 。编程如下,请填空。 SET TALK OFF USE DJKS DO WHILE .NOT.EOF() IF 笔试>=80.AND.上机>=80 ___________________ ENDIF SKIP ENDDO USE SET TALK ON 29.有学生数据库 STUDENT.DBF, 其中编号/N/2 字段的值从开始连续排列。 欲按编号的 1、 9、17、25......规律抽取学生参加比赛,并在屏幕上显示参赛学生的编号,请填空。 SET TALK OFF USE STUDENT DO WHILT .NOT.EOF() IF INT____________________ ?? 编号 ENDIF SKIP ENDDO USE SET TALK ON 30.计算机等级考试的查分程序如下,请填空。 SET TALK OFF USE DJKS INDEX DS ACCEPT “请输入准考证号: ”TO KH FIND ___________________________ 31.下面的程序是将“中华人民共和国”显示为“中 华 人 民 共 和 国” ,请填空。 SET TALK OFF CLEAR X="中华人民共和国" Y=" " DO WHILE LEN(X)>=________ Y=Y+SUBSTR(X,1,2)+" " X=SUBSTR(X,3) ENDDO ?______________

RETURN 32.有程序如下,基功能是将硬盘上若干个班(小于 10) 的成绩数据文件复制到 A 盘上。 数 据 库 文 件 名 分 别 FIL1.DBF,FIL2.DBF ? ? 等 , 备 份 文 件 名 前 面 冠 以 年 号 , 例 如 97BFIL1.DBF,97BFIL2.DBF??等。在 C 盘上运行该程序,请填空。 SET TALK OFF CLEAR ACCEPT "请输入年号:" TO NH &&两位数字年号 INPUT "班级个数:" TO N I=1 DO WHILE I<=N DBN="FIL"+STR(I,1,1) BDBN=_________ USE &DBN COPY TO _______________ I=I+1 ENDDO USE SET TALK ON RETURN 33.下面是按实发工资计算机税金的程序,并将计算结果填入税金字段(假定职工最高实 发工资为 2500 元),请填空。 ***主程序 MAIN.PRG**** SET TALK OFF TAX=0 USE GZ DO WHILE .NOT.EOF() SHFGZ=实发工资 DO SUB_________ ?TAX REPLACE 税金 WITH TAX _____________ ENDDO USE CANCEL ***子程序 SUB.PRG**** __________________ X=0 DO CASE CASE A>=800 .AND. A,1300 X=(A-800)*0.05 CASE A>=1300 .AND. A<1800 B=A-1300 X=B*0.1+500*0.05

CASE A>=1800 .AND. A<2300 B=A-1800 X=B*0.15+500*0.1+500*0.05 CASE A>=2300 B=A-2300 X=B*0.2+500*0.15+500*0.1+500*0.05 ENDCASE RETURN 34.设有图书数据库 TSH,包括字段(总编号,分类号,书名,作者, 出版单位,单价); 读者数据库 DZH(借书证号,姓名,性别,单位,职称,地址);借阅数据库 JY(借书证号, 总编号,借阅日期,备注)。下面程序的功能是打印已借书读者的借书证号、姓名,单位, 以及借阅图书的书名、单价、借阅日期。请阅读程序并填空。 SET TALK OFF SELECT 1 USE DZH INDEX ON 借书证号 TO DSHH SELECT 2 USE TSH INDEX ON 总编号 TO SHH SELECT 3 USE JY SET RELATION TO 借书证号 INTO A __________ LIST ________ TO PRINT CLOSE ALL RETURN 35、设数据库 ABC 有一字段“姓名” ,且以它为关键字索引(索引文件 ABCX.IDX)。因某 种误操作,该数据库有一些重复记录。现编一命令文件进行查找并把重复记录删去。 set talk off use abc index abcx do while ______________ xm=姓名 skip if delete endif enddo _________________ return 五、程序填空 1.本程序求 3 到 100 之间的素数。若数 X 不能被 2 到√x 取整加 1 范围内的任一整数整 除,则 x 为素数。 10 FOR X=3 TO 100 20 FOR Y=________

30 IF ________THEN ________ 40 NEXT Y 50 PRINT X 60 NEXT X 70 END 2.已知数组 M 中是同分到低分排序的六个学生成绩, 现从键盘上再键入第七个学生的 成绩,要求将这个学生的成绩自动插入数组 M 中, 并且保持数组中按高分到低分排序。 10 DIM ___________ 20 FOR K=1 TO 6: READ M(K) 30 NEXT K 40 DATA 96,94,88,80,75,63 50 INPUT X 60 FOR K=1 TO 6 70 IF _____THEN 90 80 NEXT K 90 T=K 100 FOR K=6 TO ____STEP -1 110 _________________ 120 NEXT K 130 M(T)=___________;END 3.设数据库 ABC 有一字段“姓名” ,且以它为关键字索引(索引文件 ABCX.IDX)。因某 种误操作,该数据库有一些重复记录。现编一命令文件进行查找并把重复记录删去。 set talk off use abc index abcx do while ______________ xm=姓名 skip if ________ dele endif enddo _________________ return 六、程序填空(每空 3 分,共 30 分) 1.根据右边的运行结果完善程序: SET TALK OFF CLEAR x=1 DO WHILE 1)1 ?STR(x,3)+’)’ 2)2 4 J=1 3)3 6 9 DO WHILE 4)4 8 12 16 ??STR(1*J,4) 5)5 10 15 20 25 J=J+1 6)6 12 18 24 30 36

END DO ? ‘’

7)7 14 21 28 35 42 49 8) 16 24 32 40 48 56 64 8 9)9 18 27 36 45 54

63 72 81 END DO SET TALK ON RETUEN 2. 下列程序是把“伟大祖国”坚向显示出来,并横向显示“祖国伟大” ,请填空: SET TALK OFF STORE“伟大祖国”TO XY CLEAR N=1 DO WHILE N<8 ?SUBSTR N=N+2 END DO ? ??SUBSTR(XY,1,4) RETIRM 七、程序填空。 (每空 2 分,共 30 分) 1. 有一个数据库 STUDENT.DBF,其中有 C 型字段姓名,以下是一个按姓名查询记录的 程序,若有,则输入学生情况(同名的学生也能输入) ,否则不显示任何信息。 SET TALK OFF ACCEPT 输入查询的姓名: “TO LOCATE ENDDO USE RETURN 2.设有一个学生成绩库 SORE.DBF,其中字段为:学号(C) ,姓名(C) ,语文(N) ,数 学(N) ,计算机(N) ,总分(N) ,平均分(N) 。下面程序实现计算机每个学生的总分和分, 并存储在相应的字段中,然后逐条输出总分前十名的学生记录。 SET TALK OFF USE SCOR.DBF REPLACE ALL 总分 WTTH 语文+数学+计算机 REPLACE ALL 平均分 WTTH INDEX ON -总分 TO ZF I=1+1 DO WHILE DISPLAY I=1+1

ENDDO USE RETURN 3.下列程序用来实现对数据库插入、删除记录的功能,请补充完整。 CLEAR ACCEIP“请输入数据库文件名”TO FILEAME DO WHILE.T. ?″ 1 插入记录″ ?″ 2 删除记录″ ?″ 3 退 出″ WAIT″请输入你的选择″TO CHOICE DO CASE CASE CHOICE=″1″ INPUT ″输入需要插入的记录号:″TO N GOTO N CASE CHOICE=″2″ INPUT″输入需要删除的记录号:″TO N GOTO N DEKETE CASE CHOICE=″3″

ENDCASE ENDDO USE RETURN 4. 设货物库文件 GOODS. DBF 中包括有: 货号、 货名、 单价等字段, 营业员库 EMPLOY、 EE.DBF 包括营业员代码、姓名、性别等字段;销售库 SALE.DEF 中包含有营业员代码、 货号、货名、单价、售出日期、姓名等。阅读下面程序,将程序补充完整。 SELECT1 USE GOODS INDEX ON 货号 TO HH SELECT 2 USE EMPLOYEE INDEX ON 营业员代码 TO DM SELECT 3 USE SALE SET RELATLON TO 货号 INTO A

CLOSE ALL

RETURN 八、 程序填空题(3*8=24 分) 1、程序功能:从键盘输入一个字符串,删除其中的非数字字符,然后输出. SET TALK OFF CLEA RS=SPACE(80) @5,10 SAY “请输入一个字符串:” GET RS READ ST=”” FOR I=1 TO LEN(ALLTRIM(RS)) _______________________ IF ____________________ ST=ST+X ENDIF ENDFOR ?”原字符串为:”+RS ?”新字符串为:”+ST RETU 2 下面为核对口令的程序段,口令最多输入三次,请阅读并填空。 Set talk off Set device to screen Set escape off Clea I=1 Do while .T. @3,2 say “[请输入口令]” set console off accept to pass if upper(pass)=”OK” do main.prg else wait “第”+str(I,1)+”次输入有错” if I=3 @ 4,10 say space(60) endif I=I+1 enddo set talk on return

1. 在 JSDA?DBF 中查找用户输入的编号,如果查找成功,显示教师的职称,否则,显示一 个说明信息。请完成如下程序: CLEAR USE C:\JSGL\JSDA “请输入教师的编号:” TO BH LOCATE FOR 编号= =BH IF DO CASE CASE 职称=“高级教师” WAIT “该教师是高级教师” WINDOW AT 15,50 TIMEOUT 1 CASE 职称=“一级教师” WAIT “该教师是一级教师” WINDOW AT 15,50 TIMEOUT 1 CASE 职称=“二级教师” WAIT “该教师是二级教师” WINDOW AT 15,50 TIMEOUT 1

WAIT “该编号不存在” WINDOW AT 15,50 TIMEOUT 1 ENDIF USE RETURN * 注: AT m,n 在 VisualFoxPro 中,指定信息窗口在屏幕上的位置 2、在 JSDA.DBF 表中查找用户指定的编号。如果查找成功,显示找到的记录,否则,显示 一条说明信息。请完成如下程序。 USE JSDA.DBF DO WHILE .T. CLEAR ACCEPT ”请输入编号: ”TO BH LOCATE FOR IF FOUND( ) DISPLAY ELSE WAIT ”不存在该编号” WINDOW TLMEOUT 1 WAIL ”是否继续查找?(Y/N)” TO ANSWER WINDOW IF UPPER(ANSWER)〈〉 ”Y” ENDIF ENDIF ENDDO USE RETURN 4、使用自定义函数计算 5!=7!+10! 。请完成如下程序。 CLEAR ?”5!+7!+10!=“+ALLTRIM(STR(JS)(5)+JS(7)+JS(10))) RETURN

FUNCTION &&定义自定义函数 XS= FOR N=1 TO X XS=XS*N RETURN ENDFUNC 四、阅读程序,写出程序运行结果(每小题 6 分,18 共) 1.主程序 main.prg 子程序 sub.prg set talk off priv b public a b=5 stor 2 to a,b a=2*b a=a+b return b=a+b ? a,b do sub ? a,b return 程序执行的结果是: 2.对于职工工资数据库 ZGGZ.DBF,执行下面程序。 SET TALK OFF USE ZGGZ INDE ON 工资 TO GZ STOR 0 TO S,N GO TOP DO WHIL .NOT.EOF( ) DO CASE CASE 性另='男' S=S+工资 CASE 职称='工程师' N=N+1 ENDC SKIP ENDD USE SET TALK ON 程序执行后,变量 S 表示__________________ 变量 N 表示___________________。 3.现有学生档案数据库 XSDA.DBF,其记录如下: 记录号 姓名 性别 班级 团员否 1 王 红 女 2 T 2 张长江 男 4 T 3 黄一品 男 2 T 4 高 峰 男 1 F

5 肖 丹 女 6 赵婷婷 女 7 张雅芝 女 8 刘 刚 男 执行下面程序: SET TALK OFF USE XSDA INDE ON 班级 TO BJ N=0 K=班级 GO TOP DO WHILE .NOT.EOF( ) IF K<>班级 ? K,N ENDIF N=N+1 K=班级 SKIP ENDDO ?K,N USE SET TALK ON 程序执行的结果是:

1 2 1 2

F T T F

五、阅读程序,写出程序运行的结果。(每空 3 分,共 18 分) 1.*主程序 main.prg *子程序 sub.prg set Talk off private B public B B=10 A=7 A=N^2 N=3 Return B=5 Do Sub ? A,B Return 程序运行结果为:_______________ ____________ 2.现有 XSCJ.DBF 数据库,其记录内容如下所示: 记录号# 姓名 成绩 1 李梅 78.5 2 张燕 89.5 3 孙静 45.8 4 李雪 65.0 5 杨东 90.0 现依次执行如下命令,试写出程序运行结果 Set talk off

use XSCJ Index on - 成绩 To IXSCJ GO TOP ? 成绩 ____________ skip 2 ? Recno() ____________ use set talk on Return 3.Set talk off Sour="VisualBasic6" N=2 I=1 S=” ” Do while I<4 If Int(/2)=I/2 N=N-3 Else N=N+6 EndIF S=S+Substr(Sour,N,I) I=I+1 Enddo ? S,N Set talk On Return 执行以上程序后,其运行结果为___________

__________

四、阅读程序,写出程序运行结果(每空 4 分,共 16 分) 1、SET TALK OFF CLEA ACCE“输入密码: ”TO STRING ?“破译密码: ” I=1 DO WHILE I<=3 CH=SUBSTR(STRING,I,1) IF CH>=’A’ .AND.CH<=’Z’ CH=CHR(ASC(CH)+32) ELSE IF CH>=’a’.AND.CH<=’z’ CH=CHR(ASC(CH)-32) ENDIF

ENDIF ??CH I=I+1 ENDDO SET TALK ON 输入密码:Aim 破译密码: 。 2、SET TALK OFF I=1 DO WHILE I<=3 J=I DO WHILE J<=3 @I,J SAY “*” J=J+1 ENDDO I=I+1 ENDDO SET TALK ON 程序执行的结果是: 3、SET TALK OFF SM=200 C=’1’ T=’SM’ ? STR(&T,3)+C SET TALK ON 程序执行的结果是: 4、SET TALK OFF USE DA COPY TO DA1 COPY TO DA2 STRU EXTE USE DA2 APPE BLAN REPL FIELD_NAME WITH “出生日期” FIELD_TYPE WITH ‘D’ FILED_LEN , , WITH 8 CREA DA FROM DA2 APPE FROM DA1 SET TALK OF 程序的功能是: 四、阅读程序,写出程序的执行结果。每输出项 4 分,共 24 分。 1、 SET TALK OFF CH = “? + -*/?” N=1 DO WHILE N< = LEN (CH) -2 M = SUBSTR (CH,N +1,1)

X = 4 &M. N Y = 2 &M. N ?? X &M . Y N = N+1 ENDDO RETURN 程序执行后所显示的结果依次是: 2、*主程序:MALN.PRG SET TALK OFF SET PROC TO P123 PUBLIC A, B STORE 1 TO A,B,C DO P1 ? "A = " , A DO P2 ? "B = ", B ? "C = ", C CLOS PROC RETURN *****P123.PRG PROC P1 A=A*2+1 RETU PROC P2 PRIV C B=B*4+1 C=C*2+1 DO P3 RETU PROC P3 C=C*2+5 RETU 程序执行后所显示的结果依次是: 3、现有数据库 XSDQ. DBF,其记录内容如下: Record # 班级别 年龄 1 A 20 2 A 21 3 A 19

姓名 程小平 邓金山 刘 刚

性别 女 男 男

4 22 5

B B

高大宣 习有兰

男 女

20 现依次执行如下命令,试写出程序运行结果。 USE XSDA INDEX ON STR (年龄,2) + 班级 GO TOP ?RECNO ( ) ,姓名 GO BOTT ? RECNO ( ) ,姓名

TO

XS

INDEX ON 姓别 + STR (30-年龄,2)TO GO TOP SKIP 2 ? RECNO ( ) ,姓名 USE 8、输出下列图形,请把 QBASIC 程序补充完整。 A BBB CCCCC DDDDDDD EEEEEEEEE

XS

K=ASC( “A” ) FOR I=1 TO 5 FOR J=1 TO PRINT TAB(6-I+J) ;CHR$( ) NEXT J K= PRINT NEXT I END 9、下列 QBASIC 程序是键入任意的三个数时,将按从大到小的顺序输出,请将程 序补充完整。 INPUT “A,B,C” ;A,B,C IF A<B THEN SWAP A,B END IF IF THEN END IF

IF B<C THEN SWAP B,C END IF PRINT A,B,C END 三、读程序(每题 15 分) 1.写出下面 QBASIC 程序运行后输出的结果 FOR I=1 TO 8 Y=1 FOR J=1 TO 10 FOR K=1 TO 5 X=X+1 Y=Y+1 NEXT K NEXT J NEXT I RPINT “Y=” ;Y END 结果为: 2.写出下面 QBASIC 程序运行后输出的结果 CLS DIM A(3,3) ,B(3,3) FOR I=1 TO 3 FOR J=1 TO 3 READ A(I,I) PRINT A(I,J) ; NEXT J PRINT NEXT I END DATA 1,2,3,4,5,6,7,8,9 结果为: 3.在下面 FOXBASE+程序中,要使程序继续循环,变量 K 的输入值应为 ① WHIE .T. K=“Y” @10,10 GET K READ IF UPPER(K)$“YN” EXIT ENDIF ENDDO

程序结束后 K 的值是 4.下列 FOXBASE+程序 SET TALK OFF DIME M(2,3) I=1 DO WHILE I<=2 J=1 DO WHILE J<=3 M(I,J)=I*J ?? M(I,J) ," " J=J+1 ENDDO ? I=I+1 ENDDO RETURN 运行此程序的结果是 6.阅读下面程序,执行程序后,S= ______。 SET TALK OFF N=10 S=0 .DO WHILE N>0 S=S+N IF MOD(N,2)=0 N=N+1 ELSE N=N-2 ENDIF ENDDO ? "S=",S 12.阅读程序写出运行结果。 *主程序 MAIN.PRG SET TALK OFF SET PROCEDURE TO PROA123 PUBLIC I,J I=1 DO PROC1 ? "I="+STR(I,2) J=1 K=1 DO PROC2 ? "J="+STR(J,2) ? "K="+STR(K,2)



SET TALK ON RETURN *子程序文件 PROC123.PRG PROCEDURE PROC1 I=I*2+1 RETURN PROCEDURE PROC2 PRIVATE J J=I*2+1 K=2*K+1 DO PROC3 RETURN PROCEDURE PROC3 K=K*K RETURN MAIN.PRG 运行结果是 I= __________ ,J= _________ ,K= ___________ 。 20.有程序段如下: STORE 0 TO X,Y DO WHILE.T. X=X+1 Y=Y+X IF X>=100 EXIT ENDIF ENDDO ?"Y="+STR(Y,3) 这个程序是计算______的,执行后的结果是______。 2.执行如下命令序列 .USE STUDENT .LIST Record# 姓 名 学号 年龄 性别 1 李 红 098765 20 男 2 王 菩 123456 19 男 3 赵 师 345678 21 女 4 刘 知 863745 18 男 5 钱 生 374951 20 女 6 杨 博 903278 18 女 .INDEX ON 年龄 TO STU .FIND 20 .SKIP .DISP 姓名 最后一条命令显示的学生姓名是______。

3.有如下一段程序: INPUT "请输入当前日期:" TO RQ ?RQ+29 在执行本程序时,用户应当输入______,显示结果才是:12/27/98。 4.有如下一段程序: SET STATUS OFF SET COLOR TO/G CLEAR X=79 SET COLOR TO/R DO WHILE X>39 @ 0,X TO 23,X CLEAR @ 0,79-X TO 23,79-X CLEAR X=X-0.2 ENDDO() 执行本程序的屏幕效果是___________________. 15.有程序段如下: STORE 0 TO X,Y DO WHILE.T. X=X+1 Y=Y+X IF X>=100 EXIT ENDIF ENDDO ?"Y="+STR(Y,3) 这个程序是计算______的,执行后的结果是______。

3.阅读下列程序,并填写运行结果。 SET TALK OFF CLEAR STORE 1 TO N STORE 20 TO M DO WHILE N<=M IF MOD(N,2)=0 N=1+N^2 M=M+1 ELSE N=N+1 ENDIF ENDDO ?N

?M SET TALK ON RETURN 运行结果 N 的值是__________,M 的值是____________。 1.有如下程序: store 'name' to s s=lower(s)+str(len(s),1) t='孙猴子' x='桃子' a=substr(t,1,4)+substr(t,at('y',x)2) ?'&a,吃&x' 回答:(1)内存变量 s 的值为_________ (2)程序的最后输出结果为_________ 2.set talk off x=0 y=0 do while x<20 x=x+1 if int (x/2)=x/2 loop else y=y+x endif enddo ?"y="+str(y,4) set talk on return 程序运行结果是_______ 四、写出以下程序运行的结果(每小题 6 分,共 18 分) 1.10 FOR I=1 TO 5 20 READ A(I) 30 PRINT TAB (I); A(I) 40 NEXT I 50 RESTORE 60 PRINT TAB(I);A(I) 70 DATA 0,1,2,1,2 80 END 2. 10 A $="ABCDE" 20 FOR I=1 TO 5 30 FOR J=1 TO 2*I 40 PRINT TAB(J); 50 PRINT MID$(A$,I,1); 60 NEXT J

70 PRINT 80 NEXT I 90 END 3. SET TALK OFF CLEAR N=1 DO WHILE N<7 M=1 DO WHILE M<2*N @N,20-N+M SAY "*" M=M+1 ENDDO N=N+1 ENDDO SET TALK ON RETURN 2. 阅读程序,并给出运行结果: SET TALK OFF CLEAR STORE 1TO X STORE20 TO Y DO WHILE X<=Y IF INT (/2)<>X/2 X=1+X~2 Y=Y+1 LOOP ELSE X=X+1 END IF END DO ?X ?Y SET TALK ON RETURN 运行结果 X 的值 ,Y 的值是 。 4.已知有如下程序。 * main.prg *子程序 sub.prg set talk off para 半径,周长,面积 半径=2 周长=2*3.14*半径 周长=3 面积=3.14*半径*半径 面积=4 return do sub with 面积,周长,半径 ?“半径=” ,半径, “周长, “面积=” ,面积

执行 main.prg 后,主程序最后的输出语句的结果为: 半径= ,周长= ,面积= 1.写出下列程序的运行结果(16 分) * AZ.PRG 主程序 set talk off store 5 to A, B, C do Azl WITH A, B, C ? A, B, C set talk on return *AZ1.PTG PARA A1, B1, C1 A1=B1+C1 B1=A1+C1 C1=A1+B1 ?A1!,B1,C1 DC AZ2 WITH A1,B1,C1 ?A1,B1,C1 RETURN *AZ2.PRG 子程序 2 PARA A2,B2,C3 RETURN ⑴该程序的运行结果为: (1 六、程序分析题(3*6=18 分) 1 store 0 to i, s do while .t. if s<50 i=i+3 else exit endif s=s+i enddo ? i, s return 程序运行后输出的 i 和 s 的值分别为________和________。 2 clear dimension a(12) a=0 for i=1 to 12 @ i, 1 say "a("+str(i)+")=" get a(i) read endfor

x=a(1) for i=2 to 12 if a(i)>x x=a(i) endif endfor ?x return 3 SET TALK OFF Clear Dime A(6) K=2 Do while k<=6 A(k)=20-2*k K=k+1 Enddo K=5 Do while k>=2 A(k)=a(k)/a(4)-10) K=k-1 Enddo ?a(1),a(6) set talk on return 运行程序后屏幕上输出的结果为




赞助商链接
相关文章:
vfp程序填空题
v​f​p​程​序​填​空​题 暂无评价|0人阅读|0次下载|举报文档《VFP 程序设计》习题程序填空: 1.计算前若干个自然数之和,直到和数超过一万...
VFP程序设计填空改错试题及答案
暂无评价|0人阅读|0次下载|举报文档VFP程序设计填空改错试题及答案_IT认证_资格考试/认证_教育专区。VFP程序设计填空改错试题及答案 题...
VFP程序填空题
暂无评价|0人阅读|0次下载|举报文档VFP程序填空题_理学_高等教育_教育专区。VFP复习题 VFP 程序填空题(134 空) 程序填空( 说明: 说明: 无标识 …… 基本题...
VFP程序填空补充练习题
暂无评价|0人阅读|0次下载|举报文档 计​算​机​考​试程序填空补充练习题 1.完善下列程序,以显示 7~1000 以内能被 7 整除且含有数字 5 的所有整数...
VFP程序填空
程序运行时,从键盘输入包裹的重量,自动计算并输出需要付的运费,如果输入的数 据...VFP程序填空阅读试题 36页 免费 vfp程序填空题 4页 免费 vfp填空题 7页 ...
VFP程序解析填空
暂无评价|0人阅读|0次下载|举报文档VFP程序解析填空_IT认证_资格考试/认证_教育专区。一、程序填空题的应试技巧程序填空题采用的是选择填空,在做题时可采用以下方法...
中职VFP综合复习之程序填空题
暂无评价|0人阅读|0次下载|举报文档 中职VFP综合复习之程序填空题_计算机软件及应用_IT/计算机_专业资料。程序填空是高考VFP专业必考的项目,这里的题型比较全面,希望...
VFP填空题(有答案)
vfp填空题(附答案) 4页 10财富值 VFP程序填空题 14页 1财富值 VFP填空题(...加入阅读会员!获取下载券 登录百度文库,专享文档复制特权,财富值每天免费拿!现在...
VFP程序设计题选解
VFP程序设计题选解 - 程序改错和填空题选 程序设计题选 1、求 100 以内最大的自然数 N,使得从 1 开始的连续 N 个自然数的倒数之和小于 3.5。 SET TALK ...
计算机VFP程序设计综合
暂无评价|0人阅读|0次下载|举报文档 计算机VFP程序设计综合_三年级数学_数学_小学...程序填空 共 6 题 (共计 30 分) 第 1 题(5.0 分) *---*【程序填空...
更多相关文章: