1、国家二级 VF机试(操作题)-试卷 295及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)建立一个“客户”表,表结构如下: 客户编号 C(8) 客户名称 C(8) 联系地址 C(30) 联系电话 C(11) 电子邮件 C(20)(2)建立一个“客户”数据库,并将“客户”表添加到该数据库中。(3)将如下记录插入到“客户”表中。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)student是一个“学生”表,其中包含学号(C 8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生文件夹下
2、的 modilprg 程序文件的功能是显示输出所有政治面目为“群众”的“男”生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。说明:程序中*ERROR FOUND*的下一行即为错误所在行。请用改正后的程序行覆盖错误所在行,不要插入或删除任何程序行。(2)建立命令文件 sprogprg,该命令文件包含如下两条语句:第一条语句使用 SQL LDATE命令计算和更新 student表的年龄字段值(计算年龄的表达式是 yearq(dat()-year(出生日期)。第二条语句使用 SQL SELECT命令查询各种“政治面目”的学生人数和平均年龄,并将结果存储于表sqlresults(
3、字段名是政治面目、人数和平均年龄)。说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.设计一个表单名和文件名均为 currency form的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为:“外币市值情况”。表单中有两个文本框(textl 和 text2)和两个命令按钮:“查询”(commandl)与“退出”(command2)。运行表单时,在文本框 textl中输入某人的姓名,然后单击“查询”,则 text2中会显示出他所持有的全部外币相当于人民币的价值数量。注意:某种外币相当于人民币数量的计算公式:人民币
4、价值数量=该种外币的“现钞买入价”*该种外币“持有数量”。单击“退出”按钮时关闭表单。(分数:2.00)_国家二级 VF机试(操作题)-试卷 295答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)建立一个“客户”表,表结构如下: 客户编号 C(8) 客户名称 C(8) 联系地址 C(30) 联系电话 C(11) 电子邮件 C(20)(2)建立一个“客户”数据库,并将“客户”表添加到该数据库中。(3)将如下记录插入到“客户”表中。 (分数:2.00)_正确答案:(正确答案:【操作步骤】(1)在命令窗口执行命令: CREATE 客户, 打开表设
5、计器新建表(注意:当前没有打开的数据库)。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度(注意:字母 C表示为字符型数据),然后单击“确定”按钮,此时系统会弹出一个对话框询问“现在输入数据记录吗?”,单击“是”按钮。 (2)接上小题操作,在弹出的输入表记录界面中输入题中所要求的记录,输入完毕后直接记录输入界面。 (3)在命令窗口执行命令 :MODIFY DATABASE 客户,新建数据库并打开数据库设计器。 在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击“客户“表,将表添加到数据库中。 (4)执行【文件】【新建】菜单命令,或单击“常用
6、”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导“图标按钮,系统弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。 在报表向导的“步骤 1字段选取”界面的“数据库和表”下选中“客户”表,将“可用字段”中全部字段添加到“选定字段”中,直接单击“完成“按钮进入向导最后一个界面。 在报表向导的“步骤 6-完成”界面的“报表标题”框中输入“客户”,单击“完成”按钮,在“另存为”对话框的“保存报表为:”框中输入报表文件名“客户”,单击“保存”按钮。)解析:二、简单应用题(总题数:1,分数:2.00)2.(1)student是一个“学生”表,其中包
7、含学号(C 8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生文件夹下的 modilprg 程序文件的功能是显示输出所有政治面目为“群众”的“男”生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。说明:程序中*ERROR FOUND*的下一行即为错误所在行。请用改正后的程序行覆盖错误所在行,不要插入或删除任何程序行。(2)建立命令文件 sprogprg,该命令文件包含如下两条语句:第一条语句使用 SQL LDATE命令计算和更新 student表的年龄字段值(计算年龄的表达式是 yearq(dat()-year(出生日期)。第二条语句使用
8、SQL SELECT命令查询各种“政治面目”的学生人数和平均年龄,并将结果存储于表sqlresults(字段名是政治面目、人数和平均年龄)。说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】步骤 1:在命令窗口执行命令 :MODIFY COMMAND modil, 打开程序文件,文件中的命令代码如下: SET TALK OFF USE Student LOCATE FOR 政治面目=“群众” *error* DO WHILE NOTFOUND() IF 性别=“男” CONTINUE *error* BREAK ENDIF ?姓名,班级
9、 *error* SKIP ENDDO USE SET TALK ON 修改程序中的错误行,修改后的程序如下: SET TALK OFF USE Student 打开 student表 LOCATE FOR 政治面目=“群众”查找当前记录的“政治面目”为“群众” DO WHILE FOUND() 循环条件为找到、政治面目“为”群众”的记录时进入循环 IF 性别=“男” 如果性别为“女”,继续执行下面的语句,否则执行 ENDIF语句之后的语句 CONT INUE 返回到循环体起始位置继续重新判断下一条记录“政治面目”值是否为“群众” LOOP 返回到循环体起始位置,即 DOWHILE处重新判断,
10、不再执行后面的语句 ENDIF 当 TF处条件不成立时,直接执行该语句后面的命令 ?姓名,班级 当前面的 IF条件语句不成立时,执行该语句,显示当前记录的“姓名”和“班级”值 CONTINUE返回到循环体起始位置继续重新判断下一条记录“政治面目”值是否为、“群众” ENDDO 当 DO WHILE处条件不成立时,直接退 出循环体,执行该语句后面的命令 USE 关闭当前打开的表 SET TALK ON 步骤 2:保存文件修改,在命令窗口执行命令: DOmod11.prg ,执行程序文件。 (2)【操作步骤】 步骤 1:在命令窗口执行命令: MODIFY COMMANDsprog ,打开程序文件编
11、辑器。 步骤 2:在程序文件编辑器中输入如下代码(相关 SQL查询语句是通过查询设计器生成): UPDATE student SET 年龄=YEAR(DATE()YEAR(出生日期)SELECT STUDENT政治面目,COUNT(STUDENT学号)AS 人数,AVG(STUDENT,年龄)AS 平均年龄; FROM Student; GROUP BY Student政治面目; INTO TABLE sqlresultsdbf 步骤 3:保存文件修改,在命令窗口执行命令: DO sprogprg, 执行程序文件。)解析:三、综合应用题(总题数:1,分数:2.00)3.设计一个表单名和文件名均
12、为 currency form的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为:“外币市值情况”。表单中有两个文本框(textl 和 text2)和两个命令按钮:“查询”(commandl)与“退出”(command2)。运行表单时,在文本框 textl中输入某人的姓名,然后单击“查询”,则 text2中会显示出他所持有的全部外币相当于人民币的价值数量。注意:某种外币相当于人民币数量的计算公式:人民币价值数量=该种外币的“现钞买入价”*该种外币“持有数量”。单击“退出”按钮时关闭表单。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:在命令窗口执行命令: CREATE FORM CURRENCYFORM ,打开表单设计器新建表单。向表单添加两个文本框和两个命令按钮控件。 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部“选项卡中修改对象属性值,见表 431。 )解析: