2016全国计算机二级考试VF练习题(含答案)
五、读程序写出运行结果 (每小题4分,共20分)
1. 有一程序如下,写出运行结果:
SET TALK OFF
CLEAR
STORE 1 to f1,f2
FOR k=1 to 4
?f1,f2
f1=f1+f2
f2=f2+f1
ENDFOR
RETURN
2. 设有一学生成绩数据表XSCJ.DBF如下,写出下面程序的运行结果。
学号 课程号 学期 考试成绩 补考成绩
1999013001 01601 6 86.0
2000100723 10312 4 91.0
1998205134 20734 8 70.0
1999120815 12915 6 89.0
1999013001 60623 6 55.0 78.0
1999013001 60101 8 75.0
2000221005 22510 4 53.0 80.0
SET TALK OFF
CLEAR
USE XSCJ
k=0
DO WHILE .NOT. EOF()
IF 学号="1999013001"
If k=0
? 学号,课程号,iif(考试成绩<60,补考成绩,考试成绩),“—”
k=k+1
else
?? 课程号, iif(考试成绩<60,补考成绩,考试成绩),“—”
endif
endif
SKIP
ENDDO
USE
Return
3. 已知cTest=”hello2008,Luck5688PIG”,写出以下程序的运行结果:
SET TALK OFF
CLEAR
cNumOnly = "" &&空串
FOR nCnt = 1 TO LEN(cTest)
cCharacter = SUBSTR(cTest, nCnt, 1)
IF ISDIGIT(cCharacter)
cNumOnly = cNumOnly + cCharacter
ENDIF
ENDFOR
? cNumOnly
return
4. 写出以下程序运行的结果:
SET TALK OFF
Local i PROCEDURE M2
i=8 Parameters j
C1="计算机等级考试" do while j>=i
DO M1 ?? substr(cd , j , 2)
? 1998+i, right(C1,i ) j=j-2
RETURN enddo
?? C1
PROCEDURE M1 i=4
PUBLIC cd RETURN
i=1
cd="校高市庆重"
do M2 with 9
RETURN
5. 有两个数据表文件,其内容如下:
学生成绩表CJ.DBF: 学生学号、姓名对照表XM.DBF:
学号 科目 成绩 学号 姓名
99011 马列原理 70 99011 张三
99013 马列原理 85 99012 李四
99012 马列原理 65 99013 王五
99012 英语 70
99011 英语 85
99013 英语 70
执行以下程序段,写出运行结果:
set talk off
sele a
use xm
inde on 学号 to xh
sele b
use cj
inde on 学号to cj1
set rela to 学号 into a
list off 学号,a->姓名,科目,成绩 for right (学号,2)=”12”
close data
return
1. 1 1
2 3
5 8
13 21
2. 1999013001 01601 86.0 – 60623 78.0 – 60101 75.0 --
3. 20085688
4. 重庆市高校计算机等级考试
2006 等级考试
5. 学号 姓名 科目 成绩
99012 李四 马列原理 65
99012 李四 英语 70