第五章 结构化程序设计
第五章 结构化程序设计
一、选择题
1、WAIT 命令用于让用户输入一个 。
A) 数字
B) 字符
C) 字符串 D) 以上都是
2、在交互式输入命令中,可以接受逻辑型数据的命令包括______。
A)INPUT 和ACCEPT B)WAIT 和INPUT
C)INPUT 和@„GET D)INPUT和@„SAY
3、执行命令 ACCEPT″请输入数据:″TO XYZ 时, 可以通过键盘输入的内容包括______。
A) 字符串 C) 数值, 字符串和逻辑值
B) 数值和字符串
D) 数值, 字符串, 逻辑值和表达式
4、执行命令INPUT ″请输入数据:″TO AAA 时, 如果要通过键盘输入字符串, 应当使用的定界符包括______。
A) 单引号 C) 单引号、双引号或方括弧 A)ACCEPT
B) 单引号或双引号
D) 单引号、双引号、方括弧或圆点 B)ACCEPT 和WAIT
5、在VFP 中, 可以通过键盘接受数值的命令有_______。
C)INPUT 和ACCEPT D)INPUT 和 @ 5,10 SAY...GET..
6、比较WAIT 、ACCEPT 和INPUT 三条命令,需要以回车键表示输入结束的命令是_____。 A)WAIT、ACCEPT 、INPUT
C)ACCEPT 、INPUT A) 将输入作为字符接收 C) 将输入作为逻辑型数据接收
B)WAIT 、ACCEPT D)INPUT 、WAIT
B) 将输入作为数值接收 D) 将输入作为备注型接收
7、以下关于ACCEPT 命令的说明,正确的是______。
8、结构化程序设计所规定的三种基本控制结构是_______。
A) 输入, 处理, 输出 C) 顺序, 选择, 循环
B) 树型, 网型, 环型 D)主程序, 子程序, 函数
9、能将高级语言编写的源程序转换成目标程序的是_______。
A) 编程程序
B) 编译程序 C) 解释程序 D) 链接程序
10、VFP 中的DO CASE-ENDCASE语句属于_______。
A) 顺序结构
B) 选择结构 C) 循环结构 D) 模块结构
11、当前数据库中有五个字段:学号(C,4)、姓名(C,6) 、政治(N,3.0) 、英语(N,3.0) 、数学(N,3.0),记
录指针指向一个非空的记录。要使用SCATTER TO X命令把当前记录的字段值存到数组X 中, 数组X ______。
A) 不必事先定义 B) 必须用DIMENSION X 事先定义 C) 必须用DIMENSION X(5)事先定义
D) 必须用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义
12、要判断数值型变量Y 是否能够被7整除, 错误的条件表达式为______。
A)MOD(Y,7)=0 A)TXT
B)INT(Y/7)=Y/7 B)PRG
C)0=MOD(Y,7)
D)INT(Y/7)=MOD(Y,7)
13、在VFP 中, 命令文件的扩展名是______。
C)DBT D)FMT
14、以下有关VFP 中过程文件的叙述, 其中正确的是______。
A) 先用SET PROCEDURE TO 命令关闭原来已打开的过程文件, 然后用DO 执行 B) 可直接用DO 执行
C) 先用SET PROCEDURE TO 命令打开过程文件, 然后用USE 执行 D) 先用SET PROCEDURE TO 命令打开过程文件, 然后用DO 执行 15、执行 SET DEVICE TO PRINT 命令之后,能在打印机上实现输出的命令是______。 A)? 姓名
B)@ 10,10 SAY 姓名 C)LIST 姓名 D)@ 10,10 GET 姓名
16、一个过程文件最多可以包含128个过程,每个过程的第一条语句是______。
A)PARAMETER B)DO C) D)PROCEDURE
17、在下列命令组合中,不能配对使用的是______。
A)@ PROMPT 和 MENU TO
B)DO WITH和 PARAMETERS
C)IF 和 ENDIF D)DO CASE和 ENDDO 18、在VFP 中,用于建立或修改过程文件的命令是_______。
A)MODIFY C)MODIFY PROCEDURE
B)MODIFY COMMAND D)CREATE COMMAND
19、在VFP 中,可以在同种类型的数据之间进行“-”(减号) 运算的数据类型是______。
A) 数值型、字符型、逻辑型 C) 数值型、日期型、逻辑型
B) 数值型、字符型、日期型 D) 逻辑型、字符型、日期型
20、要在屏幕的第二行第二列开始显示姓名(C,8),存款数额(N,6,2)和存入日期(D)三个字段的值, 应该使用
命令______。 A)@ 2,2 SAY 姓名, 存款数额, 存入日期 B)@ 2,2 SAY 姓名+存款数额+存入日期
C)@ 2,2 SAY 姓名+STR(存款数额,6,2)+DTOC(存入日期) D)@ 2,2 SAY 姓名+STR(存款数额,6,2)+CTOD(存入日期)
21、在DO WHILE/ENDDO循环中,若循环条件设置为.T. ,则下列说法中正确的是 。
A) 程序无法跳出循环 C) 用EXIT 可以跳出循环 A) PROCEDURE
B) 程序不会出现死循环 D) 用LOOP 可以跳出循环
22、用户自定义函数或过程中接受参数,应使用 命令。
B) FUNCTION C)WHILE D)PARAMETERS
23、用户自定义函数或过程可以定义在 。
A) 独立的程序文件 C) 数据库的存储过程中 A) 全局
B) 对象的事件代码、方法代码中 D) 过程文件
24、在命令窗口赋值的变量默认的作用域是 。
B) 局部 C) 私有 D) 不一定
25、使用命令DECLARE mm(2,3)定义的数组,包含的数组元素(下标变量) 的个数为 。
A)2个
B)3个
C)5个
D)6个
26、下列 语句可以将变量A 、B 的值互换。
A)A=B B)A= (A+B)/2 C)A=A+B
D)A=C
B=A B= (A-B)/2 B=A-B C=B A=A-B B=C 27、结构化程序设计的三种基本逻辑结构是______。
A) 选择结构、循环结构和嵌套结构 C) 选择结构、循环结构和模块结构 A) 没有返回值 B) 返回0
B) 顺序结构、选择结构和循环结构 D) 顺序结构、递归结构和循环结构
D) 返回.F.
28、如果一个过程不包含RETURN 语句,或RETURN 语句中没有指定表达式,那么该过程_____。
C) 返回.T.
29、作为整个应用程序入口点的主程序至少应具有以下功能_____。
A) 初始化环境
B) 初始化环境、显示初始的用户界面、控制事件循环,退出时恢复环境 C) 初始化环境、显示初始用户界面 D) 初始化环境、显示初始用户界面、控制事件循环 30、下面关于过程调用的陈述中,______是正确的。
A) 实参与形参的数量必须相等
B) 当实参的数量多于形参的数量时,出现运行时错误。 C) 当形参的数量多于实参的数量时,多余的实参为逻辑假 D) 上面B 和C 都对
31、将内存变量定义为全局变量的Visual FoxPro命令是______。
A)LOCAL
B)PRIVATE
C)PUBLIC
D)GLOBAL
32、下列说法中正确的是______。
A) 若函数不带参数,则调用时函数名后面的圆括号可以省略 B) 函数若有多个参数,则参数名间应用空格隔开 C) 调用函数时,参数的类型、个数和顺序不一定要一致 D) 调用函数时,函数名后的圆括号不论有无参数都不能省略
33、在VFP 中, 已经建立了一个过程文件ABC.PRG, 打开此过程文件的命令是 。
A) OPEN PROCEDURE TO ABC C) SET PROCEDURE TO ABC 34、顺序键入以下命令: STORE ″21.47″TO A B=INT(&A+4) ? B
屏幕上显示的结果为 。
A)24
B)25
C)25.47
D)21.474
B) DO PROCEDURE ABC D) RUN PROCEDURE ABC
35、设数据库文件STD.DBF 中包含8个字段,并有以下命令序列: DIMENSION DATA(10) USE STD
SCATTER TO DATA ? DATA(10)
执行以上命令序列后,屏幕显示的结果是 。
A) 空
B).T.
C).F.
D)0
36、有以下命令序列: STORE 123.456 TO A STORE STR(A+A,5) TO B ? LEN(B),B
执行以上命令序列, 最后一条命令显示的结果是 。
A)3 123 B)3 264 37、给出以下程序的运行结果:
SET TALK OFF X=0 Y=0
DO WHILE X
X=X+1
IF INT(X/2)=X/2
LOOP ELSE
Y=Y+X
ENDIF ENDDO ? "Y=",Y RETURN
运行结果为______。 A) Y=500
B) Y=1500
C) Y=2000 D) Y=2500
C)5 246
D)5 247
38、有如下两个程序段:
*****程序段 1***** USE CLASS
*****程序段 2***** USE CLASS
LOCATE FOR 政治面目="团员" DO WHILE FOUND() DISPLAY
LOCATE FOR 政治面目="团员" DO WHILE政治面目="团员"
DISPLAY SKIP
CONTINUE ENDDO
ENDDO
若在完全相同的环境下分别执行上面的两个程序段,则______。 A) 程序段2输出的记录不可能比程序段1输出的记录多 B) 程序段1输出的记录不可能比程序段2输出的记录多 C) 程序段1和程序段2输出的记录一样多 D) 无法判定
39、在使用@命令进行格式化输入时, 为了保证只输入字母, 应该在PICTURE 短语中使用模式符______。
A)A
B)X
C)N
D)Z
40、有如下程序段:
DO CASE
CASE X>100
?? ″1″ CASE X>200
?? ″2″ OTHERWISE
?? ″3″
ENDCASE
若在X=300的情况下执行这个程序段,屏幕上将显示______。 A)1
B)2
C)12
D)3
41、有如下命令序列:
X=″A ″ Y=X
A=″黄河长江″ ? X+&X-Y-&Y
执行以上命令序列后,屏幕显示表达式X+&X-Y-&Y的结果是______。 A) 黄河长江 C)A 黄河长江A
B)A 黄河长江A 黄河长江 D)A 黄河长江黄河长江
42、有如下命令序列: SET DELETED ON USE ABC GO 3
DELETE NEXT 2 GO 4 RECALL USE
执行最后一条RECALL 命令时,去掉删除标记的记录个数是______。
A)0
B)1
C)2
D)3
43、已知proc.prg 程序清单如下: proc_1.prg程序清单如下: SET TALK OFF PARAMETERS a,b n=20 b=a*b t=1 IF a
SET TALK ON DO proc_1 WITH a-2,b RETURN RETURN
程序proc.prg 的功能是______。 A) 输出20以内偶数的乘积 C) 输出结果为1
B) 输出20以内奇数的乘积
D) 输出结果为0
44、有如下命令序列:
SELECT 1 USE F1
USE F2 SELECT 1
SET RELATION TO RECNO()-2 INTO B GOTO 5 ?RECNO(2)
最后一条命令的输出结果是 。 A)5
B)4
C)3
D)1
45、清除屏幕从10行,17列到14行,52列的正确语句是 。
A)@10,17 TO CLEAR 14,52 C)@10,17 TO 14,52 CLEAR
B)@10,17 CLEAR 14,52
D)CLEAR FROM @10,17 TO 14,52
46、有如下命令序列
SELECT 1 USE FILE1 SELECT 2 USE FILE2 SELECT 3 USE FILE 3
执行以上命令序列后, 要想向FILE2.DBF 中追加记录, 同时保持数据库打开的状态不变, 应当使用命令 。
A) USE FILE2 B) GO FILE2 C) SELECT 2
D) SELECT 4
APPEND APPEND APPEND USE FILE2 APPEND 47、有如下命令
DISPLAY 姓名, 出生日期 FOR 性别=″女″
执行这个命令后, 屏幕显示的是所有性别字段值为“女”的记录, 这时文件指针_____。 A) 指向最后一个性别为″女″的记录
B) 指向最后一个性别为″女″的记录的下一个记录 C) 指向文件尾
D) 状态视库文件中数据记录的实际情况而定
48、有如下命令序列
CLEAR MEMORY DIMENSION ARRAY(10) LIST MEMORY
最后一条命令显示定义的内存变量的数是 。 A)10
B)1
C)0
D)11
49、在命令文件中, 调用另一个命令文件用命令 。
A) CALL C) PROCEDURE 50、执行下列语句序列
A=2200 DO CASE CASE A
CASE A>1000
B=10/100
CASE A>2000
B=15/1000
CASE A>3000
B=20/100
B) LOAD D) DO
变量B 的值是 。
A)0.05 B)0.10 51、有以下程序段:
DO CASE
CASE 计算机
?″计算机成绩是:″+″不及格″
CASE 计算机>=60
?″计算机成绩是:″+″及格″ CASE 计算机>=70
?″计算机成绩是:″+″中″ CASE 计算机>=80
?″计算机成绩是:″+″良″ CASE 计算机>=90
?″计算机成绩是:″+″优″
ENDCASE
设学生数据库当前记录的“计算机”字段的值是89, 执行上面程序段之后, 屏幕输出 。
A) 计算机成绩是:不及格 C) 计算机成绩是:良 USE ZGGZ
SUM 工资 FOR 工资>=500 TO QWE
COPY TO QAZ FIELDS 职工号, 姓名 FOR 工资>=500 USE QAZ NUM=RECCOUNT() AVER=QWE/NUM ? AVER
最后显示的值是 。
A) 所有工资在500元以上的职工人数 B)所有工资在500元以上的职工平均工资数 C) 所有职工的平均工资数 D)出错 53、有以下程序段:
@5,10 SAY "请输入1─4" GET ANS READ
CX="PG"+ANS+".PRG" DO &CX
其功能是根据用户输入的数字, 转去执行子程序PG1、PG2、PG3、PG4之一。但该程序段有一个明显的
错误, 为此应当做以下修改 。 A) 增加STORE " " TO ANS 作为第一条命令
B) 把@ 5,10 SAY "请输入1─4" TO ANS 命令改为 ACCEPT " 请输入1─4" TO ANS C) 把 CX="PG"+ANS+".PRG" 命令中的"+".PRG" 部分去掉 D) 把DO &CX 命令的&去掉 54、执行如下程序 SET TALK OFF S=0 I=1
INPUT "N=?" TO N DO WHILE S
B) 计算机成绩是:及格 D) 计算机成绩是:优
C)0.15
D)0.20
52、执行以下命令序列:
? S SET TALK ON
如果输入N 值为5, 则最后S 的显示值是 。
A)1 STORE "" TO PT
@ 5,10 SAY "是否开始打印?(Y/N):"
@ 3,10 GET PT VALID PT $"YN" PICTURE"!" READ IF PT="Y"
DO PT.PRG && 打印 ENDIF
如果希望程序执行后能够实现打印输出,则对于程序的提问 。 A)只能输入 Y B) 只能输入y STORE "" TO ANS DO WHILE .T. CLEAR
@ 3,10 SAY "1.添加2. 删除 3.修改 4.退出" @ 5,15 SAY "请输入选择:" GET ANS READ
IF TYPE("ANS")="C".AND.VAL(ANS)<=3.AND.VAL(ANS)<>0 PROG= "PROG" +ANS+ ".PRG" DO & PROG ENDIF QUIT ENDDO
如果在" 请输入选择:"时,键入4,则系统 。 A) 调用子程序PROG4.PRG C) 返回FOXBASE 提示状态
B) 调用子程序&PROG.PRG C) 输入Y 或y
D) 可以直接敲回车键
B)3
C)5
D)6
55、某程序中有如下程序段:
56、执行如下程序:
D) 返回操作系统状态
以下57~62题的操作均基于下面条件:
已建立学生数据库STD.DBF ,数据库结构为:学号(C,6),姓名(C,8),性别(C,2),出生日期(D),平均成绩(N,6,2)。用LIST 命令显示记录如下:
记录号# 学号 姓名 性别 出生日期 平均成绩 1 2 3 4 5
021501 刘淑敏 021502 杨立宏 021503 马燕 021504 赵雅洁 021505 王力军
女 男
10/05/84 03/12/85 09/23/84 12/10/84 11/21/84
88.2 70.6 67.2 80.8 90.5
女
女 男
57、依次执行以下命令:
USE STD 姓名="郑小洋" SKIP 2
? ″姓名是:″+姓名
最后一条命令的输出结果是 。
A) 姓名是:郑小洋 B) 姓名是:马燕 C) 姓名是:杨立宏 D) 姓名是:赵雅洁
58、使用INDEX ON 性别+DTOC(出生日期,1) TO RQ建立索引之后,接着执行LIST 命令,所显示记录的姓
名顺序是 。 A) 王力军、杨立宏、马燕、刘淑敏、赵雅洁 B) 马燕、刘淑敏、赵雅洁、王力军、杨立宏
C) 杨立宏、王力军、赵雅洁、刘淑敏、马燕 D) 刘淑敏、杨立宏、马燕、赵雅洁、王力军
59、索引文件打开后,下列命令操作中不受索引文件影响的是 。
A) SKIP
USE STD
INDEX ON 性别 TO XB TOTAL ON性别 TO STD_1
执行以上程序段之后,数据库STD_1.DBF中的记录个数为 。 A)1
B)2
C)3
D)4
61、上题所生成的数据库STD_1.DBF中被汇总的字段是 。
A) 记录个数
B) 平均成绩
B) DISPLAY ALL C) FIND
D) GO 5
60、有如下程序段:
C) 平均成绩、出生日期 D) 平均成绩、出生日期、记录个数
62、要显示当前记录的学号,姓名,性别,以下命令错误的是 。
A) ? 学号, 姓名, 性别
B) DISPLAY学号, 姓名, 性别
C) @ 5,10 SAY学号, 姓名, 性别 D) @ 5,10 SAY学号+姓名+性别
二、填空题
1、PUBLIC 用于定义 。在本次Visual FoxPro运行期间,所有过程都可以使用这些变量。 2、VFP 根据表达式的 来确定表达式的类型。
3、命题“n 是小于正整数k 的偶数”用逻辑表达式表示是 。
4、PRIVATE 用于定义 ,它用于定义当前过程的变量,并将以前过程定义的同名变量保存起来,在当前过程中使用该变量而不影响这些同名变量的原始值。 5、有程序段如下: STORE 0 TO X,Y DO WHILE.T. X=X+1 Y=Y+X IF X>=100 EXIT ENDIF ENDDO
? "Y="+STR(Y,3)
这个程序是计算 [1] 的, 执行后的结果是 [2] 。
6、请阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。
SET TALK OFF
INPUT ″请输入一个大于1的自然数:″TO N
K=0 &&K的值为0表示所输入的自然数是质数, 为1表示不是质数 J=2
DO WHILE J
IF MOD(N,J) [1] [2] LOOP ELSE K=1 EXIT ENDIF
ENDDO IF K=0
? [3] +" 是质数"
ENDIF ? "再见!!" SET TALK ON RETURN
7、下面的函数通过参数a 、b 、c 接收一元二次方程ax 2+bx+c=0的三个系数,并求解这个方程:如果有实根, 通过参数x1和x2返回它的两个根,函数的返回值为.T. ;如果没有实根或出现其他异常情况,函数的返回值为.F. ,请填空。 PARAMETERS a,b,c,x1,x2 IF a =0
RETURN .F. ENDIF
Delta=b*b-4*a*c IF delta
x1= [ 2] x2=(-b-SQR(delta))/(2*a) RETURN .T. 8、有如下FoxBASE 程序:
*SUB.PRG PARAMETERS R,A PI=3.14 A=PI*R*R RETURN
在命令状态下执行了如下命令序列:
AREA=0
? AREA
最后一条命令执行后显示的结果是12.56,请填空。
9、设数据库文件PHONE.DBF 中包含了“姓名”, “电话”和“地址”三个字符型字段。以下程序的功能是
按用户输入的任一电话号码进行查找,如果存在该号码,则显示其单位地址, 关闭文件并结束程序。请将程序补充完整。
SET TALK OFF USE PHONE CLEAR DO WHILE .T.
PHN=SPACE(8)
@ 10,20 SAY″电话号码:″ [1] READ
LOCATE FOR PHN=电话 IF FOUND()
@ 12,20 SAY″单位地址:″+ 地址 [2] ENDIF ENDDO CLOSE ALL SET TALK ON
RETURN
10、在青年歌手大赛中,歌手的得分情况由GS.DBF 和PW.DBF 两个数据库(除“最后得分”字段以外,其余
字段已存放了相应数据) 进行统计。
评委数据库PW.DBF 中放有10个评委给每位歌手所打的分数,数据库结构为:
歌手编号(C,4) ,评委1(N,5,2) ,评委2(N,5,2) ,„,评委10(N,5,2) 歌手数据库GS.DBF 中存有每位歌手的基本情况和最后得分,数据库结构为: 歌手编号(C,4) ,姓名1(C,8) ,选送地区(C,20) ,最后得分(N,5,2)
1) 以下程序的功能是根据10个评委所给分数,计算并填写“最后得分”字段,具体计算方法是去掉一个最高分,去掉一个最低分,再对其余得分求平均。请填空:
SELECT 0 USE GS
INDEX ON 歌手编号 TO GS SELECT 0 USE PW
SET RELATION TO 歌手编号 INTO GS GO TOP
DO WHILE [1]
SCATTER TO TEMP I=2
STORE TEMP(2) TO PMIN, PMAX, S DO WHILE [2 ]
I=I+1 S=S+TEMP(I) DO CASE
CASE TEMP(I)>PMAX PMAX= TEMP(I) CASE TEMP(I)
[3]
ENDDO SELECT GS
REPLACE 最后得分 WITH [4] [5] [6] ENDDO
2) 将GS.DBF 按“最后得分”字段由高到低排序,“最后得分”相同时,按歌手编号升序建立排序文件GSPX.DBF 的命令是 。
3) 计算GS.DBF 中所有歌手“最后得分”的平均值,并将结果保存在变量PJ 中的命令是 。
4) 以下程序是根据GS.DBF 中“选送地区”字段的前两个汉字是否为“北京”而使用PROG1.PRG 和PROG2.PRG 进行不同的处理:
„„
IF LEFT(选送地区,4)="北京" DO PROG1 ELSE DO PROG2 ENDIF „„
以上程序段中的判断条件LEFT(选送地区,4)=″北京″,也可以用函数SUBSTR 或AT 描述。使用SUB 函数描述时,判断条件可改写为 [1] ;使用AT 函数描述时,判断条件可改写为 [2] 。 11、有如下售书数据库BOOK.DBF ,BOOK.DBF 中的记录如下:
书号 单价 数量 总计 B0168 19.8 3 B6915 12.6 36
B9023 40.0 100
B4682 18.0 40
B6329 28.0 56
B8127 2.0 20
要逐条计算总计并填入“总计”字段之中, 计算按照如下规则:
若数量小于等于10, 总计等于“单价*数量”
若数量大于50, 总计等于“单价*数量*(1-5/100)”
若数量在11与50之间, 总计等于“单价*数量(1-10/100)”
请填空:
SET TALK OFF
USE BOOK
GO TOP DO WHILE [ 1 ]
DO CASE
CASE 数量
REPLACE 总计 WITH单价*数量 CASE [ 2 ]
REPLACE 总计 WITH 单价*数量*(1-10/100)
CASE 数量>50
REPLACE 总计 WITH 单价*数量*(1-5/100)
ENDCASE [3]
ENDDO
LIST
USE
SET TALK ON
RETURN
12、售书数据库BOOK.DBF(如上题所示), 现需要调整一些书的单价, 然后用调整后的“单价*数量”的值填
入“总计”字段,下边程序的功能是根据用户输入的书号查找到记录, 并由用户决定是否对该记录进行修改,请填空:
SET TALK OFF
USE BOOK
INDEX ON 书号 TO BOOKI
DO WHILE .T.
CLEAR
DISP ALL FIELDS 书号
ACCEPT ″请输入书号″TO BNO [1]
IF FOUND()
DISPLAY
ACCEPT ″修改/不修改继续/终止程序(Y/N/E)″ TO SR
ELSE
ACCEPT ″书号不存在! 继续/终止程序(N/E)″ TO SR
ENDIF
DO CASE
CASE UPPER(SR)=″Y ″
INPUT ″请输入新单价:″ TO XDJ REPLACE [2] ,总计 WITH 单价*数量
CASE UPPER(SR)=″N ″ [3]
CASE UPPER(SR)=″E ″ [4]
ENDCASE
ENDDO
USE
SET TALK ON
RETURN
13、下面程序的功能是修改P2.DBF 中记录内容,为了避免破坏数据库数据, 先把记录内容存入数组BUFFER
中, 用户先对数组进行修改, 确定修改后, 再把数组中的数据存入数据库中,请填空:
SET TALK OFF
DIMENSION BUFFER(3)
STORE ″Y ″TO ANS, CON
USE P2
DO WHILE UPPER(CON)=″Y ″
CLEAR
@ 2,5 SAY″修改第几条记录? ″ [1]
GO RNO
SCATTER TO BUFFER
@ 4,10 SAY″学号″GET BUFFER(1)
@ 6,10 SAY″姓名″GET BUFFER(2)
@ 8,10 SAY″所属系″GET BUFFER(3) [2]
ACCEPT ″确实修改记录吗?(Y/N)″TO ANS
IF UPPER(ANS)=″Y ″ [3]
ENDIF
ACCEPT ″继续吗?(Y/N)″TO CON
ENDDO
USE
SET TALK ON
RETURN
14、设有Student.DBF(学号,姓名,民族) 和score.DBF (学号,成绩) 两个数据库,要在它们之间建立逻
辑连接,然后为每个少数民族考生的成绩增加5分,最后显示全体考生的学号、姓名和成绩。请对如下程序填空:
SET TALK OFF
SELECT 1
USE student [1] TO inx
SELECT 2
USE score SET RELATION TO [2]
REPLACE 成绩 WITH [3] FOR [4]
LIST 学号, [5] ,成绩
SET RELATION TO
CLOSE DATA
SELECT 1
SET TALK OFF
RETURN
15、下面是一个口令设置程序,请在其中填空,完成此程序。
SET TALK OFF
CLEAR
PASS= "ABCDEFG"
PASSWORD= ""
@ 10,20 SAY "请输入口令:" SET CONSOLE [1]
ACCEPT TO PASSWORD SET CONSOLE [2]
IF PASSWORD<>PASS
? CHR(7)
WAIT"口令输入错误! 敲任何键退出。"
QUIT
ELSE
? "欢迎使用本系统!"
P=INKEY(3)
ENDIF
DO ZXT &&执行相应程序。
RETURN
参考答案
一、选择题
1. B 2.C 3.A 4.C 5.D 6.C 7.A 8.C 9.B 10.B
11.A 12.D 13.B 14.D 15.B 16.D 17.D 18.B 19.B 20.C
21.C 22.D 23.D 24.A 25.D 26.C 27.B 28.C 29.B 30.D
31.C 32.D 33.C 34.B 35.C 36.D 37.D 38.C 39.A 40.A
41.B 42.B 43.A 44.C 45.C 46.C 47.C 48.B 49.D 50.B
51.B 52.B 53.A 54.D 55.C 56.D 57.B 58.A 59.B 60.B
61.B 62.B
二、填空题
1. 全局变量 2. 运算符 3.n
5.[1] 100以内自然数的和 [2]Y=* * * 6.[1] 0 [2 ] J=I+1 [3 ] STR(N)
7.[1]RETURN .F. [2](-B+SQR(DELTA))/(2*A)
8.DO SUB WITH 2,AREA 9.[1] GET PHN [2 ] CONTINUE
10.1)[1]NOT.EOF() [2]I
2)SORT ON 最后得分/D,歌手编号 TO GSPX
3)AVER 最后得分 TO PJ
4)[1] SUBS(选送地区,1,4)=“北京” [2 ] AT(“北京”,选送地区)
11.[1] .NOT. EOF() [2]数量>10.AND.数量
12.[1]SEEK或LOCATE FOR书号= BNO [2]单价WITH XDJ [3]LOOP [4]EXIT
13.[1]INPUT TO RNO [2] READ [3]GATHER FROM BUFFER
14.[1]INDEX ON 学号 [2]学号 INTO A [3]成绩+5 [4]A->民族"汉" [5]A->姓名
15.[1]OFF [2] ON