1、国家二级 VF 机试(操作题)-试卷 155 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下打开表单文件 calculatorscx,并完成下列操作: (1)设置表单控件名为calculator,保存表单。 (2)设置表单内文本控件 Text2 的输入掩码使其具有如下功能:仅允许输入数字、正负号和空格,宽度为 10(直接使用相关掩码字符设置),保存表单。 (3)设置表单内文本控件 Text3 为只读控件,保存表单。 (4)为表单增加一组如图 26 所示的选项按钮组(Optiongroup1),4 个按钮依次为“”、“”、“*”、
2、“”,保存表单。 注意:所涉及的数字和字母均为半角字符。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)打开程序文件 cylinder.prg,请按要求修改程序并运行程序。 (2)以表 employee.dbf 和orders.dbf 中数据为基础,使用 SQL 命令检索订单数最多的前 3 名职工的职工号、姓名和订单数,检索结果按订单数降序排序存入表 newcoun.dbf,同时将所用 SQL 命令存入文件 new.txt 中。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.基于数据库 pdtmng 建立如图 27 所示顶层表单应用,表单文件名为
3、 myform.scx,表单控件名为goods,表单标题为“商品”。 表单内含一表格控件 Grid1(默认控件名),当表单运行时,该控件将按用户的选择(单击菜单)来显示 products.dbf 中某一类商品数据,RecordSourceType 的属性为“4SQL 说明”。 建立菜单(菜单文件名为 mymenu.mnx),其条形菜单的菜单项为“商品分类”和“退出”,“商品分类”的下拉菜单为“小家电”、“饮料”和“酒类”;单击下拉菜单中任何一个菜单命令后,表格控件均会显示该类商品。 在表单的 Load 事件中执行菜单程序 mymenu.mpr。 菜单项“退出”的功能是关闭表单并返回到系统菜单(
4、在过程中完成)。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 155 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下打开表单文件 calculatorscx,并完成下列操作: (1)设置表单控件名为calculator,保存表单。 (2)设置表单内文本控件 Text2 的输入掩码使其具有如下功能:仅允许输入数字、正负号和空格,宽度为 10(直接使用相关掩码字符设置),保存表单。 (3)设置表单内文本控件 Text3 为只读控件,保存表单。 (4)为表单增加一组如图 26 所示的选项按钮组(Optiongroup1),
5、4 个按钮依次为“”、“”、“*”、“”,保存表单。 注意:所涉及的数字和字母均为半角字符。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)在命令窗口执行命令:MODIFY FORM calculator,打开表单设计器修改表单。 在工具栏中,选中“属性”按钮,在“属性”面板的下拉框中选择表单对象Form1,在“全部”选项卡中将 Name 属性值设置为:calculator。 (2)在“属性”面板的下拉框中选择文本控件 Text2,在“全部”选项卡中将 InputMask 属性值设置为:“#”。 (3)在“属性”面板的下拉框中选择文本控件 Text3,在“全部”选项卡中将 Re
6、adOnly 属性值设置为:T。 (4)从“表单控件”工具栏中向表单添加一个选项按钮组(Optiongroup1)。 右击选项按钮组(Optiongroup1),在弹出的快捷菜单中选择【生成器】菜单命令,再在弹出的“选项组生成器”中选中“按钮”选项卡,将“按钮的数目”修改为“4”,并在下面表格的标题一列中,分四行分别输入半角的、*、,最后再选中“布局”选项卡,将“按钮布局”修改为“水平”。如图 325 和图 326 所示。 操作完成后,以原表单名保存表单。 )解析:二、简单应用题(总题数:1,分数:2.00)2.(1)打开程序文件 cylinder.prg,请按要求修改程序并运行程序。 (2)
7、以表 employee.dbf 和orders.dbf 中数据为基础,使用 SQL 命令检索订单数最多的前 3 名职工的职工号、姓名和订单数,检索结果按订单数降序排序存入表 newcoun.dbf,同时将所用 SQL 命令存入文件 new.txt 中。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:在命令窗口执行命令:MODIFY COMMAND cylinder,打开 cylinder.prg 程序,代码如下: *本程序的功能为输入圆柱体的半径和高,计算圆柱体表面积。 *请将程序修改为函数调用方式(注意不得增删语句行)。 1 SET TALK OFF 2 CLEAR
8、3 LOCAL Carea 4 INPUT“请输入圆柱体的半径“ TO r 5 INPUT“请输入圆柱体的高“ TO h 6 DO cya WITH r,h,carea 7 ?“圆柱体的表面积为:“,carea 8 RETURN 9 PROCEDURE cya 10 PARAMETERS a,b,c 11 LOCAL pai 12 pai314159 13 c2*(pai*a*2)2*pai*a*b 14 RETURN 15 ENDPROC 修改程序中的错误行,修改后的程序如下: 1 SET TIALK OFF 2 CLEAR 3 LOCAL carea 定义局部变量 local 4 INPU
9、T“输入圆柱体的半径:“TO r 从键盘输入一个半径值 5 INPUT“输入圆柱体的高:“TO h 从键盘输入一个高值 6 careacya(r,h) 调用模块程序,转到 PROCEDURE 命令行执行程序,按值方式传递参数 7 ?”圆柱体的表面积为:“,carea 8 RETURN 9 PROCEDURE Cya 过程的开始,并命名过程名为 cya 10 PARAMETERS a,b,C 声明的行参变量被看作是模块程序中的私有变量 11 LOCAL pai 12 pai314159 13 c2*(pai*a*2)2*pai*a*b 计算圆柱体表面积的表达式 14 RETURN c 将计算的表
10、达式值返回上级模块 15 ENDPROC 步骤 2:保存文件修改,在命令窗口执行命令:DO YZTPRG,执行程序文件。 (2)【操作步骤】 步骤 1:在命令窗口执行命令:MODIFY FILE new,打开文本编辑器编写 SQL 命令。 步骤 2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成): 1 SELECT TOP 3 Employee职工号, Employee姓名,COUNT(*)订单数; 2 FROM employee INNER JOIN ordems; 3 ON Employee职工号Orders职工号; 4 GROUP BY Employee职工号; 5 ORDE
11、R BY 3 DESC; 6 INTO TABLE newcoundbf 步骤 3:在命令窗口执行命令:DO NEWTXT,执行文件。)解析:三、综合应用题(总题数:1,分数:2.00)3.基于数据库 pdtmng 建立如图 27 所示顶层表单应用,表单文件名为 myform.scx,表单控件名为goods,表单标题为“商品”。 表单内含一表格控件 Grid1(默认控件名),当表单运行时,该控件将按用户的选择(单击菜单)来显示 products.dbf 中某一类商品数据,RecordSourceType 的属性为“4SQL 说明”。 建立菜单(菜单文件名为 mymenu.mnx),其条形菜单的
12、菜单项为“商品分类”和“退出”,“商品分类”的下拉菜单为“小家电”、“饮料”和“酒类”;单击下拉菜单中任何一个菜单命令后,表格控件均会显示该类商品。 在表单的 Load 事件中执行菜单程序 mymenu.mpr。 菜单项“退出”的功能是关闭表单并返回到系统菜单(在过程中完成)。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值;表单及控件属性设置见表 38。 步骤 3:在命令窗口执行命令:CREATE MENU mymenu,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤 4:在菜
13、单设计器“菜单名称”列的文本框中依次输入“商品分类”和“退出”两个主菜单名,“商品分类”菜单命令的“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第 1、2、3 行文本框中依次输入子菜单名“小家电”、“饮料”和“酒类”,将 3 个子菜单的“结果”都设置为“过程”,分别单击 3 个过程后面的“创建”按钮打开过程编辑器,编写过程代码。 步骤 5:三个过程代码如下: “小家电”菜单命令的过程代码: myformGrid1RecordSource“SELECT products* FORM products,category WHERE cateqory分类码pr
14、oducts分类编码 AND 分类名称小家电 INTO CURSOR 1sb“。 “饮料”菜单命令的过程代码: myformGrid1RecordSource“SELECT products* FROM products,categouy WHERE cateqorv分类编码products分类编码 AND 分类名称饮料 TNTO CURSOR 1sb”。 “酒类”菜单命令的过程代码: myfoumGrid1RecoudSource“SELECT products* FROM products,categouy WHERE cateqorv分类编码products分类编码 AND 分类名称酒类 INTO CURSOR 1sb“。 步骤 6:通过“菜单级”下拉框返回主菜单项设计界面,设置“退出”菜单项的“结果”列为“过程”,并通过单击“创建”按钮打开一个窗口来添加“退出”菜单项要执行的命令:myformrelease。 步骤 7:执行【显示】【常规选项】菜单命令,在弹出的“常规选项”对话框中勾选“项层表单”复选框,然后单击“确定”按钮,保存修改。如图 327 所示。 )解析: