四、程序填空 (每空3分,共18分)
1.下面的程序功能是完成工资查询,请填空: SET TALK OFF USE employee
ACCEPT \请输入职工号\num LOCATE FOR 职工号 = num IF __ NOT EOF()_______ DISPLAY 姓名, 工资 ELSE
? \职工号输入错误!\ENDIF USE
SET TALK ON
2.有学生数据表ST.ddbf,其中“编号”字段( N, 2, 0 )的值从1开始连续排列。以下程序欲按编号的1, 7, 13, 19, … 的规律抽取学生参加比赛,并在屏幕上显示参赛学生编号,请填空。 USE STUDENT DO WHILE .NOT. EOF( )
IF MOD __ (编号,6)=1___
??编号
ENDIF
SKIP
ENDDo
USE
3.下列程序的功能是根据 “销售” 表中的数据去修改 “库存.dbf” 表的数据,请填空。
SELECT 1
USE库存 SELECT 2 USE销售
DO WHILE NOT EOF()
SELECT 1
LOCATE FOR 商品名=B.商品名
REPLACE 数量 WITH 数量-B.数量,总金额 WITH 单价*数量 SELECT 2 SKIP ENDDO
CLOSE DATABASE
4.下列程序是判断任意整数(>2)是否为素数,请填空。(提示:如果一个整数N能被2~N之间的任一整数整除,则这个整
数N不是素数 SET TALK OFF
INPUT \输入一个整数:\
FOR I=2 TO SQRT(n)
IF ___ MOD(N,I)=0_____ EXIT (或N/I=INT(N/I)
ENDIF
ENDFOR
IF ___ I>SQRT(n)__ ? N, \是素数\ELSE
? N, \不是素数\
ENDIF RETURN SET TALK ON 、写出下列程序的输出结果是: 9 3 x=1 y=3 DO sub WITH x,(y),5 ? x,y
RETURN
PROCEDURE sub PARAMETER a,b,c a=a+b+c
b=a+b-c RETURN
2.下列程序执行时,在键盘上输入21,则屏幕上的显示结果为______ OK1 INPUT \ DO CASE CASE X > 10 ? \ CASE X > 20 ? \ OTHERWISE
? \
ENDCASE
3.设数据表文件CJ.DBF中有两条记录,内容如下:运行以下程序的结果应当是__1100.00_。
RECORD# XM ZF 1 李四 500.00 2 张三 600.00 USE CJ X = 0
DO WHILE .NOT. EOF( )
X= X + ZF
1
? X
SKIP
ENDDO RETURN
4.执行如下程序,如果输入N值为5,则最后显示值是
SET TALK OFF S = 0 I = 0
INPUT \DO WHILE S <= N
S = S+ I I = I + 1
___6 4__。
ENDDO ? S,I
SET TALK ON RETURN
4