1、国家二级 VF机试模拟试卷 59及答案与解析 一、基本操作题( 30分) 1 1. 请在考生文件夹下建立一个项目 wy。 2将考生文件夹下的数据库 ks4加入到新建的项目 wy中去。 3利用视图设计器在数据库中建立视图 view_1,视图包括 gjhy表的全部字段 (顺序同 gjhy中的字段 )和全部记录。 4从表 hjqk中查询 “奖级 ”为 “一等 ”的学生的全部信息 (hjqk表的全部字段 ),并按分数的降序存入新表 new1中。 二、简单应用题( 40分) 2 (1)在考生文件夹下建立数据库 sc2,将考生文件夹下的 自由表 score2添加进 sc2中。根据 score2表建立一个视
2、图 score_view,视图中包含的字段与 score2表相同,但视图中只能查询到积分小于 1500的信息。然后利用新建立的视图查询视图中的全部信息,并将结果按 “积分 ”升序存入表 v2。 (2)建立一个菜单 filemenu,包括两个菜单项 “文件 ”和 “帮助 ”, “文件 ”将激活子菜单,该子菜单包括 “打开 ”、 “存为 ”和 “关闭 ”3个菜单项; “关闭 ”使用 SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能不作要求。 三、综合 应用题( 30分) 3 在考生文件夹下有仓库数据库 gz3,其中包括如下两个表文件: zg(仓库号 C(4),职工号
3、 C(4),工资 N(4) dgd(职工号 C(4),供应商号 C(4),订购单号 C(4),订购日期 D,总金额 N(10) 首先在 gz3库中建立工资文件数据表 gj(职工号 C(4),工资 N(4)。设计一个名为chaxun的菜单,菜单中有两个菜单项 “查询 ”和 “退出 ”。程序运行时,单击 “查洵 ”应完成下列操作:检索出与供应商 S7、 S4和 S6都有业务联系的职工的职工号和工资,并按工资降序存放 到所建立的 gj文件中。单击 “退出 ”单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下 ) 国家二级 VF机试模拟试卷 59答案与解析 一、基本操作题( 30分) 1 【
4、正确答案】 1启动 Visual FoxPro后,在命令窗口输入命令: CREATE PROJECT wy,新建一个项目管理器。 2在项目管理器 wy中,单击 “数据 ”选项卡,然后选中列表框中的 “数据库 ”,单击选项卡右边的 “添加 ”命令按钮,系统弹出 “打开 ”对话框,将考生文件下的 ks4数据库文件:添加到项目管理器中。 3在 “数据 ”选项卡中,依次展开 “数据库 ”“ks4” ,选中 ks4分支下的 “本地视图 ”,单击项目管理器右边的 “新建 ”命令按钮,在弹出的 “新建本地视图 ”对话框中,单击 “新建视图 ”图标按钮,打开视图设计器,将 gjhy数据表添加到视图设计器中。根
5、据题意,在视图设计器的 “字段 ”选项卡中,将 “可用字段 ”列表框中的字段个部添加到右边的 “选定字段 ”列表框中,完成视图设计,将视图以 view 1文件名保存在考生文件夹下。 4在 “数据 ”选项卡中选中 “查询 ”,然后单击 “新建 ”命令按钮,单击 “新建查询 ”对话框中的 “新建查询 ”图标按钮,打开查询设计器,将数据表 hjqk添加到查询设计器中。根据题意,在查询设计器的 “字段 ”选项卡中,将 “可用字段 ”列表框中的字段全部添加到右边的 “选定字段 ”列表框中;单击 “筛选 ”选项卡,在 “字段名 ”下拉框中选择 “hjqk奖级 ”字段,在 “条件 ”下拉框中选择 “=”,在
6、 “实例 ”文本框中输入 “一等 ”:在 “排序依据 ”选项卡中将 “选定字段 ”列表框中的 “hjqk分数 ”字段添加到右边的 “排序条件 ”中,在 “排序选项 ”中选择 “降序 ”,最后通过菜单命令 “查询 ”“ 查洵去向 ”,打开 “查询去向 ”对话框,在对话框中选择 “表 ”,在 “表名 ”文本框中输入用米保存查询结果的数据表文件名 new1。利用菜单命令 “查询 ”“ 运行查询 ”,系统将自动保存查询结果到数据表 new1中。 【试题解析】 本大题考查的主要是项目管理器中 “数据 ”选项卡里面所包含的 3个重要内容的设计,包括数据库、视图和查询,需要注意的是新建视图文件时,首先应该打
7、开相应的数据库,且视图文件在磁盘中是找不到的,直接保存在数据库中。 二、简单应用题( 40分) 2 【正确答案】 (1)在命令窗口输入命令: MODIFY DATABASE sc2,新建一个数据库文件,在数据库 设计器中将考生文件夹下的自由表 score2添加到数据库中,如图 3-1所示。 利用菜单命令或常用工具栏中的按钮,打开 “新建 ”对话框,新建一个视图文件 ,将数据表 score2添加到视图设计器中。视图设计器中有 6个选项卡,根据题意,在 “字段 ”选项卡中,单击 “全部添加 ”命令按钮,将“可用字段 ”列表框中的 3个字段全部添加到右边的 “选定字段 ”列表框中,接着在“筛选 ”选
8、项卡中的 “字段名 ”下拉框中选择 “score2.积分 ”字段,在 “条件 ”下拉框中选择 “ ”,在 “实例 ”文本框中输入 “1500”,然后在 “排序依据 ”选项卡中,将 “可用字段 ”列表框中的 “score2.积分 ”字段添加到右边的 “选定字段 ”列表框中,在 “排序选项 ”中选择 “升序 ”单选项,将视图文件以 score view名保存在考生文件夹下,如图 3-2所示。 因为视图设计器中没有 “查询去向 ”的问题,因此要将查询结果保存在数据表中,必须利用查询设计器来完成。在 “新建 ”对话框中选择 “查询 ”单选项,打开查询设计器,将视图 score view添加到查询设计器
9、中,如图 3-3所示。 在查询设计器的 “字段 ”选项卡中,单击 “全部添加 ”命令按钮,将 “可用字段 ”列表框中的字段全部添加到 “选定字段 ”中,然后执行菜单命令“查询 ”“查询去向 ”,系统弹出 “查询去向 ”对话框,在对话框中单击 “表 ”按钮,在“表名 ”文本框中输入保存查询结果的表名 v2,单击 “确定 ”按钮关闭对话框。 执行菜单命令 “查询 ”“运行查询 ”,查询结果将自动保存到数据表 v2中。 (2)在命令窗口输入命令: CREATE MENU filemenu,系统弹出一个 “新建 ”对话框,在对话框中单击 “菜单 ”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主
10、菜单名称“文件 ”和 “帮助 ”,在 “结果 ”下拉框中全部选择 “子菜单 ”。单击 “文件 ”名行中的 “创建 ”按钮进入下级菜单的设计界面,此设计窗口与主窗口大致相同,然后编写每个子菜单项的名称 “打开 ”、 “存为 ”和 “关闭 ”,如图 3-4所示。根据题意,系统 不再要求设计下级菜单,因此在 3个子菜单的 “结果 ”对话框中选择 “过程 ”或 “命令 ”。最后在 “关闭 ”菜单项的 “命令 ”文本框中编写程序代码: SET SYSMENU TO DEFAULT。要回到上级菜单,只要从窗口的 “菜单级 ”下拉框中选择 “菜单栏 ”即可。选择菜单命令 “菜单 ”“生成 ”,生成一个菜单文
11、件 filemenu.mpr,如图 3-5所示。【试题解析】 本大题 1小题考查的主要是视图的建立及查询,我们可以在视图设计器中根据题意为自由表建立一个视图文件 score_view,并在视图设计器的对应选项卡中为视图设 置条件,然后通过查询设计器完成视图的查询,并决定输出去向为表。 2小题中主要是考查菜单设计器的 “结果 ”下拉框中各项的使用功能,例如要建立下级菜单,在 “结果 ”下拉框中就必须选择 “子菜单 ”,而要执行某条菜单命令,就应该选择 “命令 ”或 “过程 ”。 三、综合应用题( 30分) 3 【正确答案】 在命令窗口输入命令: MODIFY DATABASE gz3,打开数据库
12、设计器,右击数据库,选择 “新建表 ”快捷菜单命令,表名为 sj保存到考生文件夹下,接着在表设计器中根据题意,设置两个字段的字段名、类型及宽度。 在命 令窗口输入命令: CREATE MENU chaxun,系统弹出一个 “新建菜单 ”对话框,在对话框中单击 “菜单 ”图形按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称 “查询 ”和 “退出 ”,接着在 “查询 ”菜单行的 “结果 ”下拉框中选择“过程 ”选项,在 “退出 ”菜单行的 “结果 ”下拉框中选择 “命令 ”选项。 单击 “查询 ”菜单行中的 “创建 ”按钮,进入程序设计的编辑窗口,在程序编辑器中输入如下程序段: *“
13、查询 ”菜单命令的程序设计 * SELECT DISTINCT zg.职工号, zg.工资 FROM zg,dgd; WHERE zg职工号 =dgd.职工号; ANDzg.职工号 IN; (SELECT职工号 FROM dgd WHERE供应商号 =“S4“); AND zg.职工号 IN(SELECT职工号 FROM dgd WHERE供应商号 =“S6“); AND zg.职工号 IN(SELECT职工号 FROM dgd WHERE供应商号 =“S7“); ORDER BY zg.工资 DESC; INTO ARRAY arr INSERT INTO gj FROM ARRAY arr
14、 * 在 “退出 ”菜单项的 “命令 ”文本框中编写程序代码 SET SYSMENU TO DEFAULT。 选择菜单命令 “菜单 ”“ 生成 ”,:生成一个菜单文件 chaxun.mpr。关闭设计窗口,在命令窗口输入命令: DO CHAXUN mpr,看到 Visual FoxPro的菜单栏被新建的菜单所代替,单击 “退出 ”菜单命令将恢复系统菜单。 执行 “查询 ”菜单命 令后,查询结果将保存到 gj.dbf表中。 【试题解析】 本大题主要考查的是利用 SQL中特殊运算符进行多表的连接查询,本题中可使用 IN运算符进行包含查询,将查询结果写入新表时,由于表已经存在于数据库中,因此不能直接使用 SQL直接输出到表的短语,但可以将结果先写入数组,然后通过数组将查询结果插入到新表 gj中。