三、读程序(本大题共5小题,每小题4分,共20分)
认真阅读所给的程序,每段程序后面会根据上面的程序给出几个小题,每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内,错选、多选或未选均无分。
【程序(一)】
*表S1.DBF,其中有字段变量“编号”,且以它作为关键字已建立索引文件SA.IDX,在该表
*中因误操作可能有一些重复的记录,以下程序是实现查询重复记录并判断是否删除重复的
*记录。
SET TALK OFF
USE S1 INDEX SA
K=“Y”
DO WHILE NOT EOF()
XM=编号
SKIP
IF ______
DELETE
DISPLAY
WAIT“是否立即删除(Y/N)” TO K
IF UPPER(K)=“Y”
PACK
ELSE
RECALL
ENDIF
ENDIF
ENDDO
USE
SET TALK ON
1.本程序中建立并打开索引SA的主要作用是( )
A.为了建立循环结构 B.让记录按编号排序
C.为了配合查询命令 D.为了保证该表可编辑
2.本程序中,横线处IF语句的条件表达式为 ( )
A.XM == 编号 B.NOT EOF()
C.SEEK D.FOUND()
3.程序中DISPLAY命令的作用是( )
A.显示第1条记录的信息 B.显示作了删除标记的重复记录的信息
C.显示所有记录的信息 D.显示最后1条记录信息
【程序(二)】
* Employee表中有 姓名、工龄、级别、奖金等字段
SET TALK OFF
USE Employee
LOCATE ALL FOR 级别=“工程师”
DISPLAY
A=工龄
IF A<10
REPLACE 奖金 WITH 奖金*2
ELSE
IF A>20
REPLACE奖金WITH奖金*5
ELSE
REPLACE奖金WITH奖金*3
ENDIF
ENDIF
USE
SET TALK ON
4.本程序的功能是( )
A.显示employee表中所有工程师信息,并修改所有工程师奖金,即工龄10年以下奖金翻2倍,工龄20年以上奖金翻5倍,工龄为10至20年奖金翻3倍
B.找到employee表中第一个工程师,并修改这个工程师的奖金,即该员工工龄为10年以下奖金翻2倍,工龄20年以上奖金翻5倍,工龄为10至20年奖金翻3倍
C.显示employee表中所有工程师信息,并修改所有工程师奖金,即工龄10年以下奖金翻3倍,工龄20年以上奖金翻2倍,工龄为10至20年奖金翻5倍
D.找到employee表中第一个工程师,并修改这个工程师的奖金,即该员工工龄为10年以下奖金翻3倍,工龄20年以上奖金翻2倍,工龄为10至20年奖金翻5倍
5.若已经对“级别”字段建立索引, 且为当前索引,将程序中“ LOCATE ALL FOR 级别=“工程师” ”,这句查询命令改成seek命令,以下哪个选项是正确的 ?( )
A.seek “工程师” B.seek 级别=工程师
C.seek 级别 D.seek 级别=“工程师”