1、国家二级 VF 机试(操作题)-试卷 6 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,完成如下操作:(1)从 student 表查询所有性别为“男“的学生信息,并按学号升序排序将查询结果存入 results 表。(2)利用表单向导生成一个表单,该表单含有 student 表的学号、班级、姓名和性别 4 个字段,按学号字段升序排序,其他设置采用默认值,并将表单保存为 student.scx 文件。(3)建立一个命令文件 myprog.prg,该命令文件只有一行语句,即执行前一小题生成的表单文件。(4)为student 表增加一
2、个“年龄“字段,类型为数值型(2)。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)改错题 student 是一个“学生“表,其中包含学号(C8)、姓名(C8)、性别(C2)、政治面目(C4)、班级(C5)等字段。考生目录下的 modi1.prg 程序文件的功能是显示输出所有政治面目为“群众“的“男“生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。说明:程序中*ERROR FOUND*的下一行即为错误所在行。请用改正后的程序行覆盖错误所在行,不要插入或删除任何程序行。(2)建立命令文件 sprog.prg,该命令文件包含如下两条语句:第一条语句使
3、用 SQL UPDATE 命令计算和更新 student 表的年龄字段值(计算年龄的表达式是 year(date()year(出生日期);第二条语句使用 SQL SELECT 命令查询各种“政治面目“的学生人数和平均年龄,并将结果存储于表 sqlresults(字段名是政治面目、人数和平均年龄)。说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下的 gnht.dbf 是一个合同管理表文件,其中部分字段的含义是:HTH(合同号)、DHDW(订货单位)、GHDW(供货单位)、JHSL(订货数量)。编写程序 progzh.
4、prg 分别统计订货单位数、供货单位数、订货总数,并将结果填写到 jieguo.dbf(在考生目录下已经存在)表文件中。说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 6 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,完成如下操作:(1)从 student 表查询所有性别为“男“的学生信息,并按学号升序排序将查询结果存入 results 表。(2)利用表单向导生成一个表单,该表单含有 student 表的学号、班级、姓名和性别 4 个字段,按学号字段升序排序,其他设置采用
5、默认值,并将表单保存为 student.scx 文件。(3)建立一个命令文件 myprog.prg,该命令文件只有一行语句,即执行前一小题生成的表单文件。(4)为student 表增加一个“年龄“字段,类型为数值型(2)。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)在命令窗口输入以下语句。 SELECT * FROM student WHERE 性别=“男“ ORDER BY 学号 INTO TABLE results (2)步骤 1:单击常用工具栏中的“新建“按钮,文件类型选择“表单“,利用向导创建表单。 步骤 2:在“向导选取“对话框中,选择“表单向导“并单击“确定“按钮
6、,并显示“表单向导“对话框。 步骤 3:在“表单向导“对话框的“步骤 1字段选取“中,在“数据库和表“列表框中,选择表“student“,接着在“可用字段“列表框中显示表 student 的所有字段名,将“学号“、“班级“、“姓名“和“性别“四个字段添加到“选定字段“列表框,再单击“下一步“按钮。 步骤 4:在“表单向导“对话框的“步骤 2选择表单样式“中,再单击“下一步“按钮。 步骤 5:在“表单向导“对话框的“步骤 3排序次序“中,选定“学号“字段并选择“升序“,再单击“添加“按钮,再单击“完成“按钮。 步骤 6:在“表单向导“对话框的“步骤 4完成“中,再单击“完成“。 步骤 7:在“另
7、存为“对话框中,输入表单名“student“,再单击“保存“按钮。 (3)通过“新建“对话框创建程序,在程序窗口中输入以下语句: DO FORM student 保存文件名为 myprog.prg,并运行。 (4)在命令窗口输入以下语句。 Close all ALTER TABLE student ADD COLUMN 年龄 N(2)解析:二、简单应用题(总题数:1,分数:2.00)2.(1)改错题 student 是一个“学生“表,其中包含学号(C8)、姓名(C8)、性别(C2)、政治面目(C4)、班级(C5)等字段。考生目录下的 modi1.prg 程序文件的功能是显示输出所有政治面目为“
8、群众“的“男“生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。说明:程序中*ERROR FOUND*的下一行即为错误所在行。请用改正后的程序行覆盖错误所在行,不要插入或删除任何程序行。(2)建立命令文件 sprog.prg,该命令文件包含如下两条语句:第一条语句使用 SQL UPDATE 命令计算和更新 student 表的年龄字段值(计算年龄的表达式是 year(date()year(出生日期);第二条语句使用 SQL SELECT 命令查询各种“政治面目“的学生人数和平均年龄,并将结果存储于表 sqlresults(字段名是政治面目、人数和平均年龄)。说明:以上命令文
9、件必须执行,并产生所要求的结果。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 打开程序 modi1.prg。修改程序如下: 第 1 处:判断是否找到,所以应改为:DO WHILE FOUND() 第 2 处:如果是“女“,则继续,所以应改为:LOOP 第 3 处:继续查找下一个,所以应改为:CONTINUE (2)【操作步骤】 通过“新建“对话框新建程序,在程序窗口中输入以下语句。 UPDATE student SET 年龄=year(date() - year(出生日期) SELECT Student.政治面目, COUNT(*) AS 人数, avg(年龄) AS 平均年龄
10、 FROM student GROUP BY Student.政治面目 INTO TABLE sqlresults 保存文件为 sprog.prg,并运行。)解析:三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下的 gnht.dbf 是一个合同管理表文件,其中部分字段的含义是:HTH(合同号)、DHDW(订货单位)、GHDW(供货单位)、JHSL(订货数量)。编写程序 progzh.prg 分别统计订货单位数、供货单位数、订货总数,并将结果填写到 jieguo.dbf(在考生目录下已经存在)表文件中。说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_正确答案:(正
11、确答案:【操作步骤】 通过“新建“对话框创建程序,在程序窗口中输入以下语句: select 1 use jieguo select 2 use gnht sum jhsl to asum & 计算订货总数 index on dhdw to aaa uniq count to adhdw & 计算订货单位数 index on ghdw to bbb uniq count to aghdw & 计算供货单位数 use select 1 replace num with adhdw & 把订货单位数存放第 1 条记录中 skip replace num with aghdw & 把供货单位数存放第 2 条记录中 skip replace num with asum & 把订货总数存入第 3条记录中 list & 显示结果 use 保存文件为 progzh.prg,并运行该程序。)解析: