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(借书证号,总编号,借阅日期,备注)。下面程序的功能是打印已借书读者的借书证号、姓名,单位,以及借阅图书的书名、单价、借阅日期。请阅读程序并填空。
16
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
17
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
六、程序填空
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)8 16 24 32 40 48 56 64 9)9 18 27 36 45 54 63 72 81 END DO
SET TALK ON RETUEN
2. 下列程序是把“伟大祖国”坚向显示出来,并横向显示“祖国伟大”,请填空: SET TALK OFF
STORE“伟大祖国”TO XY CLEAR
18
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 退 出″
19
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)) _______________________
20