1、国家二级 VF机试模拟试卷 194及答案与解析 一、基本操作题( 30分) 1 (1)新建一个名为 “图书管理 ”的项目。 (2)在项目中建一个名为 “图书 ”的数据库。 (3)将考生文件夹下的自由表 books、 borrows和 loans添加到 “图书 ”数据库中。 (4)在项目中建立查询 tscx,查询 books表中 “价格 ”大于等于 “70”的图书的所有信息,查询结果按 “价格 ”降序。 二、简单应用题( 40分) 2 (1)根据考生文件夹下的 xxx表和 jjj表建立一个查询 chaxun,查询 “工作单位 ”是“复 旦大学 ”的所有教师的 “姓名 ”、 “职称 ”、 “联系电
2、话 ”,要求查询去向是表,表名是 cx1 dbf,并执行该查询 (“姓名 ”、 “职称 ”取自表 jjj, “联系电话 ”取自表 xxx)。 (2)建立表单 form1,表单中有两个命令按钮,按钮的名称分别为 query和 close,标题分别为 “查询 ”和 “关闭 ”。 三、综合应用题( 30分) 3 利用表设计器在考生文件夹下建立表 table3,表结构如下: 学号 字符型 (10) 姓名 字符型 (6) 课程名 字符型 (8) 分数 数值型 (5, 1) 然后编写程序 prog1 prg,从 xuesheng表和 thengji表中找出所有成绩不及格 (分数小于 60)的学生信息 (学
3、号、姓名、课程名和分数 ),并把这些数据保存到表 table3中 (若一个学生有多门课程不及格,在表 table3中就会有多条记录 )。表 table3中的各记录应该按 “分数 ”升序排序,分数相同则按 “学号 ”降序排序。 要求在程序中用 SET RELATION命令建立 chengji表和 xuesheng表之间的关联(同时用 INDEX命令建立相关的索引 ),并通过 DO WHILE循环语句实现规定的功能。最后运行程序。 国家二级 VF机试模拟试卷 194答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)在命令窗口执行命令: CREATE PROJECT图书管理,新建一个项
4、目管理器。 (2) 在项目管理器中选中 “数据 ”选项卡内的 “数据库 ”项,然后单击“新建 ”按钮,系统弹出 “新建数据库 ”对话框。 单击 “新建数据库 ”图标按钮,在弹出的 “创建 ”对话框的 “数据库名 ”文本框中输入 “图书 ”。 单击 “保存 ”命令按钮将数据库文件保存在考生文件夹下。如图 2-1所示。(3) 接上 一小题操作,在新建的 “图书 ”数据库设计器中单击右键,选择【添加表】快捷菜单命令,在弹出的“打开 ”对话框中双击自由表 books,将表添加到数据库中。如图 2-2所示。 以同样的方法,将 borrows表和 loans表添加到数据库中。 (4) 在项目管理器中选中
5、“数据 ”选项卡内的 “查询 ”项,然后单击 “新建 ”按钮,系统弹出 “新建查询 ”对话框,然后单击 “新建查询 ”按钮,打开查询设计器,在 “添加表或视图 ”对话框中,双击 books表,将表添加到查询设计器中。如图 2-3所示。 在 “字段 ”选项卡中单击 “全部添加 ”按钮, 将 “可用字段 ”中的全部字段添加到 “选定字段 ”中。 在 “筛选 ”选项卡的 “字段名 ”下拉列表中选择 “books价格 ”字段,在 “条件 ”下拉框中选择 “ =”,在 “实例 ”框中输入 “70”。 在 “排序依据 ”选项卡内双击 “选定字段 ”列表框中的 “books价格 ”字段,将字段添加到 “排序
6、条件 ”列表框中,在 “排序选项 ”中选择 “降序 ”单选项。 单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件以文件名 tsex保存到考生文件夹下。 【试题解析】 本大题考查了项目管理器的基本操作及使用:查询设计器的使用。 新建项目可以通过菜单、工具栏或命令方式完成;在项目中新建库及向数据库中添加表,可以通过项目管理器右侧的 “新建 ”和 “添加 ”命令按钮完成。 建立查询文件要在查询设计器中完成,筛选条件在 “筛选 ”选项卡中设置,查询结果排序条件在 “排序依据 ”选项卡中进行设置。 二、简单应用题( 40分) 2 【正确答案】 (1)步骤 1:在命令窗口执行命令: CREA
7、TE QUERY chaxun,打开查询设计器。在 “添加表或视图 ”对话框中单击 “其他 ”按钮,然后在弹出的 “打开 ”对话框中双击 xxx表,将表添加到查询设计器中,以同 样的方法将 jjj表也添加到查询设计器中。 步骤 2:添加两个表后,系统弹出 “联接条件 ”对话框,自动查找两个表中相匹配的字段进行联接,单击 “确定 ”按钮设置两个表的联系。如图 2-9所示。步骤 3:依次双击 jjj表中的 “姓名 ”、 “职称 ”字段和 xxx表中的 “联系电话 ”字段,添加到 “字段 ”选项卡的“选定字段 ”列表中;然后在 “筛选 ”选项卡的 “字段名 ”下拉列表中选择 “xxx工作单位 ”字段
8、,在 “条件 ”下拉框中选择 “=”,在 “实例 ”框中输入 “复旦大学 ”。 步骤 4:执行【查询】 【查询去向】菜单命令,在弹出的 “查询去向 ”对话 框中单击 “表 ”图标按钮,接着在 “表名 ”中输入文件名 cx1,单击 “确定 ”按钮。如图 2-10所示。步骤 5:最后单击 “常用 ”工具栏中的“运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: CREATE FORM form1,打开表单设计器新建表单。从 “表单控件 ”工具栏中依次向表单添加两个命令按钮控件。 步骤 2:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对
9、象属性值,见表 2-2。【试题解析】 (1)本题考查的是在查询设计器中新建查询的操作。操作过程中要注意确认查询输出的字段来源于哪个数据表,设置查询条件是在 “筛选 ”选项卡中进行,查询去向可通过执行【查询】 【查询去向】菜单命令,在 “查询去向 ”对话框中进行操作,本题属于一个比较简单的查询操作。 (2)本题考查的是表单的创建及表单和控件最常见属性的修改,新建表单可以通过打开 “新建 ”对话框进行操作,也可以直接通过命令完成;向表单添加控件可以通过选择 “表单控件 ”工具栏中的按钮完成,而属性的修改可以在 “属性 ”面板中进行。 三 、综合应用题( 30分) 3 【正确答案】 步骤 1:在命令
10、窗口执行命令: CREATE table3,打开数据表设计器新建表。 步骤 2:根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击 “确定 ”按钮,此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”, 本题不需要录入数据,单击 “否 ”按钮。 步骤 3:在命令窗口执行命令: MODIFY COMMAND prog1,打开程序文件编辑器。 步骤 4:在编辑器中输入如下程序代码: CLEAR CLOSE DATA ALL SELECT 0 USE TABLE3 DELE ALL PACK COPY TO TTT SELECT 0 USE TTT SELECT 0
11、USE XUESHENG INDEX ON学号 TAG学号 SELECT 0 USE CHENGJI SET RELATION TO学号 INTO XUESHENG GO TOP DO WHILE NOT EOF() IF数学 60 SELECT TTT APPEND BLANK REPLACE 学号 WITH XUESHENG学号,姓名 WITH XUESHENG姓名 REPLACE 课程名 WITH “数学 “,分数 WITH CHENGJI数学 SELECT CHENGJI ENDIF IF英语 60 SELECT TTT APPEND BLANK REPLACE 学号 WITH XUE
12、SHENG学号,姓名 WITH XUESHENG姓名 REPLACE 课程名 WITH “英语 “,分数 WITH CHENGJI英语 SELECT CHENGJI ENDIF IF信息技术 60 SELECT TTT APPEND BLANK REPLACE 学号 WITH XUESHENG学号,姓名 WITH XUESHENG姓名REPLACE 课程名 WITH “信息技术 “,分数 WITH CHENGJI信息技术 SELECT CHENGJI ENDIF SKIP ENDDO SELECT TTT SORT ON分数,学号 D TO TTTI SELECT TABLE3 APPEND
13、FROM TTT1 CLOSE DATA ALL 步骤 5:在命令窗口执行命令: DO prog1,执行文件。 【试题解析】 本大题考查了表的基本操作;程序文件的建立及运行;表间关联:表记录的插入及物理排序,条件程序结构和 DO WHLIE程序结构设计。本题所涉及的知识点比较多,需要考生非常清楚解题流程。基本解题思路可按以下步骤进行: 表的建立和程序的建立都属于比较基本的操作。本题的关键是程序文件代码的设计。编写程序代码基本思 路如下:根据题意,首先初始化数据表 table3(将记录清空,避免下次执行程序时,重复追加记录 ),然后将该表复制一个新的表文件ttt,并在新的工作区中打开该表文件。
14、建立表间关联。在两个不同的工作区中打开 xuesheng表和 chengji表,并为两个表建立索引,通过索引表达式对两个表建立关联。 查找 chengji表中不及格的成绩记录。利用 DO WHILE循环对 chengji表中的记录逐条处理,通过 IF条件语句判断将不及格的记录,将其添加到 ttt表中。这里特别要注意的是不能将判断条件放在一个 IF语句中,因为题目要求 “若一个学生有多门课程不及格,在表 table3中就会有多条记录 ”,而 chengji表中共有 3门课程,因此,依次需要编写 3个 IF条件语句分别判断每个科目的不及格情况。 保存查询结果。将所有不及格记录排序输出到 ttt1表之后,再将 ttt1表的记录全部追加到 table3表中。