1、国家二级 VF机试(操作题)-试卷 279及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,打开 test_db数据库,完成如下操作:(1)为表 sell建立一个主索引,索引名为:PK,索引表达式为:部门号+年度+月份。 (2)将自由表 datatest、model、tabc 和 pass添加到当前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位)。 (4)使用报表向导建立一个简单报表,要求
2、选择表 sell中所有字段(其他不做要求),报表文件名为 two。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在数据库“住宿浏览”中使用一对多表单向导生成一个名为 zsform的表单。要求从父表“宿舍”中选择所有字段,从子表“学生”表中选择所有字段,使用“宿舍号”字段建立两个表之间的关系,样式为“边框式”;按钮类型为“图片按钮”;排序字段为“宿舍号”(升序);表单标题为“住宿浏览”。 (2)编写 modiprog程序,要求实现用户可任意输入一个大于 0的整数,程序输出该整数的阶乘。如用户输入的是 5,则程序输出为“5 的阶乘为:120”。(分数:2.00)_三、综
3、合应用题(总题数:1,分数:2.00)3.在考生文件夹下创建一个下拉式菜单 mymenumllx,并生成菜单程序 enumpr。运行该菜单程序时会在当前 VFP系统菜单的末尾追加一个“考试”子菜单,如图 213 所示。 (分数:2.00)_国家二级 VF机试(操作题)-试卷 279答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,打开 test_db数据库,完成如下操作:(1)为表 sell建立一个主索引,索引名为:PK,索引表达式为:部门号+年度+月份。 (2)将自由表 datatest、model、tabc 和 pass添加到当
4、前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位)。 (4)使用报表向导建立一个简单报表,要求选择表 sell中所有字段(其他不做要求),报表文件名为 two。(分数:2.00)_正确答案:(正确答案:(1)在令窗口执行命令 ODIFY DATABASE test_db ,打开 test_db数据库设计器。右击数据库设计器中的 sell表,选择【修改】打开 sell表设计器,选中“索引”选项卡,“索引名”输入“PK”,“索引”选项卡中将“类型”选择为“
5、主索引”,表达式下方输入“部门号+年度+月份”,建立主索引。 (2)在数据库设计器中右击,选择【添加表】,在“打开“中双击 datatest表添加到数据库中,以同样的方法将 model、tabc 和 pass表添加到数据库中。 (3)在数据库设计器中右击,选择【新建表】,在“新建表”中单击“新建表”按钮,在弹出的“创建”对话框的“输入表名”中输入 test,单击“保存”打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”按钮。系统弹出“现在输入数据记录吗?”,单击“否”按钮。 (4)执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按
6、钮,在“新建”中选“报表”,单击“向导”按钮,“向导选取”对话框中选“报表向导”项,单击“确定”按钮,启动报表向导。 “步骤 1-字段选取”的“数据库和表”下选中 sell表,将“可用字段”全部添加到“选定字段”中。 由于本题不再要求其他操作,可直接单击“完成”按钮跳至向导最后一个界面。单击“完成”按钮,在“另存为”的“保存报表为:”框中输入报表文件名 two,单击“保存”。)解析:解析:本题考查了表索引的建立;数据库的基本操作;数据表的建立;报表向导的使用。 根据多个字段建立索引表达式时,可在表设计器“索引”选项卡的“表达式”中进行设置,或可以直接输入,也可以打开“表达式生成器”建立。二、简
7、单应用题(总题数:1,分数:2.00)2.(1)在数据库“住宿浏览”中使用一对多表单向导生成一个名为 zsform的表单。要求从父表“宿舍”中选择所有字段,从子表“学生”表中选择所有字段,使用“宿舍号”字段建立两个表之间的关系,样式为“边框式”;按钮类型为“图片按钮”;排序字段为“宿舍号”(升序);表单标题为“住宿浏览”。 (2)编写 modiprog程序,要求实现用户可任意输入一个大于 0的整数,程序输出该整数的阶乘。如用户输入的是 5,则程序输出为“5 的阶乘为:120”。(分数:2.00)_正确答案:(正确答案:(1) 步骤 1:在命令窗口执行命令:OPEN DATABASE 住宿浏览,
8、打开数据库环境。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“表单”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多表单向导”项,单击“确定”按钮,启动表单向导。 步骤 3:在表单向导的“步骤 1-从父表中选定字段”界面的“数据库和表”下选中“宿舍”表,将“可用字段”中的所有字段添加到“选定字段”中,单击“下一步”按钮。 步骤 4:在表单向导的“步骤 2-从子表中选定字段”界面的“数据库和表”下选中“学生”表,将“可用字段”中的所有字段添加到“选定字段”中,单击“下一步”按钮。 步骤 5:在表单向导的“步骤
9、3-建立表之间的关系”界面系统自动建立两个表的联系,单击“下一步”按钮。 步骤6:在表单向导的“步骤 4-选择表单样式”界面中选中“样式”列表中的“边框式”,再在“按钮类型”选项中选中“图片按钮”,单击“下一步”按钮。 步骤 7:在表单向导的“步骤 5排序次序”界面中双击“可用的字段或索引标识”中的“宿舍号”字段到“选定字段”列表中,单击“下一步”按钮。 步骤8:在表单向导的“步骤 6-完成”界面中的“请键入表单标题”下方文本框中输入“住宿浏览”,单击“完成”按钮。 步骤 9:在“另存为”对话框的“保存表单为:”框中输入表单文件名 zsform,单击“保存”按钮。 (2) 步骤 1:住命令窗口
10、执行命令:MODIFY COMMAND MODIPROG,打开程序文件编辑器。 步骤 2:在编辑器中输入如下程序代码: 1 INPUT“请输入一个整数:“TO N 2 JC=1 3 FOR I=1 TO N 4 JC=JC*I 5 ENDFOR 6 ?N 7 ?“的阶乘为:“ 8 ?JC 步骤 3:在命令窗口执行命令:DO MODIPROGPRG,执行程序文件。)解析:解析:(1)本题考查的是一对多表单向导的使用。在启动向导前,可以先打开数据库环境,这样在启动向导添加数据表时,可在向导界面中直接选中所需的数据表,本题是根据两个表进行操作的,在启动向导时候注意选择“一对多表单向导”,其他的操作只
11、需根据向导提示在各界面中完成即可。 (2)本题重要考查的是 FOR循环语句设计。根据题意,程序功能代码设计大致如下: 首先利用 INPUT命令从键盘获得一个整数并赋给变量工(该变量名可任意定义),然后定义个一个初始变量并赋值为 1;接着,利用 FOR循环语句开始循环计算,该循环的起始值为 1,结束值为从键盘输入的整数值,步长为 1,循环体的功能是计算阶乘的表达式:JC=JC*I,其中,“JC”为前面定义的初始变量,I 为循环增量;循环结束后输出变量 N和 JC的值。 注意:FOR 循环中,循环增量的值在每次循环结束后自动加 1,不需要通过表达式指出。三、综合应用题(总题数:1,分数:2.00)
12、3.在考生文件夹下创建一个下拉式菜单 mymenumllx,并生成菜单程序 enumpr。运行该菜单程序时会在当前 VFP系统菜单的末尾追加一个“考试”子菜单,如图 213 所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE MENU mymenu ,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤 2:在菜单设计器“菜单名称”列的文本框中输入“考试”主菜单名,“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第 l、2 行文本框中依次输入子菜单名“统计”和“返回”,将这 2个子菜单的“结果
13、”都设置为“过程”,分别单击 2个过程后面的“创建”按钮打开过程编辑器,编写过程代码。 步骤 3:两个过程代码如下: “统计”菜单命令的过程代码: 1 SELECT Customers姓名 as 客尸名,count(*)as订单数; 2 FROM customers INNER JOIN Orders ; 3 ON customers客户号=Orders客户号; 4 WHERE year(Orders签订日期)=2007 ; 5 GROUP BY Customers姓名; 6 ORDER BY 2 DESC,Customers姓名; 7 TNTO TABLE fahletwoDhf “返回”菜
14、单命令的过程代码: 1 SET SYSMENU NOSAVE 2 SET SYSMENU TO DEFAULT 步骤 4:执行【显示】【常规选项】菜单命令,在弹出的“常规选项”对话框中选择“位置”中的“追加”单选钮,然后单击“确定”按钮,保存修改。 步骤5:执行【菜单】【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,在“输出文件”对话框中修改输出的文件名为:enumpr,单击“生成”按钮生成一个可执行的菜单文件。 步骤 6:在命令窗口执行命令:DO enumpr,运行菜单程序,依次执行“统计”和“返回”菜单命令。)解析:解析:本题主要考查了菜单设计器的使用;SQL 分组计算查询。 本题的关键是“统计”菜单项的过程设计部分,是一个 SQL分组计算查询语句,查询的两个表文件是 customers和 orders表,查询条件中要通过 year()函数获得具体的年份值,分组条件为 customers的姓名字段,利用 ORDER BY短语指定排序方式,最后通过 INTO TABLE短语指定输出去向。