1、国家二级 VF机试模拟试卷 120及答案与解析 一、基本操作题( 30分) 1 (1)修改菜单 my_menu, my_menu中的 “文件 ”菜单项下有子菜单项 “新建 ”“打开 ”、 “关闭 ”和 “退出 ”,请在 “关闭 ”和 “退出 ”之间加一条水平的分组线,并为 “退出 ”菜单项设置一条返回到系统菜单的命令 (不可以使用过程 )。 (2)创建一个快速报表 sport_report,报表中包含了表 “金牌榜 ”中的 “国家代码 ”和“金牌数 ”两个字段。 (3)使用 SQL建立表的语句建立一个与自由表 “金牌榜 ”结构完全一样的自由表golden dbf。请将该 SQL语句存储在文件
2、one prg中,否则不得分。 (4)使用 SQL语句向自由表 golden dbf中添加一条记录 (“011“, 9, 7, 11)。请将该 SQL语句存储在文件 two prg中,否则不得分。 二、简单应用题( 40分) 2 在考生文件夹下,打开 “订货管理 ”数据库,完成如下简单应用: (1)使用报表向导建立一个简单报表。要求:选择客户表中的所有字段;记录不分组;报表样式为 “随意式 ”;列数为 “1”,字段布局为 “列 ”,方向为 “纵向 ”;排序字段为 “客户编号 ”,升 序;报表标题为 “客户信息一览表 ”;报表文件名为 “bb1。 (2)使用命令建立一个名称为 “view1”的视
3、图,并将定义视图的命令代码存放到命令文件 “view1 prg”中。视图中包括客户的客户编号、客户名称、商品名称、价格、数量和金额 (金额 =价格 *数量 ),结果按 “客户编号 ”升序排序。 三、综合应用题( 30分) 3 利用菜单设计器建立一个菜单 “cd1”,要求如下: 主菜单 (条形菜单 )的菜单项包括 “计算 ”和 “关闭 ”两项, “计算 ”菜单下有两个菜单项 “计算平均成绩 (按课程 )”和 “计算平均成绩 (按学号 )”。 “计算平均成绩 (按课程 )”菜单项的功能是计算各门课程的平均成绩,计算结果包含 “课程编号 ”“课程名称 ”和 “平均成绩 ”3个字段。并将统计结果按课程
4、名升序保存在表 “result1”中。 “计算平均成绩 (按学号 )”菜单项的功能是计算每个学生的平均成绩计算结果包含 “学号 ”“姓名 ”和 “平均成绩 ”3个字段,并将统计结果按学号升序保存到表“resuh2”中。 “关闭 ”菜单项的功能是返回 Visual FoxPro系统菜单 (SET SYSMENU TO DEFAULT)。 菜单建立后,运行该菜单中各个菜单项。 国家二级 VF机试模拟试卷 120答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY MENU my-menu,打开菜单设计器,接着单击菜单设计器中 “文件 ”行的 “编辑
5、”按钮进入子菜单界面。 选中 “退出 ”子菜单命令,然后单击菜单设计器右边的 “插入 ”命令按钮,插入一个菜单名称为 “新菜单项 ”菜单行,修改菜单名称为: -。 修改 “退出 ”菜单命令的 “结果 ”项为 “命令 ”,并输入命令语句: SET SYSMENU TO DEFAULT。 执行【菜单】 【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击“是 ”按钮,接着系统会弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件。 在命令窗口执行命令: DO my_menu mpr,运行菜单查看结果。 (2) 在命令窗口执行命令: USE金牌榜,打开 “金牌榜 ”
6、表。 在命令窗口执行命令: CREATE REPORT sport_report,打开报表设计器,然后执 行【报表】 【快速报表】菜单命令,在弹出的 “快速报表 ”对话框中单击 “字段 ”命令按钮,在弹出的 “字段选择器 ”对话框中,将 “国家代码 ”和 “金牌数 ”两个字段添加到 “选定字段 ”列表框中,单击 “确定 ”按钮关闭 “字段选择器 ”对话框。 接着单击 “确定 ”按钮,关闭 “快速报表 ”对话框,新建快速报表,预览并保存报表设计。 (3) 在命令窗口执行命令: MODIFY COMMAND one,打开程序文件编辑器。 在编辑器中输入代码: CREATE TABLE golden
7、(国家代码 C(3),金牌数 I,铜牌数 I)。 在命令窗口执行命令: DO one prg,执行程序文件。 (4) 在命令窗口执行命令: MODIFY COMMAND two,打开程序文件编辑器。 在编辑器中输入代码: INSERT INTO golden VALUES(“011“, 9, 7,11)。 在命令窗口执行命令: DO two prg,执行程序文件。 【试题解析】 本题考查了菜单设计器的使用;快速报表的建立; SQL查询语句; SQL数据插入语句。 在菜单设计过程中,注意插入的水平线同样是占一行菜单命令,水平线用 “ -”符号表示;快速报表的建立需要在报表设计器中进行,在报表设计
8、器中可以通过菜单命令启动建立快速报表的功能,建立快速报表前应先指定报表的数据源;利用 SQL的 CTREATE TABLE命令可以新建数据表; SQL插入语句只需直接套用命令格式即可完成本题表记录的插入。 二、简单应用题( 40分) 2 【正确答案】 (1) 选择【文件】 【 新建】命令,选择 “报表 ”,单击 “向导 ”按钮打开 “向导选取 ”窗口,选择 “报表向导 ”,单击 “确定 ”按钮进入 “报表向导 ”对话框。 在 “报表向导 ”对话框中,选择 “订货管理 ”数据库下的 “客户 ”数据表,并把全部“可用字段 ”添加到 “选定字段 ”列表框中。 连续单击 “下一步 ”进入 “选择报表样
9、式 ”的界面,在 “样式 ”列表框中选择 “随意式 ”。 单击 “下一步 ”进入 “定义报表布局 ”,设置 “列数 ”为 “1”在 “字段布局 ”选项组中选择 “列 ”, “方向 ”为 “纵向 ”。 单击 “下一步 ”进入 “排序记录 ”的设计 界面,将 “可用字段或索引标识 ”列表框中的 “客户编号 ”字段添加到右边的 “选定字段 ”列表框中,并选择 “升序 ”单选项。 单击 “下一步 ”,进入最后的 “完成 ”设计界面,在 “报表标题 ”文本框中输入 “客户信息一览表 ”为报表添加标题,单击 “完成 ”命令按钮,在系统弹出的 “另存为 ”对话框中,将报表以 “bb1”文件名保存在考生文件夹
10、下,退出报表设计向导。 (2) 在命令窗口中输入命令: MODI COMM view1(回车执行 ),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码: OPEN DATABASE订货管理 dbc CREATE VIEW view1 As SELECT客户客户编号,客户名称,商品名称,价格,数量,价格 *数量 AS金额 FROM客户,商品信息, order_m, order_d WHERE order_m订单编号 =order_d订单编号 AND order_d商品编号 =商品信息商品编号 AND orde_m客户编号 =客户客户编号 ORDER BY客户客户编号 关闭程序文件编辑窗
11、口并保存程序文件。 在命令窗口中输入命令: DO vlewl(回车执行 ),执行程序文件,创建视图“view1”。 三、综合应用题( 30分) 3 【正确答案】 选择【文件】 【新建】命令,选择 “菜单 ”,单击 “新建文件 ”按钮,再单击 “菜单 ”按钮,打开菜单设计器,存 “菜单名称 ”中输入 “计算 ”,在 “结果 ”下拉列表框中选择 “子菜单 ”,单击 “创建 ”按钮创建 “计算 ”子菜单。 输入子菜单名称 “计算平均成绩 (按课程 )”,在 “结果 ”下拉列表框中选择 “过程 ”单击 “创建 ”按钮创建 “计算平均成绩 (按课程 )”子菜单过程,在菜单过程代码编辑窗口中输入以下代码:
12、 SELECT课程 课程编号,课程名称, AVG(成绩 )AS平均成绩 INTO TABLE resultl FROM课程,成绩 WHERE课程课程编号 =成绩课程编号 GROUP BY课程课程编号 关闭菜单过程代码编辑窗口回到菜单设计器。 单击下一行,输入子菜单名称 “计算平均成绩 (按学号 )”,在 “结果 ”下拉列表框中选择 “过程 ”,单击 “创建 ”按钮创建 “计算平均成绩 (按学号 )”子菜单过程,在菜单过程代码编辑窗口中输入以下代码: SELECl、学生学号,姓名, AVG(成绩 )AS平均成绩 INTO TABLE result2 FROM学生,成绩 WHERE学生学号 =成绩
13、学号 GROUP BY学生学号 关闭菜单过程代码编辑窗口回到菜单设计器。 在菜单设计器左边的 “菜单级 ”下拉列表框中选择 “菜单栏 ”返回到主菜单设计画而,单击下一行,输入菜单名称 “关闭 ”,在 “结果 ”下拉列表框中选择 “命令 ”,在“选项 ”处输入 “关闭 ”命令: SET SYSMENU TO DEFAULT。 选择【菜单】 【生成】命令,将菜单保存为 “cd1”,生成一个菜单文件 “cd1 mpr”。关闭菜单设计窗口,在命令窗口输入命令: DO cd1 mpr,看到 Visual FoxPro的菜单栏被新建的菜单所代替,运行该菜单中各个菜单项,最后单击 “关闭 ”菜单命令将恢复系统菜单。