1、国家二级 VF机试(操作题)模拟试卷 23 及答案与解析 一、基本操作题 1 在考生文件夹下有一个名为 myform.scx 的表单文件。打开该表单,然后在表单设计器环境下完成如下操作: 1在属性窗口中修改表单的相关属性,使表单在打开时,在 Visual FoxPro主窗口内居中显示。 2在属性窗口中修改表单的相关属性,将表单内名为 Center、 East、 South、 West和 North的 5个按钮的大小都设置为宽 60、高 25。 3将 West、 Center和 East三个按钮设置为顶边对齐,将 North、 Center和 South三个按钮设置为左边对齐。 4按 Cente
2、r、 East、 South、 West、 North的顺序设置各按钮的 Tab键次序。 二、简单应用题 2 在考生文件夹下完成如下简单应用: 1利用查询设计器创建一个名为 query1.qpr的查询文件,查询考生文件夹下xuesheng表和 chengji表中数学、英语和信息技术 3门课中至少有一门课在 90分以上 (含 )的学生记录。查询结果包含学号、姓名、数学、英语和信息技术 5个字段,各记录按学号降序排列;查询去向为表 table1。并运行该查询。 2新建 一个名为 cj_m的数据库,并向其中添加 xuesheng表和 chengji表。然后在数据库中创建视图 view1:通过该视图只
3、能查询少数民族学生的英语成绩;查询结果包含学号、姓名、英语 3个字段;各记录按英语成绩降序排序,若英语成绩相同按学号升序排序。最后利用刚创建的视图 view1查询视图中的全部信息,并将查询结果存放在表 table2中。 三、综合应用题 3 利用表设计器在考生文件夹下建立表 table3,表结构如下: 学号 字符型 (10) 姓名 字符型 (6) 课程名 字符型 (8) 分数 数值型 (5,1) 然后编写程序 prog1.prg,在 xuesheng表和 chengji表中查询所有成绩不及格 (分数小于 60)的学生信息 (学号、姓名、课程名和分数 ),并把这些数据保存到表 table3中 (若
4、一个学生有多门课程不及格,在表 table3中就会有多条记录 )。要求查询结果按分数升序排列,分数相同则按学号降序排列。 要求在程序中用 SET RELATION命令建立 chengji表和 xuesheng表之间的关联 (同时用 INDEX命令建立相关的索引 ),并通过 DO WHILE循环语句实现规定的功能。最后运行程序。 国家二级 VF机试(操作题)模拟试卷 23 答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)通过常用工具中的 “打开 “按钮打开考生文件夹下的表单 “myform“,然后在属性窗口中修改其 “AutoCenter“属性为 “.T.-真 “。 (2)选中
5、表单 myform中的所有控件,在属性窗口中修改它们的 Width属性为 60,Height属性为 25。 (3)选中表单 myform中的 West、 Center和 East三个命令按钮,单击 “布局 “工具栏中的 “顶边对齐 “按钮;再选中表单中的 North、 Center和 South三个命令按钮,单击 “布局 “工具栏中的 “左边对齐 “按钮。 (4)依次选中表单 myform中的 Center、 East、 South、 West和 North五个按钮,分别在属性窗口中设置它们的 TabIndex属性为 1、 2、 3、 4和 5。 二、简单应用题 2 【正确答案】 (1)【操作
6、步骤】 步骤 1:通过 “新建 “对话框新建一个查询文件,随即弹出 “打开 “对话框,将考生文件夹下的表 “xuesheng“和 “chengji“添加到查询设计器中。 步骤 2:在 “字段 “选项卡中,将 “xuesheng.学号 “、 “xuesheng.姓名 “、 “chengji.数学“、 “chengji.英语 “和 “chengji.信息技术 “5个字段依次添加到 “选定字段 “列表框中;在“筛选 “选项卡中进行如下设置: 字段名 条件 实例 逻辑 chengji.数学 = 90 OR chengji.英语 = 90 OR chengji.信息技术 = 90 在 “排序依据 “选项
7、卡中,将 xuesheng.学号添加到 “排序条件 “列表框中,并选择 “降序 “单选按钮。 步骤 3:选择 “查询 “菜单下的 “查询去向 “命令,在打开的 “查询去向 “对话框中选择 “表 “,输入表名为 “table1“,保存查询文件为 “query1.qpr“并运行。 (2)【操作步骤】 步骤 1:通过 “新建 “对话框新建一个数据库,文件名为 “cj_m“,在数据库设计器中右键单击数据库的空白处,选择 “添加表 “命令,将表 “xuesheng“和 “chengji“添加到数据库中。 步骤 2:新建一个视图,将表 “xuesheng“和 “chengji“添加到视图设计器中,并为两个
8、表建立默认的联接。 步骤 3:在 “字段 “选项卡中,将 “xuesheng.学号 “、 “xuesheng.姓名 “和 “chengji.英语 “3个字段依次添加到 “选定字段 “列表框中;在 “筛选 “选项卡中, “字段名 “列选择“xuesheng.民族 “,单击 “否 “下面的按钮,使其处于选中的状态,条件列选择 “=“,实例框中输入 “汉 “;在 “排序依据 “选项卡中,选择按 “chengji.英语 “降序排序,按“xuesheng.学号 “升序排序。将视图保存为 “view1“。 步骤 4:新建一个查询,将新建的 “view1“视图添加到新建的查询中,选择全部字段,设置查询去向为
9、表 “table2“, 保存并运行查询,查询文件名默认。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:通过前面所学的知识,按照题目的要求新建一个表 “table3“。 步骤 2:新建程序 prog1.prg,输入下列命令语句,保存并运行该程序。 *prog1.prg中的代码 * SET TALK OFF OPEN DATABASE cj_m SELECT * FROM table3 WHERE .f. INTO TABLE temp SELECT 1 USE xuesheng INDEX ON 学号 TAG 学号 SELECT 2 USE chengji INDEX ON 学号
10、TAG 学号 SET RELATION TO 学号 INTO xuesheng GO TOP DO WHILE .NOT.EOF() IF chengji.数学 60 INSERT INTO temp Values (xuesheng.学号 ,xuesheng.姓名 ,数学 ,chengji.数学 ) ENDIF IF chengji.英语 60 INSERT INTO temp Values (xuesheng.学号 ,xuesheng.姓名 ,英语 ,chengji.英语 ) ENDIF IF chengji.信息技术 60 INSERT INTO temp Values (xuesheng.学号 ,xuesheng.姓名 ,信息技术 ,chengji.信息技术 ) ENDIF SKIP ENDDO SELECT * FROM temp ORDER BY 分数 ,学号 DESC INTO ARRAY arr INSERT INTO table3 FROM ARRAY arr CLOSE DATABASE CLOSE TABLES ALL DROP TABLE temp SET TALK ON RETURN *