1、国家二级 VF机试-试卷 26及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)将数据库“school”添加到项目“xm”中。 (2)修改表单“bd1”,将其中标签的字体大小修改为20。 (3)把表单“bd1”添加到项目“xm”中。 (4)为数据库“school”中的表“student”建立唯一索引,索引名称和索引表达式为“学号”。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)建立一个文件名和表单名均为 two的表单,然后为表单 two
2、建立一个名为 quit的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句 Thisformrelease)最后向表单中添加一个命令按钮(Command1),并在该命令按钮的 Click事件中写一条调用新方法 quit的语句。 (2)使用 SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到 resultdbf 表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4 个字段),要求结果按“平均分”降序。 注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算得出。(分数:2.00)_三、综合应用题(总题数:
3、2,分数:4.00)5.综合应用题()(分数:2.00)_6.首先利用表设计器在考生文件夹下建立表 table3,表结构如下: 民族 字符型(4) 数学平均分 数值型(6,2) 英语平均分 数值型(6,2) 然后在考生文件夹下创建一个下拉式菜单 mymenumnx,并生成菜单程序 mymenumpr。运行该菜单程序时会在当前 VFP系统菜单的末尾追加一个“考试”子菜单,如图 1-22所示。 (分数:2.00)_国家二级 VF机试-试卷 26答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)将数据库
4、“school”添加到项目“xm”中。 (2)修改表单“bd1”,将其中标签的字体大小修改为20。 (3)把表单“bd1”添加到项目“xm”中。 (4)为数据库“school”中的表“student”建立唯一索引,索引名称和索引表达式为“学号”。(分数:2.00)_正确答案:(正确答案:(1)选择【文件】【新建】命令,选择“项目”,单击“新建文件”按钮,输入项目名称“xm”后单击“保存”按钮。 在项目管理器中选择“数据”选项卡,然后选择列表框中的“数据库”,单击“添加”按钮,将考生文件夹下的数据库“school”添加到新建的项目“xm”中。 (2)选择【文件】【打开】命令,在“打开”对话框的“
5、文件类型”下拉列表框中选择“表单”,选择“bd1sex”,单击“确定”按钮,打开表单“bd1”。 在表单设计器中,单击标签“Label1”,在标签属性窗口中分别将“FontSize”属性值修改为“20”,关闭表单设计器并保存。 (3)在项目管理器中,单击“文档”选项卡,选择“表单”,单击“添加”命令按钮,将考生文件夹下的表单“bd1”添加到新建的项目“xm”中。 (4)在项目管理器中,单击“数据”选项卡,选择“school”数据库下的“student”表。 单击项目管理器右边的“修改”按钮,打开表设计器。 在表设计器中单击“索引”选项卡,索引名称和索引表达式均输入为“学号”,类型选择“唯一索引
6、”,单击“确定”按钮保存表“student”结构。)解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)建立一个文件名和表单名均为 two的表单,然后为表单 two建立一个名为 quit的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句 Thisformrelease)最后向表单中添加一个命令按钮(Command1),并在该命令按钮的 Click事件中写一条调用新方法 quit的语句。 (2)使用 SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到 resultdbf 表中(包含“歌手姓名
7、”、“最高分”、“最低分”和“平均分”4 个字段),要求结果按“平均分”降序。 注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算得出。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: CREATE FORM two ,打开表单设计器新建表单。 步骤 2:执行【表单】【新建方法程序】菜单命令,在弹出的“新建方法程序”对话框的“名称”文本框中输入“quit”,单击“添加”按钮新增方法,然后关闭对话框。 步骤 3:接着在“属性”窗口中双击 quit方法,打开用户自定义过程代码框输入:THISFORMRELEASE。 步骤 4:通过“
8、表单控件”工具栏向表单添加一个命令按钮(Command1),双击命令按钮,编写该按钮的 Click事件代码: THISFORMQUIT 。 步骤 5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 (2)在命令窗口执行如下 SQL,命令语句执行查询: SELECT 歌手表歌手姓名,MAX(评分表分数)AS 最高分; MIN(评分表分数) AS 最低分,AVG(评分表分数)AS 平均分; FROM 大奖赛!歌手表 INNER JOIN 大奖赛!评分表; ON 歌手表歌手编号=评分表歌手编号; GROUP BY 歌手表歌手姓名; ORDER BY 4 DESC; INT
9、O TABLE result (注意:以上 SQL查询语句是通过查询设计器生成,大家也可以直接在查询设计器中完成查询。)解析:解析:(1)本题考查的是表单方法的创建。在 visual FoxPro中,用户首先应打开“新建方法程序”对话框定义新方法名;然后在“属性”面板中定义找到该方法并编写该方法的功能代码;方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法。 (2)本题主要考查了 SQL分组与计算查询。本题的关键首先是要确定进行计算的字段有哪些、进行何种计算,然后判断根据哪个字段进行分组。根据题目要求,在输出字段中除“歌手姓名”字段是表中原有的字段外,最高分、最低分和平均分都需要根
10、据“分数”字段生成,分别使用计算函数 MAX()、MIN()和 AVG()。 由于是求每个歌手的最高分、最低分和平均分,因此,可以根据“歌手姓名”字段进行分组计算。 对于 SQL语句不太熟悉的考生,也可以借助查询设计器生成本题的 SQL语句。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.首先利用表设计器在考生文件夹下建立表 table3,表结构如下: 民族 字符型(4) 数学平均分 数值型(6,2) 英语平均分 数值型(6,2) 然后在考生文件夹下创建一个下拉式菜单 mymenumnx,并生成菜单程序 mymenumpr。运行该菜单程序时会在当前
11、VFP系统菜单的末尾追加一个“考试”子菜单,如图 1-22所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE table3,打开数据表设计器新建表。 步骤 2:根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”按钮,此时系统会弹出一个对话框询问“现在输入数据记录吗?”, 本题不需要录入数据,单击“否”按钮。 步骤 3:在命令窗口执行命令: CREATE MENU mymenu ,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤 4:在菜单设计器“菜单名称”列的文本框中输入“考试”,“结果”下
12、拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第1、2 行文本框中依次输入子菜单名“计算”、“返回”,将两个子菜单的“结果”都设置为“过程”,分别单击两个子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。 步骤 5:两个子菜单的过程代码如下: *“计算”子菜单的过程代码* CLOSE DATABASE ALL SELECT AVG(数学),AVG(英语)FROM XUESHENG; JOIN CHENGJI ON XUESHENG学号=CHENGJI学号; WHERE 民族=“汉“ INTO ARRAY TMP1 SELECT AVG(数学),AVG(英语)
13、FROM XUESHENG; JOIN CHENGJI ON XUESHENG学号 =CHENGJI学号; WHERE 民族“汉“ INTO ARRAY TMP2 SELECT O USE TABLE3 APPEND BLANK REPLACE 民族 WITH”汉”,数学平均分 WITH TMP1(1),英语平均分 WITH TMP1(2) APPEND BLANK REPLACE 民族 WITH “其他“,数学平均分 WITH TMP2(1),英语平均分 WITH TMP2(2) CLOSE DATAALL *“返回”子菜单的过程代码* SET SYSMENU NOSAVE SET SYSM
14、ENU TO DEFAULT 步骤 6:执行【显示】【常规选项】菜单命令,在“位置”区域选中“追加”单选项,则新建立的子菜单会在当前 Visual FoxPro系统菜单后显示。步骤 7:执行【菜单】【生成】菜单命令,在弹出的 Vismd FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件。 步骤 8:在命令窗口执行命令: DO mymenumpr ,运行菜单,并执行“计算”菜单命令。)解析:解析:本题考查了表的基本操作;菜单的建立及使用;SQL 简单计算查询及数据表记录的修改。 表的建立和菜单的建立都属于比较基本的操作,注意向系统菜单追加菜单项时,应在菜单设计器中打开“常规选项”对话框进行设置。本题的关键是菜单命令中 SQL查询、插入和更新语句的设计。编写程序代码基本思路如下: 首先利用 SQL计算查询,统计“汉”族学生的“数学”和“荚语”平均成绩,将结果保存到数组中,再通过数组向 table3表插入记录;以同样的方法再将非“汉”族学生的 “数学”和“英语”平均成绩插入到 table3表中。 向表中添加记录时,可以先通过 VFP的添加表记录命令 Append Blank在表末尾先增加一个空白记录,然后通过 replace命令修改字段值,完成记录的添加。