[计算机类试卷]浙江计算机二级VF模拟试卷3及答案与解析.doc

上传人:eveningprove235 文档编号:504686 上传时间:2018-11-29 格式:DOC 页数:15 大小:46KB
下载 相关 举报
[计算机类试卷]浙江计算机二级VF模拟试卷3及答案与解析.doc_第1页
第1页 / 共15页
[计算机类试卷]浙江计算机二级VF模拟试卷3及答案与解析.doc_第2页
第2页 / 共15页
[计算机类试卷]浙江计算机二级VF模拟试卷3及答案与解析.doc_第3页
第3页 / 共15页
[计算机类试卷]浙江计算机二级VF模拟试卷3及答案与解析.doc_第4页
第4页 / 共15页
[计算机类试卷]浙江计算机二级VF模拟试卷3及答案与解析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、浙江计算机二级 VF模拟试卷 3及答案与解析 一、程序阅读选择题 阅读下列程序说明并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 0 【程序说明】 求 1 10之间的所有整数之和。 【程序】 SET TALK OFF STORE 0 TO N, S DO WHILE (1) N N+1 S=S+N IF (2) (3) ENDIF ENDDO ? “ S=”+STR (S, 2) SET TALK ON RETURN ( A) .F. ( B) .T. ( C) N 10 ( D) N 10 ( A) S N ( B) N 10 ( C) N =10 ( D) N 10 ( A)

2、 EXIT ( B) END ( C) LOOP ( D) QUIT 3 【程序说明】 程序功能是按姓名提供学生成绩的查询。 【程序】 SET TALK OFF USE STD ACCEPT“请输入待查学生姓名: ”TO XM DO WHILE (4) IF (5) ?“姓名: ”+姓名, “成绩: ”+STR (成绩, 3, 0) ENDIF (6) ENDDO SET TALK ON RETURN ( A) BOF () ( B) EOF () ( C) .NOT. EOF() ( D) .NOT. BOF() ( A)姓名 =XM ( B)姓名 “XM” ( C)姓名 #XM ( D)

3、STD.XM ( A) GO BOTTOM ( B) GO TOP ( C) SKIP -1 ( D) SKIP 6 【程序说明】 使用如下三个条件: 部门 .DBF:部门号 C(8),部门名 C(12),负责人 C(6),电话 C(16) 职工 .DBF;部门号 C(8),职工号 C(10),姓名 C(8),性别 C(2),出生日期 D 工资 .DBF:职工号 C(10),基本工资 N(8.2),津贴 (8.2),奖金 N(8.2),扣除 N(8.2) 7 查询职工实发工资的正确命令是 _。 ( A) SELECT 姓名, (基本工资 +津贴 +奖金 -扣除 ) AS 实发工资 FROM 工

4、资 ( B) SELECT 姓名, (基本工资 +津贴 +奖金 -扣除 ) AS 实发工资 FROM 工资; WHERE 职工 . 职工号工资 .职工号 ( C) SELECT 姓名, (基本工资 + 津贴 +奖金 - 扣除 ) AS 实发工资; FROM 工资,职工 WHERE 职工 . 职工号工资 . 职工号 ( D) SELECT 姓名, (基本工资 +津贴 +奖金 -扣除 )AS 实发工资; FROM 工资 JOIN 职工 WHERE 职工 . 职工号 =工资 . 职工号 8 查询 1962年 10月 27日出生的职工信息的正确命令是 _。 ( A) SELECT* FROM 职工 W

5、HERE 出生日期 19621027 ( B) SELECT* FROM 职工 WHERE 出生日期 =19621027 ( C) SELECT* FROM 职工 WHERE 出生日期 “19621027” ( D) SELECT* FROM 职工 WHERE 出生日期 (“19621027”) 9 查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。正确的命令是 _。 ( A) SELECT 部门名, MIN (出生日期 ) FROM 部门 JOIN 职工; ON 部门,部门号职工 . 部门号 GROUP BY 部 门名 ( B) SELECT 部门名, MAX (出生

6、日期 )FROM 部门 JOIN 职工; ON 部门 .部门号 =职工 .部门号 GROUP BY 部门名 ( C) SELECT 部门名, MIN (出生日期 )FROM 部门 JOIN 职工; WHERE 部门 .部门号 =职工 .部门号 GROUP BY 部门名 ( D) SELECT 部门名, MAX(出生日期 )FROM 部门 JOIN 职工; WHERE 部门 .部门号 =职工 .部门号 GROUP BY 部门名 10 查询有 10名以上 (含 10名 )职工的部 门信息 (部门名和职工人数 ),并按职工人数降序排序。正确的命令是 _。 ( A) SELECT 部门名, COUNT

7、 (职工号 )AS 职工人数; FROM 部门,职工 WHERE 部门 . 部门号职工 .部门号; GROUP BY 部门名 HAVING COUNT(*)=10; ORDER BY COUNT (职工号 ) ASC ( B) SELECT 部门名, COUNT (职工号 ) AS 职工人数; FROM 部门,职工 WHERE 部门 .部门号职工 .部门号; GROUP BY 部门名 HAVING COUNT(*)=10; ORDER BY COUNT (职工号 ) DESC ( C) SELECT 部门名, COUNT (职工号 ) AS 职工人数; FROM 部门,职工 WHERE 部门

8、.部门号 =职工 .部门号; GROUP BY 部门名 HAVING COUNT(*) 10; ORDER BY 职工人数 ASC ( D) SELECT 部门名, COUNT(职工号 ) AS 职工人数; FROM 部门,职工 WHERE 部门 . 部门号 = 职工 .部门 号; GROUP BY 部门名 HAVING COUNT (*)=10; ORDER BY 职工号人数 DESC 11 查向所有目前年龄在 35以上 (不含 35岁 )的职工信息 (姓名、性别和年龄 )的正确的命令是 _。 ( A) SELECT 姓名,性别, YEAR (DATE() -YEAR(出生日期 )年龄 FR

9、OM 职工; WHERE 年龄 35 ( B) SELECT 姓名,性别, YEAR (DATE() -YEAR(出生日期 )年龄 FROM 职工; WHERE YEAR (出生日期 ) 35 ( C) SELECT 姓名,性别, YEAR (DATE()- YEAR (出生日期 )年龄 FROM 职工; WHERE YEAR (DATE()- YEAR(出生日期 ) 35 ( D) SELECT 姓名,性别,年龄 YEAR(DATE()- YEAR(出生日期 )FROM 职工; WHERE YEAR(DATE()-YEAR (出生日期 ) 35 12 为 “工资 ”表增加一个 “实发工资 ”

10、字段的正确命令是 _。 ( A) MODIFY TABLE 工资 ADD COLUMN 实发工资 N(9, 2) ( B) MODIFY TABLE 工资 ADD FIELD 实发工资 N(9, 2) ( C) ALTER TABLE 工资 ADD COLUMN 实发工资 N(9, 2) ( D) ALTER TABLE 工资 ADD FIELD 实发工资 N(9, 2) 12 【程序】 SET TALK OFF XQ=“天一二三四五六 ” DO WHIL .T. INPUT“X ” TO X X=IIF(X 0 AND X 366, MOD(X+2, 7)+1, IIF(X 0, 0, 8)

11、 DO CASE CASE X=0 ?“结束 ” EXIT CASE X=8 ?“输入有错 ” LOOP OTHERWISE ?“星期 ” +SUBSTR(XQ, 2*X1, 2) ENDCASE ENDDO SET TALK ON 13 当输入 X值为 210时,输出结果为 _。 ( A)星期一 ( B)星期二 ( C)星期四 ( D)星 期六 14 当输入 X值为 366时,输出结果为 _。 ( A)星期二 ( B)星期日 ( C)结束 ( D)输入有错 15 当输入 X值为 0时,输出结果为 _。 ( A)星期二 ( B)星期日 ( C)结束 ( D)输入有错 16 当输入 X值为 -1

12、时,输出结果为 _。 ( A)星期二 ( B)星期日 ( C)结束 ( D)输入有错 16 【程序】 SET TALK OFF CLEAR STORE .T. TO X STORE 0 TO Y DO WHILE X Y=Y+1 IF INT(Y/5)= Y/5 ? Y ELSE LOOP ENDIF IF Y 15 STORE .F. TO X ENDIF ENDDO SET TALK ON RETURN 17 第一次输出 Y值为 _。 ( A) 5 ( B) 6 ( C) 7 ( D) 8 18 第二次输出 Y值为 _。 ( A) 5 ( B) 6 ( C) 10 ( D) 15 19 第

13、三次输出 Y值为 _。 ( A) 10 ( B) 15 ( C) 16 ( D) 19 20 第四次输出 Y值为 _。 ( A) 10 ( B) 15 ( C) 20 ( D) 25 20 【程序】 SET TALK OFF I 1 CLEAR DO WHILE I 2 INPUT “A ” TO A IF A INT(A) .OR. A =10 LOOP ELSE INPUT “B=” TO B IF B INT(B) .AND. B 10 LOOP ELSE ?A, “+”, B“=”, A+B ENDIF ENDIF I I+1 ENODO SET TALK ON RETURN 21 程

14、序运行时,若依次输入 2 5, 8, 3 5,则输出结果为 _。 ( A) 2.5+8 10.5 ( B) A+B 10.5 ( C) 8+3.5 11.5 ( D) A+B=11.5 22 程序运行时,若依次输入 3, 4, 5, 10则输出结果为 _。 ( A) 3+4=7 ( B) 5+10 15 ( C) 4+3 7 ( D)无任何输出 23 程序运行时,若依次输出 5, 20,则输出结果为 _。 ( A) A+B=5 ( B) B+A 20 ( C) A+B 25 ( D) 5+20=25 24 若将程序两处的 LOOP都改为 EXIT,依次输入数据 8, 5,则输出结果为 _。 (

15、 A) 8+5 13 ( B) 5+8=13 ( C) A+B 13 ( D)无任何输出 二、编写程序题 25 编写程序,输入三角形的边长,求三角形的面积。 浙江计算机二级 VF模拟试卷 3答案与解析 一、程序阅读选择题 阅读下列程序说明并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 1 【正确答案】 B 2 【正确答案】 D 3 【正确答案】 A 【试题解析】 DO WHILE ENDDO 的格式: DO WHILE条件表达式 语句序列 EXIT LOOP ENDDO 功能:当条件表达式的值为 .T.时,重复执行 DO ENDDO 之间的语句序列,直到条件表达式的值为 .F.时

16、,结束循环操作。 EXIT 选项用于结束当前循环操作,跳到 ENDDO后面的语句。 LOOP选顶用于跨过 LOOP后面的语句,直接回到循环起始语句 DO WHILE。 所以第 (1)空值为 .T.,重复执行 DO ENDDO 之间的语句序列。 题意要求 1 10之间的整数和,所以当执行到 N大于等于 0时,用 EXIT来结束循环体 。 4 【正确答案】 C 【试题解析】 表尾测试函数的格式: EOF(工作区号 /别名 ) 5 【正确答案】 A 6 【正确答案】 D 【试题解析】 第 (5)空的功能是检测从外界输入的姓名 XM和表中记录的姓名是否相匹配,如果表中有输入学生姓名 (XM)的记录,则

17、打印输出学生的姓名和成绩。否则执行下一条记录,执行下一条记录的步长 (STEP)为 1或缺省。 7 【正确答案】 C 【试题解析】 本小题为简单的条件查询, WHERE子句后面的条件:职工 .职工号 =工资 .职工号,可以实 现将数据表职工和工资表连接起来进行查询,并且将工资表的几个字段求和计算得到职工的实发工资。选项 C为正确答案,选项 A缺少查询条件,选项 B的查询条件错误,选项 D使用的连接方法是错误的。 8 【正确答案】 A 【试题解析】 本小题查询条件的设定涉及日期型数据的运算,选项 A中WHERE子句后甲的条件是:出生日期 =19621027,该表达式正确描述了出生日期为 1962

18、年 10月 27日的条件。选项 B, C、 D的错误在于日期型数据的书写格式不正确。 9 【正确答案】 A 【试题解析】 使用函数 min()对日期型数据进行运算,需理解表达式的含义。表达式 min(出生日期 )表示年龄最长,因此可以首先排除选项 B和选项 D。选项 C的错误在于错误的使用了连接子句中的关键字, JOIN表示连接,与之配合使用的关键字应该是 ON,用来表示连接的条件,因此选项 A为正确答案。 10 【正确答案】 D 【试题解析】 本小题考查使用 COUNT()函数来构造复杂查询,分组条件GROUP BY 部门名 HAVING COUNT(*) 10表示部门人数大于 10人。另外

19、可以用排除法求解,首先可以排除选项 A和选项 C,这两个选 项中 ORDER BY子句后的关键字是 ASC表示升序,不符合题意。选项 B的错误在于没有使用职工人数作为排序关键字。 11 【正确答案】 C 【试题解析】 用日期型函数 YEAR()来表达年龄在 35岁以上这个查询条件的正确写法应该是: YEAR(DATA()YEAR (出生日期 ) 35 其中用到了 DATA()函数,先求出当前日期,再用 YEAR()求出该日期表示的年份,由此可知选项 A和选项 B的表示方法是错误的。选项 D的错误在于使用 SQL进行查询时,是不能使用等号进行列的赋值操作。故选项 C为正确答案。 12 【正确答案

20、】 C 【试题解析】 SQL中修改表结构的命令是: ALTER丁 ABLE表名 ADD COLUMN 故选项 C为正确答案。 13 【正确答案】 B 【试题解析】 条件函数的格式: IIF(逻辑表达式,表达式 1,表达式2 ) 功能:测试逻辑表达式的值,如果值为真,返回表达式 1的值,否则返回表达式 2的值。返回值有多种类型。 当 X 210时,执行外层 IIF中的 “MOD (X+2, 7)+1”语句后,得出 X=3,执行OTHERWISE 与 ENDCASE 之间的语句。 SURSTR (RQ, 2*X1, 2)=SURSTR (RQ, 5, 2)意思是取 RQ中从第 5个位置开始的 2个

21、字符的子串,可知子串应是“二 ”。故本题选 B。 14 【正确答案】 D 【试题解析】 当 x 366时,执行外层 IIF中的 IIF(x=0, 0, 8)语句,又因 x不为 0,所以 x=8,满足 CASE的第二个分支条件,所以执行 ?“输入有错 ”语句。 15 【正确答案】 C 【试题解析】 当 x=0时,执行外层 IIF中的 IIF(x=0, 0, 8)语句,又因 x为 0,所以 x=0,满足 CASE的第一个分支条件,所以执行 ?“结束 ”语句。 16 【正确答案】 D 【试题解析】 当 x -1时,执行外层 IIF中的 IIF(x 0, 0, 8)语句,又因 x不为0,所以 x 8,

22、满足 CASE 的第二个分支条件,所以执行 ?“输出有错 ”语句。 17 【正确答案】 A 18 【正确答案】 C 19 【正确答案】 B 20 【正确答案】 C 【试题解析】 本题在分析时用临界值 15代入,满足第一个条件,所以输出 Y。执行完 “? Y”后,执行 ENDIF下面的 IF语句,不满足大于 15的条件 ,则执行ENDIF下面的语句 ENDDO, ENDDO又将程序流程指向 DO WHILEX语句,此时 X=.T. 进入循环体,执行 Y Y+1, Y变成 16。由于不满足 INT(Y/5) Y/5,所以执行 ELSE下面的语句 LOOP, LOOP又将程序流程指向 DO WHIL

23、E X语句,依次类推,直至 Y 20。 Y=20满足第一个条件所以输出 Y,执行完 “? Y”后,执行 ENDIF下面的 IF语句,由于满足大于 15的条件,所以执行 STORE. F. TO X,然后执行 ENDIF下面的语句 ENDDO, ENDDO又将程序流程指向 DO WHILE X语句,此时, X=.F.,所以退出循环。 21 【正确答案】 C 【试题解析】 当 I 1时,进入 DO WHILE循环,输入 A为 2.5,满足 IF AINT(A). OR. A 10的条件,继续循环,输入 A为 8,执行此 IF的 ELSE语句,输入 B为 3.5,不满足 IF B=INT (B).

24、AND.B 10,执行此 IF的 ELSE ? A, “+”,B, “ ”, A+B,输出 8+3.5 11.5。 22 【正确答案】 B 【试题解析】 当输入 A值为 3时,不满足 IF A 1NT(A). OR. A 10,执行此 IF的 ELSE语句,输入 B为 4,满足 IF B= INT(B).AND.B 10继续循环,输入 A值为 5,执行第 1个 IF的 ELSE语句,输入 B为 10,执行第二个 IF的 ELSE语句,输出 5+10=15。 23 【正确答案】 D 【试题解析】 当输入 A值为 5时,执行第 1个 IF的 ELSE语句,输入 B为 20,执行第 2个 IF的 E

25、LSE语句,输出 5+20 25。 24 【正确答案】 D 【试题解析】 当输入 A值为 8时,执行第 1个 IF的 ELSE语句,输入 B为 5,满足 IF B INT(B).AND. B 10,执行 EXIT,退出 DO WHILE 循环,所以窗体上无任何显示。 二、编写程序题 25 【正确答案】 程序代码如下: SET TALK OFF CLEAR INPUT “请输入三角形第一边长值: ” TO A INPUT“请输入三角形第二边长值: ” TO B INPUT“请输入三角形第三边长值: ” TO C S=(A+B+C)/2 AREA SQRT(S*(SA)*(SB)*(SC) ?“三角形面积 = ”, AREA SET TALK ON RETURN

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1