[计算机类试卷]国家二级VF机试模拟试卷217及答案与解析.doc

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

1、国家二级 VF机试模拟试卷 217及答案与解析 一、基本操作题( 30分) 1 在考生文件夹下,打开 selldb数据库,完成如下基本操作: (1)创建 “客户表 ”(客户号,客户名,销售金额 ),其中: “客户号 ”为字符型,宽度为 4; “客户名 ”为字符型,宽度为 20; “销售金额 ”为数值型,宽度为 9(其中小数 2位 )。 (2)为第 1小题创建的 “客户表 ”建立一个主索引,索引名和索引表达式均为 “客户号 ”。 (3)为 “部门成本表 ”增加一个字段,字段名为 “备注 ”,数据类型为字符型,宽度为20。 (4)先选择 “客户表 ”为当前表,然后使用报表设计器中的快速报表功能为

2、“客户表 ”创建一个文件名为 p_s的报表。快速报表建立操作过程均为默认。最后,给快速报 表增加一个标题,标题为 “客户表一览表 ”。 二、简单应用题( 40分) 2 (1)在考生文件夹下已有表单文件 formone scx,如图 1-15所示,其中包含两个标签、一个组合框和一个文本框。请按下面要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,而该职员所签订单的平均金额能自动显示在文本框里。 将 orders表和 employee表依次 添加到该表单的数据环境中 (不要修改两个表对应对象的各属性值 )。 将组合框设置成下拉列表框;将employee表中的 “姓名 ”字段作为下拉列

3、表框条目的数据源 (RowSourceType属性值应设置为: 6-字段 )。 将文本框 Text1设置为只读。 修改组合框的InteractiveChange事件代码,使得当用户从组合框选择职员时,能够将该职员所签订单的平均金额自动显示在文本框中。 (2)利用查询设计器创建查询,从 employee和 orders表中查询 “组别 ”为 “1”的组各职员所签所有订单的信息。查询结果依 次包含 “订单号 ”、 “金额 ”、 “签订者 ”3项内容,其中 “签订者 ”为签订订单的职员姓名。各记录按 “金额 ”降序排序;查询去向为表 tableone。最后将查询保存在queryone qpr文件中,

4、并运行该查询。 三、综合应用题( 30分) 3 在考生文件夹下,打开招生数据库 sdb,完成如下综合应用: 创建文件名为 form的表单,将表单标题改为:录取研究生。 在表单中设计 “录取 ”和 “退出 ”两个按钮。两个按钮功能分别如下: 在 “录取 ”按钮 (Command1)中,编写程序,查询总成绩 大于或等于 330分的考生的 “考生号 ”、 “姓名 ”、 “性别 ”、 “单位 ”和该生的 “政治成绩 ”、 “外语成绩 ”、 “高数成绩 ”(即高等数学成绩 )、 “专业课成绩 ”、 “总成绩 ”,并将结果按 “总成绩 ”降序排序存储到表 four中。表 four(需要自己创建或生成 )的

5、字段名为: “考生号 ”、 “姓名 ”、 “性别 ”、 “单位 ”、 “政治成绩 ”、 “外语成绩 ”、 “高数成绩 ”、 “专业课成绩 ”、 “总成绩 ”(各成绩字段的类型为 N(5, 1),其他字段的类型与原表中一致 )。 单击 “退出 ”按钮 (Command2)时,关闭表单。 表单设计完 成后,运行表单,单击 “录取 ”按钮进行统计,然后单击 “退出 ”按钮关闭表单。 注:在考试科目代码表 dm中存储了各考试科目与考试科目名对应关系。 国家二级 VF机试模拟试卷 217答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY DATABASE

6、 SELLDB,打开 SELLDB数据库设计器。 在数据库设计器中右击鼠标,选择【新建表】快捷菜单命令。在弹出的 “新建表 ”对话框中单击 “新建表 ”图标按钮,然后在弹出的 “创建 ”对话框的 “输入表 名 ”框中输入 “客户表 ”,单击 “保存 ”按钮打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击 “确定 ”按钮。此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,本题不要求录入数据,单击 “否 ”按钮。 (2)在数据库设计器中右击刚建立的 “客户表 ”,选择【修改】快捷菜单命令,打开 “客户 ”表设计器,在 “字段 ”选项卡中选中 “

7、客户号 ”,在 “索引 ”列中选择 “升序 ”,然后在 “索引 ”选项卡中修改其 “类型 ”为 “主索引 ”,单击 “确定 ”按钮保存表结构修改。 (3)在命令窗口执行命令: ALTER TABLE部门成本表 ADD备注 C(20),新增表字段。 (4) 在命令窗口执行命令: USE客户表 ,打开 “客户表 ”。 在命令窗口执行命令: CREATE REPORT P-S,打开报表设计器,然后执行【报表】 【快速报表】菜单命令,在弹出的 “快速报表 ”对话框中单击 “确定 ”按钮新建快速报表,预览和保存报表设计。 执行【报表】 【标题总结】菜单命令,在弹出的 “标题总结 ”对话框中分别勾选 “标

8、题带区 ”,单击 “确定 ”按钮可以看到报表设计器中添加了 “标题 ”带区。 通过 “报表控件 ”工具栏向报表的 “标题 ”带区添加一个标签控件,并输入标签标题:客户表一览表,适当地调整标签的位置,保存报表修改。 【试题解析】 本题考查了数据表的建立及修改;索引的建立;快速报表的创建。 创建数据库表时,需要先打开数据库文件,可以使用命令打开表设计器,也可以通过数据库设计器打开表设计器建立表和修改表结构。 表索引也可以在表设计器中建立,在表设计器的 “字段 ”选项卡中可先建立一个普通索引,然后在 “索引 ”选项卡中修改索引类 型。 快速报表的建立需要在报表设计器中进行,在报表设计器中可以通过菜单

9、命令启动建立快速报表的功能,建立快速报表前应先指定报表的数据源。 二、简单应用题( 40分) 2 【正确答案】 (1)步骤 1:在命令窗口执行命令: MODIFY FORM formone,打开表单设计器修改表单。 步骤 2:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在 “添加表或视图 ”对话框中双击 orders表和 employee表,将表添加到数据环境中。 步骤 3:在 “属性 ”面板的下拉框 中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 2-17。步骤 4:双击表单中的组合框(Combo1),修改事件代码,组合框的原 In

10、teractiveChange事件代码如下: *下面代码的功能是读取所选职员的职员号,然后计算该职员所签订单的平均金额,并显示在文本框内。 *修改所有 *FOUND*下面的一条语句。 *不能修改其他语句,不能增加语句,也不能删除语句。 dime a(1, 1)a(1, 1)=0m1=employee职员号 select avg(金额 )from orders where 职员号 =m1 into array am2=a(1, 1)* found *text1 value=m2修改程序中的错误行,修改后的程序如下: dime a(1, 1)a(1,1)=0m1=employee职员号 selec

11、t avg(金额 )from orders where职员号 =m1 into array am2=a(1, 1)* FOUND *thisform text1 value=m2 步骤 5:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: OPEN DATABASE订单管理,打开数据库环境。 步骤 2:在命令窗口执行命令: CREATE QUERY queryone,打开查询设计器,在 “添加表或视图 ”对话框中,分别双击 employee表和 orders表,将表添加到查询设计器中。 步骤3:添加两个表后,系统弹出 “联

12、接条件 ”对话框,自动查找两个表中相匹配的字段进行联接,单击 “确定 ”按钮设置两个表的联系。 步骤 4:依次双击 orders表中的“订单号 ”和 “金额 ”字段,添加到 “字段 ”选项卡的 “选定字段 ”列表中;然后在 “字段 ”选项卡左下方的 “函数和表达式 ”文本框中输入: Employee姓名 AS签订者,再单击 “添加 ”按钮将表达式添加到 “字段 ”选项卡的 “选定字段 ”列表中。 步骤 5:在 “筛选 ”选项卡的 “字段名 ”下拉列表中选择 “ Employee组别 ”字段,在 “条件 ”下拉框中选择 “=”,在 “实例 ”框中输入 “1”。 步骤 6:在 “排序依据 ”选项卡

13、内双击 “选定字段 ”列表框中的 “Orders金额 ”字段,将字段添加到 “排序条件 ”列表框中,在 “排序选项 ”中选择 “降序 ”单选项。 步骤 7:执行【查询】 【查询去向】菜单命令,在弹出的 “查询去向 ”对话框中单击 “表 ”图标按钮,接着在 “表名 ”中输入文件名tableone,单击 “确定 ”按钮。 步骤 8:最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 【试题解析】 (1)本题考 查了表单及控件的常用属性和方法的设置; SQL简单计算查询。 首先打开表单数据环境向数据环境中添加数据表 orders表和 employee表,接着,通过

14、 RowSourceType和 RowSource属性可以设置组合框中显示的数据,当显示的是字段值时,可以设置数船源类型为 “字段 ”。 表单基本设置完成后开始设计组合框的事件代码,可以很容易看出本题事件中代码的错误原因是没有正确引用表单中的文本框。 (2)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认 查询输出的字段来源于哪个数据表;设置查询条件是在 “筛选 ”选项卡中进行;设置排序是在 “排序依据 ”选项卡中进行,在设置排序方式时,需要每指定一个排序字段时,便要指定一次排序方式,升序为默认的排序方式;查询去向可通过执行【查询】 【查询去向】菜单命

15、令,在 “查询去向 ”时话框中进行操作。 三、综合应用题( 30分) 3 【正确答案】 步骤 1:在命令窗口执行命令: CREATE FORM form,打开表单设计器新建表单。从 “表单工具栏 ”中依次向表单添加两个命令按钮。 步骤 2:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 2-16。 步骤 3:双击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代码如下: *“录取 ”按钮的Click事件代码 *OPEN DATABASE SDBSELECT KSB考生号,姓名,性别,单位, SUM(成绩 )总成绩 FROM KSB, KSCJB;

16、WHERE KSB考生号=KSCJB考生号 GROUP BY KSB考生号; HAVING SUM(成绩 ) =330 INTO CURSORTEMP1SELECT考生号,姓名,性别,单位 FROMTEMP1; ORDER BY总成绩 DESC INTO TABLEFOURALTER TABLE FOUR ADD政治成绩 N(5,1)ALTER TABLE FOUR ADD外语成绩 N(5, 1)ALTER TABLE FOUR ADD高数成绩 N(5, 1)ALTER TABLE FOUR ADD专业课成绩 N(5, 1)ALTER TABLE FOUR ADD总成绩 N(5, 1)SELE

17、CT 考生号,考试科目名,成绩 FROM KSCJB,DMWHERE KSCJB考试科目 =DM考试科目; INTO CURSOR TEMP2SELECT FOURDO WHILE NOT EOF() SELECT成绩 FROM TEMP2 WHER考生号=FOUR考生号 AND考试科目名 =“政治 “, INTO ARRAY A1 REPLACE 政治成绩 WITH A1 SELECT 成绩 FROM TEMP2 WHER 考生号 =FOUR考生号 AND 考试科目名 =“外语 “; INTO ARRAY A2 REPLACE外语成绩 WITH A2 SELECT成绩FROM TEMP2 W

18、HER考生号 =FOUR考生号 AND考试科目名 =”高等数学 ”; INTO ARRAY A3 REPLACE高数成绩 WITH A3 SELE成绩 FROM TEMP2 WHER考生号 =FOUR考生号 AND考试科目名 =“专业课 “; INTO ARRAY A4 REPLACE专业课成绩 WITH A4 REPLACE总成绩 WITH政治成绩 +外语成绩 +高数成绩 +专业课成绩 SKIP ENDDO CLOSE DATABASE*“退出 ”按钮的 Click事件代码料* THISFORM RELEASE 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮运行表单,单击 “录取 ”按

19、钮进行计算,然后单击 “退出 ”按钮关闭表单。 【试题解析】 本题主要考查的是表单的建立,常用属性的设置, DO WHILE循环结构和 SQL分组计算查询、 SQL定义功能、 Visual FoxPro修改记录命令。 对本题操作时,首先建立表单及其表单控件,并修改对象的属性值,然后对命令按钮编写事件代码。 本题所设计的的程序代码有些难度,需要考生好好掌握。基本解题思路可按以下步骤进行: 第一步,根据 ksb和 kscjb两张表,利用分组计算查询求出总成绩大于等于 330分的考生的考生号、姓名、性别、单 位和总成绩,将结果保存到一个临时表temp1中。这里,总成绩用 SUM函数实现。 第二步,通

20、过临时表 temp1查找出考生号、姓名、性别、单位四个字段,并按总成绩降序排序,将结果保存到表 FOUR中在这里,这四个字段正是题目中要求的 FOUR表的前四个字段。 第三步,分别用五个 “ALTER TABLE”语句为 FOUR表增加五个字段:政治成绩、外语成绩、高数成绩、专业课成绩和总成绩。注意,这里为表增加字段的关键字是 ADD。此时,题目所要求的 FOUR表的结构已经完成,并且前四个字段的值也已经按要求完成 了,下面的任务就是将后五个字段的值填充完整。 第四步,根据 dm和 kscjb两张表求出所有考生的考生号、考试科目名和成绩,将结果保存到临时表 temp2中。 第五步,将 FOUR

21、表作为当前表,将记录指针指向文件首,然后开始执行 DO WHILE循环对 FOUR表中的每条记录进行处理。 DO WHILE语句的循环条件是当记录指针没有到达 FOUR表末尾时,执行循环体中的语句。循环体功能:用SQL简单查询临时表 temp2中求出与 FOUR表当前所指记录 “考生号 ”相同并且“考试科目名 ”是 “政治 ”的 “成绩 ”字段值, 将该值保存到数组 a1中,再通过REPLACE命令修改 four表当前记录的 “政治成绩 ”字段值。参照以上操作,可以将 four表当前记录的 “外语成绩 ”、 “高数成绩 ”和 “专业课成绩 ”三个字段值进行修改。而当前记录的 “总成绩 ”字段值可以由当前记录的 “政治成绩 ”、 “荚语成绩 ”、“高数成绩 ”和 “专业课成绩 ”的和得到。修改完毕后, four表的记录指针指向下一条记录,又开始继续表指针是否到达表末尾,如果没有,则进入循环体继续同样的操作,直到 four表的记录指针指向表末尾,处理完 four表中的所有记录,程序结束。

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

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

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