1、江苏计算机二级考试 Visual+FoxPro 上机真题一 2013 年秋季及答案解析(总分:40.00,做题时间:70 分钟)一、首先登录考生信息(总题数:1,分数:0.00)1.项目、数据库和表操作(12 分) 打开 T 盘根目录中的项目文件 JXGL,在该项目中已有一数据库 JXSJ。 1在 JXSJ 数据库中按如下表格中所示的结构创建 AB.dbf 表,并按表格后的要求设置相关属性 (分数:12.00)_2.设计查询(8 分) 已知 JXGL 项目管理器中的图书(TSB)表含有分类号(FLH)、书名(SM)等字段,借阅(JYB)表含有分类号(FLH)、读者类型(LX)等字段,LX 字段
2、值为”J”表示读者为教师,LX 字段值为”X”表示读者为学生。按如下要求修改查询 CHAXUN: 基于 TSB 表和 JYB 查询每本图书借阅情况,要求输出字段包括:TSB.FLH、TSB.SM、被借次数、教师借阅次数。输出结果按被借次数降序,被借次数相同按 FLH 排序,查询结果仅输出被借次数在 5 次以上(包括 5 次)的记录(分数:8.00)_3.设计菜单(5 分) 项目 JXGL 中已存在菜单 MENU,利用菜单设计器按如下要求修改菜单,完成后的运行效果如图 1 所示。 (分数:5.00)_4.设计表单(10 分) 表单 FMQ13a 用于选择鼠标形状。按下列要求修改表单,修改后表单运
3、行时如图 2 所示。 (分数:10.00)_5.程序改错(5 分) 下列程序的功能是利用随机函数 RAND()随机产生 100 个 100 以内的整数,统计它们在0-49 和 50-100 之间出现的次数,要求: 1.项目中有一个程序文件 Pcode,将 T 盘中 VFP01.TXT 中的程序代码复制到其中并进行修改 2.在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目 Create Cursor cur1(r i) For i=1 To 100 Insert Into cur1 Values (Int(Rand()*100) EndFor Select cur1 Ski
4、p Top n=0 Do while Not Eof() If cur1.r49 n=n-1 EndIf Skip EndDO Clear ?”小于 50 的次数是:”+ Str(100-n,2) ?”大于或等于 50 的次数是:”+Str(n,2) Use(分数:5.00)_江苏计算机二级考试 Visual+FoxPro 上机真题一 2013 年秋季答案解析(总分:40.00,做题时间:70 分钟)一、首先登录考生信息(总题数:1,分数:0.00)1.项目、数据库和表操作(12 分) 打开 T 盘根目录中的项目文件 JXGL,在该项目中已有一数据库 JXSJ。 1在 JXSJ 数据库中按如下
5、表格中所示的结构创建 AB.dbf 表,并按表格后的要求设置相关属性 (分数:12.00)_正确答案:(项目、数据库和表操作 XH 字段输入掩码: 999999999999 SFJY 字段默认值表达式: .F. 索引表达式: LEFT(XH,9)+IIF(SFJY,”0”,”1”) 触发器表达式: YEAR(BYRQ)=2013 MP 程序文件代码: USE CJB BROWSE 或者 SELECT * FROM CJB)解析:2.设计查询(8 分) 已知 JXGL 项目管理器中的图书(TSB)表含有分类号(FLH)、书名(SM)等字段,借阅(JYB)表含有分类号(FLH)、读者类型(LX)等
6、字段,LX 字段值为”J”表示读者为教师,LX 字段值为”X”表示读者为学生。按如下要求修改查询 CHAXUN: 基于 TSB 表和 JYB 查询每本图书借阅情况,要求输出字段包括:TSB.FLH、TSB.SM、被借次数、教师借阅次数。输出结果按被借次数降序,被借次数相同按 FLH 排序,查询结果仅输出被借次数在 5 次以上(包括 5 次)的记录(分数:8.00)_正确答案:(设计查询 SELECT TSB.FLH, TSB.SM, COUNT(*) AS 被借次数, ; SUM(IIF(LX=J,1,0) AS 教师借阅次数; FROM TSB INNER JOIN JYB; ON TSB.
7、FLH=JYB.FLH; GROUP BY TSB.FLH; HAVING COUNT(*)=5; ORDER BY 3 DESC,TSB,FLH DESC)解析:3.设计菜单(5 分) 项目 JXGL 中已存在菜单 MENU,利用菜单设计器按如下要求修改菜单,完成后的运行效果如图 1 所示。 (分数:5.00)_正确答案:(略)解析:4.设计表单(10 分) 表单 FMQ13a 用于选择鼠标形状。按下列要求修改表单,修改后表单运行时如图 2 所示。 (分数:10.00)_正确答案:(设计表单 )解析:5.程序改错(5 分) 下列程序的功能是利用随机函数 RAND()随机产生 100 个 10
8、0 以内的整数,统计它们在0-49 和 50-100 之间出现的次数,要求: 1.项目中有一个程序文件 Pcode,将 T 盘中 VFP01.TXT 中的程序代码复制到其中并进行修改 2.在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目 Create Cursor cur1(r i) For i=1 To 100 Insert Into cur1 Values (Int(Rand()*100) EndFor Select cur1 Skip Top n=0 Do while Not Eof() If cur1.r49 n=n-1 EndIf Skip EndDO Clear ?”小于 50 的次数是:”+ Str(100-n,2) ?”大于或等于 50 的次数是:”+Str(n,2) Use(分数:5.00)_正确答案:(程序改错 第 6 行 SKIP TOP 修改为 : GO TOP 第 10 行 n=n-1 修改为: n=n+1)解析: