IFINT(A/B)=A/B
EXIT
ENDIF
IFB=A–1
?
A
ENDIF
B=B+1
ENDDO
A=A+1
ENDDO
1*2=2
2*3=6
3*4=12
4*5=20
18.下面程序段运行后,将显示。
。
A=1
B=2
DOWHILEA<5
X=A*B
?
STR(A,1)+‘*’+STR(B,1)+‘=’
?
?
X
A=A+1
B=B+1
ENDDO
RETURN
19.有如下菜单控制程序:
SETTALKOFF
STORE“”TOANS
DOWHILE.T.
CLEAR
?
”1.输入2.修改3.查询4.退出”
ACCEPT“请进行选择(1~4):
”TOANS
IFVAL(ANS)<3
PLOG=“PROG”+ANS+“.prg”
DO&PLOG
ENDIF
RETURN
ENDDO
如果输入的选择是2,则转去执行的子程序文件名是PROG2.prg。
20.下面程序的运行结果是:
12,24,36,48,请进行程序填空。
SETTALKOFF
KK=.T.
MM=0
DOWHILEKK
MM=MM+1
IFMOD(MM,12)=0
?
?
MM
ELSE
LOOP
ENDIF
IFMM=48
KK=.F.
ENDIF
ENDDO
21.通过键盘输入某门课程的分数,统计90分及不及格人数。
SETTALKOFF
STORE0TON90,NL60
DOWHILE.T.
INPUT“输入分数:
”TON
IFN<0
EXIT
ENDIF
IFN<60
NL60=NL60+1
ENDIF
DOCASE
CASEN>=90
N90=N90+1
LOOP
ENDCASE
ENDDO
?
N90,NL60
SETTALKON
RETURN
22.从键盘上连续输入10组数,分别输入每组数之和。
输入时规定,每组数的结束标志为“0”。
请填空。
CLEAR
SETTALKOFF
K=1
DOWHILEK<11
?
”请输入第”+STR(K)+“组数:
”
S=0
X=1
DOWHILEX<>0
INPUT“请输入下一个数:
”TOX
S=S+X
ENDDO
?
”第”+STR(K)+“组数这和=”,S
K=K+1
ENDDO
SETTALKON
RETURN
23.统计1~100能被3整除的个数,请填空。
X=0
Y=0
DOWHILEX<101
X=X+1
IFMOD(X,3)<>0
LOOP
ENDIF
Y=Y+1
ENDDO
?
”Y=”
?
?
STR(Y,2)
RETURN
*
*
*
*
24.下列程序的执行结果是。
I=1
DOWHILEI<5
?
SPACE(I)+“*”
I=I+1
ENDDO
RETURN
25.阅读下列程序,运行结果是21。
SETTALKOFF
CLEAR
I=1
DOWHILEI<50
IFMOD(I,3)=0.AND.MOD(I,7)=0
?
?
I
ENDIF
I=I+2
ENDDO
SETTALKON
RETURN
26.阅读下列程序,运行结果是1321。
SETTALKOFF
F1=1
F2=1
I=1
DOWHILEI<4
F1=F1+F2
F2=F2+F1
I=I+1
ENDDO
?
F1,F2
SETTALKON
RETURN
27.阅读下列程序,运行结果是20。
SETTALKOFF
DIMEA(6)
STORE1TOA
(1),A
(2)
I=3
T=2
DOWHILEI<=6
A(I)=A(I–1)+A(I–2)
T=T+A(I)
I=I+1
ENDDO
?
T
SETTALKON
RETURN
28.阅读下列程序,运行结果是3。
SETTALKOFF
STORE1TOI,J
T=0
DOWHILEI<=5
T=T+J*I
J=-J
I=I+1
ENDDO
?
T
SETTALKON
RETURN
29.阅读下列程序,运行结果是9。
SETTALKOFF
STORE1TOI,S
T=0
DOWHILEI<4
T=T+S
I=I+1
S=S*I
ENDDO
?
T
SETTALKON
RETURN
30.阅读下列程序,运行结果是35。
SETTALKOFF
I=1
T=0
DOWHILEI<=5
T=T+I*I
I=I+2
ENDDO
?
T
SETTALKON
RETURN
31.阅读下列程序,运行结果是123。
SETTALKOFF
STORE1TOA,I,S
T=0
DOWHILEI<4
T=T+S
S=S*10+A
I=I+1
ENDDO
?
T
SETTALKON
RETURN
32.计算机等级考试考生数据表为STUDENT.dbf,笔试和上机成绩已分别录入其中的“笔试”和“上机”字段(皆为N型),此外另有“等级”字段(C型)。
凡两次考试均达到80分以上者,应在等级字段中填入“优秀”。
为此编程如下,请填空。
SETTALKOFF
USESTUDENT
DOWHILE.NOT.EOF()
IF笔试>=80.AND.上机>=80
REPLACE等级WITH“优秀”
ENDIF
SKIP
ENDDO
USE
SETTALKON
33.有成绩表GRADE.dbf,有“学号”、“姓名”、“成绩”等字段,查分程序如下,请填空。
SETTALKOFF
USEGRADE
ACCEPT“请输入学号:
”TONUM
LOCATEFOR学号=NUM
IF.NOT.EOF()
?
姓名,“成绩:
”+STR(成绩,3,0)
ELSE
?
“没有此学生!
”
ENDIF
USE
SETTALKON
34.有学生表STUDENT.dbf,其中有“编号”字段(N,2),其值从1开始。
欲按编号的1,9,17,25,…规律抽取学生参加计算机汉字录入比赛,并指屏幕上显示参加比赛学生的编号,编程如下,请填空。
SETTALKOFF
USESTUDENT
DOWHILE.NOT.EOF()
IFMOD(编号,8)=1
?
?
编号
ENDIF
SKIP
ENDDO
USE
SETTALKON
35.一下程序的功能是根据数据表DJKS.dbf的“笔试成绩”和“上机成绩”,填写“是否通过”字段值。
请阅读程序,并将程序填写完整。
SETTALKOFF
USEDJKS
DOWHILE.NOT.EOF()
TG=IIF(笔试成绩>=60.AND.上机成绩>=60,.T.,.F.)
REPLACE是否通过WITHTG
SKIP
ENDDO
USE
SETTALKON
36.下面程序的功能是根据用户的输入,到P1.dbf中查找与“CODE”字段匹配的记录,并将内容显示出来。
如果无匹配记录,给出错误信息,允许输入3次,3次仍输入不对,退出程序。
请填空:
SETTALKOFF
SETEXACTON
CLEAR
K=0
USEP1
DOWHILEK<3
?
”请输入CODE的值:
”
ACCEPTTOKEYWORD
LOCATEFORCODE=KEYWORD
IFEOF()=.F.
CLEAR
DISPLAY
K=0
ELSE
?
”您输入的字段值不对”
WAIT”按任意键继续”
K=K+1
ENDIF
ENDDO
USE
SETTALKON
RETURN
37.数据表文件KS.dbf中有“成绩”字段(数值型),其值为全国计算机等级考试考生成绩。
有如下程序段:
USEKS
MX=0
DOWHILE.NOT.EOF()
MX=MAX(成绩,MX)
SKIP
ENDDO
?
MX
RETURN
执行以上程序后,?
命令显示的数据是“成绩”的最高分。
38.设有职工数据表文件ZG,“姓名”为该表中的一字段名。
USEZG
DOWHILE.NOT.EOF()
IF“张”$姓名
DISP
ENDIF
SKIP
ENDDO
USE
RETURN
本程序的作用是列出“姓名”字段中,包含“张”字符的所有记录。
39.设数据表GRADE.dbf包括学号、姓名、成绩等字段,下列程序完成打印最高成绩记录的学号、姓名、成绩。
请填空完成程序。
USEGRADE.dbf
记录号=1
最高成绩=成绩
DOWHILE.NOT.EOF()
IF成绩>最高成绩
最高成绩=成绩
记录号=RECNO()
ENDIF
SKIP
ENDDO
GOTO记录号
?
”最高成绩:
学号=”+学号+“姓名=”+姓名+“成绩=”
?
?
成绩
RETURN
40.教师数据表文件TEACHER中有“婚否”字段,为逻辑型。
下列程序用于逐个显示已婚(婚否字段为真值)教师的数据记录,请填空。
USETEACHER
DOWHILE.NOT.EOF()
CLEAR
IF婚否=.F.
SKIP
LOOP
ENDIF
DISPLAY
WAIT”按任意键继续!
”
SKIP
ENDDO
USE
41.下面是一个根据学生姓名查询学生信息的程序,并在进行了一次查询后,可选择是否继续查询。
请填空完成程序,注:
XS.dbf中含有学号(N型)、姓名(C型)、出生年月(D型)字段。
SETTALKOFF
WAIT”查询学生信息键入Y,否则键入N”TOYN
IFYN<>‘Y’
SETTALKON
RETURN
ENDIF
USEXS
DOWHILE.T.
ACCEPT”键入学生姓名:
”TOXM
LOCATEFOR姓名=XM
IFEOF()=.F.
DISP
ELSE
?
”查无”+XM
ENDIF
WAIT“继续查询键入Y,否则键入N”TOYN
IFYN<>‘Y’
USE
SETTALKON
RETURN
ENDIF
ENDDO
42.有下列程序:
*主程序MAIN.prg
SETTALKOFF
CLEAR
A=1
B=2
C=3
DOSUB
?
A,B,C
*子程序SUB.prg
A=10
B=20
C=30
?
A,B,C
RETURN
102030
102030
执行主程序MAIN.prg后的显示结果为。
43.有如下程序
*主程序:
ZCX.prg
SETTALKOFF
K1=“AB”
DOZCX1
?
K1
RETURN
*子程序:
ZCX1.prg
K1=K1+“200”
AB200
AB200
?
K1
RETURN
执行命令DOZCX后,屏幕显示的结果为。
44.下面有4个独立的程序文件MAIN.prg、SUB1.prg、SUB2.prg、SUB3.prg,试分析执行DOMAIN命令后程序运行结果。
aaa
ddd
eee
ggg
fff
bbb
eee
ggg
fff
ccc
*MAIN.prg
?
”aaa”
DOSUB1
?
”bbb”
DOSUB2
?
”ccc”
RETURN
*SUB1.prg
?
”ddd”
DOSUB2
RETURN
*SUB2.prg
?
”eee”
DOSUB3
?
”fff”
RETURN
*SUB3.prg
?
”ggg”
RETURN
45.有下列程序:
*主程序PROG
SETTALKOFF
X=“同学们”
Y=“你们好!
”
DOSUBPRO
?
”返回主程序后X=”,X
?
”返回主程序后Y=”,Y
?
”返回主程序后Z=”,Z
SETTALKON
RETURN
*子程序SUBPRO
PRIVAT