国家二级VF机试模拟试卷111 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. (1)打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框。 (2)在表单one中,通过RowSource和RowSourceType属性手工指定组合框Combo1的显示条目为“上海”、“北京”(不要使用命令指定这两个属性)。 (3)向表单one中添加两个命令按钮Command1和Command2,其标题分别为“统计”和“退出”。为“退出”命令按钮的Click事件写一条命令,执行该命令时关闭和释放表单。 (4)为表单one中的“统计”命令按钮的Click事件写一条SQL命令,执行该命令时,将“歌手表”中所有“歌手出生地”与组合框(Combo1)指定的内容相同的歌手的全部信息存入自由表birthplace中。
正确答案:(1)①在命令窗口执行命令:MODIFY FORM one,打开表单设计器新建表单。 ②通过“表单控件”工具栏向表单添加一个组合框(Combo1),在“属性”面板中修改组合框的Style属性值为:2-下拉列表框。 (2)接上小题操作,继续在“属性”面板中修改组合框(Combo1)的RowSourceType属性值为:1-值;修改RowSource属性值为:上海,北京。 (3)①通过“表单控件”工具栏向表单添加两个命令按钮,在“属性”面板中修改命令按钮(Command1)的Caption属性值为:统计;修改命令按钮(Command2)的Caption属性值为:退出。 ②双击“退出”命令按钮(Command2)编写Click事件代码:THISFORM.RELEASE。 (4)双击“统计”命令按钮(Command1)编写Click事件代码:SELECT * FROM 歌手表;WHERE 歌手出生地=THISFORM.COBO1.DISPLAYVALUE; INTO DBF birthplace
解析:本大题考查了表单控件的常用属性、事件和方法;SQL简单查询。 在表单设计器中,通过“表单控件”工具栏可以向表单.忝加控件,在“属性”面板中可以修改表单及控件的属性值,另外,关闭和释放表单的方法是RELEASE。 在SQL简单查询中,需要注意的是筛选条件的设置,需要获得组合框中当前所显示的数据,可以通过组合框的DISPLAYVALUE属性获得。
简单应用题(40分) 2. (1)使用SQL命令在employee表中查询年龄最大的前5名员工的姓名和出生日期,查询结果按年龄降序排序存入表emage.dbf中;同时把所用SQL命令存入文件emage.txt(提示:表中无年龄字段,但是有出生日期字段)。 (2)打开程序文件cylinder.prg,该程序的功能是根据输入的半径和高计算圆柱体表面积,其中函数定义中有错误,请在******found******的下一行进行修改使之能正确运行(不得增加语句,不得删除语句)。
正确答案:(1)步骤1:在命令窗口执行命令:MODIFY FILE emaqe,打开文本编辑器编写SQL命令。 步骤2:在编辑器中输入如下程序代码(以下程序
是通过查询设计器生成):SELECT TOP 5 Employee.姓名,Employee.出生日期;FROM Employee;ORDER BY Employee.出生日期;INTO TABLE emage.dbf 步骤3:在命令窗口执行命令:DO emage.txt,执行文件。 (2)步骤1:在命令窗口执行命令:MODIFY COMMANDcylinder,打开Cylinder程序文件,文件中的命令代码如下;SET TALK OFF CLEARLOCAL carea INPUT “请输入圆柱体的半径:”TO r INPUT “请输入圆柱体的高:”TO h carea=cya(r,h)?”圆柱体的表面积为:”,carea RETURN FUNCTION cya*****found*****PARAMETERS a,b,c LOCAL pai Pai=3.14159 c=2*(pai*a )+2*pai*a*b*****found*****ENDFUNC修改程序中的错误行,修改后的程序如下:SET TALK OFF。CLEAR LOCAL carea &&定义局部变量c INPUT “请输入圆柱体的半径:” TO r&& 从键盘输入一个半径值INPUT “请输入圆柱体的高:” TO h &&从键盘输入一个半径值carea=cya(r,h) &&调用模块程序,转到FUNCTION命令行执行程序,按值方式传递参数?”圆柱体的表面积为:”,carea RETURN FUNCTION cya &&过程的开始,并命名过程名为cya PARAMETERS a,b &&声明的形参变量被看作是模块程序中的私有变量LOCAL c &&定义局部变量c Pai=3.14159 &&定义私有变量c=2*(pai*a )+2*pai*a*b && 计算圆柱体表面积的表达式RETURN c &&将计算的表达式值返回上级模块 步骤2:保存文件修改,在命令窗口执行命令:DO cylinder.prg,执行程序文件。
解析:(1)本题主要考查SQL中特殊选项TOP短语的使用,该短语必须与排序短语ORDER BY一起使用才有效;另外,对员工年龄进行排序时,出生日期的年份越靠前,年份值就越小,但所表示的年龄却越大,因此,按“年龄”降序排序,其实就是对“出生日期”进行升序排序。 (2)本题主要考查的是过程的定义及调用。通过PROCEDURE |FUNCTION命令定义一个命令过程的开始;通过PARAMETERS命令声明的形参变量被看作是模块程序中的私有变量;利用<文件名>(实参表)|<过程名>(实参表)命令调用模块程序时,系统会自动把实参传递给对应的形参。 本题中第一处错误可以很明显地看出少定义了一个形参,在参数调用过程中,形参的数量只能大于或等于实参的数目;第二处错误是缺少转回到调用程序的命令RETURN,通过该命令可返回表达式的值。
综合应用题(30分)
3. 设计一个文件名和表单名均为“bd1”的表单。表单的标题为“外汇持有情况”。 表单中有一个选项按钮组控件、一个表格控件及两个命令按钮“查询”和“关闭”。其中,选项按钮组控件有3个按钮“美元”1英镑”和“港币”。运行表单时,在选项组控件中选择“美元”“英镑”和“港币”,单击“查询”命令按钮后,根据选项组控件的选择将“外汇账户”表的情况显示在表格控件中。 单击“关闭”按钮,关闭并释放表单。
正确答案:①选择【文件】→【新建】命令,选择“表单”,单击“新建文件”按钮打开表单设计器,在表单属性窗口中将Caption属性值修改为“外汇持有情况”;单击表单控件工具栏上的“选项按钮组”控件图标,为表单添加一个选项按钮组OptionGroup1;单击表单控件工具栏上的“命令按钮”控件图标,为表单添加两个命令按钮Command1和Command2;单击表单控件工具栏上的“表格”控件图标,再添加一个表格控件“Grid1”。 ②选择选项按钮组
OptionGroup1,单击右键,在弹出的快捷菜单中选择“生成器”打开选项按钮组生成器对话框,单击“按钮”选项卡,设置按钮的数目为3,往“标题”列下修改3个按钮的标题分别为“美元”“英镑”和“港币”,单击“确定”按钮关闭命令组生成器对话框。 ③分别选择两个命令按钮,在按钮属性窗口中将命令按钮Command1的Caption属性值修改为“查询”,Command2的Caption属性值修改为“关闭”,如图63-1所示。“关闭”命令按钮,在Click事件中输入代码;ThisForm.Release,用来关闭表单。 ④选择表格控件“Grid1”,在表格控件属性窗口中将“Record Soerce”属性值修改为“““”,将“RecordSourccType”属性值修改为“1”。 ⑤双击“查询”命令按钮,在Click事件中输入代码: DO CASF: CASE ThisForm.OptionGroup1.value=1 SELECT外汇账户.*INTO CURSOR tmp FROM外汇账户,货币代码WHERE外汇账户.货币代码=货币代码.货币代码AND货币名称=“美元” CASE ThisForm.OptionGroup1.value=2 SELECT外汇账户.*INTO CURSOR tmp FROM外汇账户,货币代码WHERE外汇账户.货币代码=货币代码.货币代码AND货币名称=“英镑” CASE ThisForm.OptionGroup1.value=3 SELECT外汇账户.*INTO CURSOR tmp FROM外汇账户,货币代码WHERE外汇账户.货币代码=货币代码.货币代码AND货币名称=“港币”ENDCASE ThisForm.Grid1.RecordSourceType=1 ThisForm.Grid1.RecordSource=“tmp” ThisForm Grid1 Refresh ⑥选择【表单】→【执行表单】命令,系统首先要求保存该表单文件,在弹出的“另存为”对话框中输入表单文件名“bd1”,保存在考生文件夹下,然后运行表单。