VFP程序填空与阅读试题

更新时间:2024-01-11 09:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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 \ INPUT \ IF X>Y T=X X=Y Y=T ENDI N=Y

DO WHILE N<=__________________ IF ________________ EXIT ENDI

N=_______________________ ENDDO

?\最小公倍数是:\ SET TALK ON

3.现有一数据库CJ.DBF,该数据库文件中仅有一个数值型字段\数据\且无记录。要求键盘输入十个数,将这些数保存到CJ.DBF的\数据\字段中,并由大到小显示出来。 SET TALK OFF

CLEA USE CJ K=1

DO WHIL K<=10 _________________

@K+5,1 SAY \第\数是:\ 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 \请输入查询的出生日期:\ 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

? n endi

Endd

2、向数据库文件 TSK.DBF 中增添新记录。 Set talk off Clear

Use tsk

An=\

Do While An=\

@ 10, 20 say \书号\ GET 书号 @ 11, 20 say \书名\ GET 书名 @ 12, 20 say \单价\ GET 单价 @ 13, 20 say \册数\ GET 册数 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 \请输入字串\ 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

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

?\总成绩=\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

? \

本程序运行结果是__________________________________ 。

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.计算机等级考试成绩已录入完毕,缺考者的记录上均已打上删除标记“*”。为计算实际参加考试者平均分,请在以下命令序列中填空。

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 肖 丹 女 1 F 6 赵婷婷 女 2 T 7 张雅芝 女 1 T 8 刘 刚 男 2 F 执行下面程序: 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

程序执行的结果是:

五、阅读程序,写出程序运行的结果。(每空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=\ 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 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)

D’,FILED_LEN ‘ 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 ? \DO P2 ? \ B ? \ 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 B 高大宣 男 22

5 B 习有兰 女 20

现依次执行如下命令,试写出程序运行结果。 USE XSDA

INDEX ON STR (年龄,2) + 班级 TO XS GO TOP ?RECNO ( ),姓名

GO BOTT

? RECNO ( ),姓名

INDEX ON 姓别 + STR (30-年龄,2)TO XS GO TOP SKIP 2

? RECNO ( ),姓名

USE

8、输出下列图形,请把QBASIC程序补充完整。 A BBB CCCCC DDDDDDD EEEEEEEEE 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 ? \

12.阅读程序写出运行结果。 *主程序MAIN.PRG SET TALK OFF

SET PROCEDURE TO PROA123 PUBLIC I,J I=1

DO PROC1 ? \ J=1 K=1

DO PROC2 ? \ ? \

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

?\

这个程序是计算______的,执行后的结果是______。

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 \请输入当前日期:\ ?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

?\

这个程序是计算______的,执行后的结果是______。

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

?\ 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 $=\ 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 \ 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

运行程序后屏幕上输出的结果为 。

本文来源:https://www.bwwdw.com/article/wqko.html

Top