1、国家二级 VF机试(操作题)模拟试卷 324及答案与解析 一、基本操作题 1 注意:基本操作题为 4道 SQL题,请将每道题的 SQL命令粘贴到 mysql txt文件,每条命令占一行,第 1道题的命令是第 1行,第 2道题的命令是第 2行,以此类推;如果某道题没有做,相应行为空。 (1)利用 SOL SELEcT命令将 “数量 ”表复制到 “股票数量 bk dbf”。 (2)利用 SOL INSERT命令插入记录 (”600038”, 5, 69, 5 82, 4800)到 “股票数量 bk”表。 (3)利用 SOL UPDATE命令将 “股票数量 bk”表中 “股票代码 ”为 “60001
2、6”的股票“现价 ”改为 “16 83”。 (4)利用 SOL DEL, ETE命令删除 “股票数量 bk”表中 “股票代码 ”为 “600009”的记录。 二、简单应用题 2 (1)歌手比赛分为四个组, “歌手表 ”中的 “歌手编号 ”字段的左边两位表示了该歌手所在的组号。考生文件夹下的程序文件 five prg的功能是:根据 “歌手表 ”计算每个组的歌手人数,将结果填入表 one dbf,表 0ne dbf中有两个字段: “组号 ”和“歌手人数 ”。程序中有 3处错误,请修 改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名 A不允许修改。 (2)建立一个数据库文件 “
3、歌手大奖赛 dbc”,并将 “歌手表 ”、 “评委表 ”和 “评分表 ”3个自由表添加到该数据库中。使用视图设计器建立视图 songer _view,该视图根据 “歌手表 ”、 “评委表 ”和 “评分表 ”建立,视图中的字段项包括: “评委姓名 ”、 “歌手姓名 ”、 “分数 ”,视图中的记录按 “歌手姓名 ”升序、 “分数 ”降序排列。 三、综合应用题 3 首先利用表设计器在考生文件夹下建立表 table3,表结构如下: 民族 字 符型 (4) 数学平均分 数值型 (6, 2) 英语平均分 数值型 (6, 2) 然后在考生文件夹下创建一个下拉式菜单 mymenu max,并生成菜单程序 my
4、menu mpr。运行该菜单程序时会在当前 VFP系统菜单的末尾追加一个 “考试 ”子菜单,如图 3 5所示。菜单命令 “计算 ”和 “返回 ”的功能都通过执行过程完成。 菜单命令 “计算 ”的功能是根据 xuesher喀表和chenNi表分别统计汉族学生和少数民族学生在 “数学 ”和 “英语 ”两门课程上的平均分,并把统计数据保存在表 table3中。表 table3的结果有两条记录:第 1条记录是汉族学生的统汁数据, “民族 ”字段填 “汉 ”;第 2条记录是少数民族学生的统计数据, “民族 ”字段填 “其他 ”。 菜单命令 “返回 ”的功能是恢复标准的系统菜单。 菜单程序生成后,运行菜单
5、程序并依次执行 “计算 ”和 “返划 ”菜单命令。 国家二级 VF机试(操作题)模拟试卷 324答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1) (4)题所用的语句内容如下。 在命令窗口执行命令: MODIFY FILE MYSQL,打开文本编辑器编写 SQL命令。 在编辑器中输入如下程序代码: SELECT*FROM数量 INTO TABIE股票数量 bkINSERT INTO股票数量 bk VALuEs (”600038”, 5 69, 5 82, 4800)UPDATE股票数量 bk sET现价 =16 83 WHERE股票代码 =”600016”DELETE FROM
6、股票数量 bk WHERE股票代码 =“600009” 存命令窗口执行命令: DO MYSQL,TXT,执行文件 (往意:执行文件时,义件后缀名 txt不能缺省 )。 二、简单应用题 2 【正确答案】 (1) 【操作步骤】 步 骤 1:在命令窗口执行命令: MODIFY cOMMAND five,打开程序文件,文件中的命令代码如下: &根据 ”歌手表 ”计算每个组的歌手人数 CLOSE DATA USE one GO TOP WHILE NOT EOF() 错误 zuhao=组号 SELECT COUNT(*)FROM歌手表 WHERE歌手表歌手编号 =zLthao INTO ARRAY A错
7、误 REPLACE歌手人数工 NT0 A 错误 SKIP ENDDO 修改程序中的错误行, 修改后的程序如下: CLOSE DATA USE one GO TOP DO WHILE NOT EOFfl zuhao=组号 SELECT COUNT(*) FROM歌手表 WHERE LEFT(歌手表歌手编号, 2)=zuhac INT0 ARRAY A REPLACE歌手人数眦 TH A1 SKIP ENDD0 步骤 2:保存文件修改,在命令窗口执行命令: DO five,执行程序文件。 (2) 【操作步骤】 步骤 1:在命令窗口执行命令: MODIFY DATABASE歌手大奖赛,新建并打开数据
8、库设计器。右击鼠标,选择【添加表】,在 “打开 ”对话框中双击 “歌手表 ”添加到数据库中; 同样的方法将 “评委表 ”和 “评分表 ”添加到数据库中。 步骤 2:在数据库设计器巾右击,选择【新建本地视图】打开视图设计器存“新建本地视图 ”中单击 “新建视图 ”按钮,在 “添加表或视图 ”中依次双击 “歌手表 ”、“评分表 ”和 “评委表 ”(按顺序添加 ),添加到视图设计器中。 步骤 3:双击 “评委表 ”中的 “评委姓名 ”字段, “歌手表 ”中的 “歌于姓名 ”字段和 “评分表 ”中的 “分数 ”字段,将 3个字段添加到 “选定字段 ”中。 步骤 4: “排序依据 ”选项卡中双击 “选定
9、 _字段 ”列表框中的 “歌手表歌手姓名 ”字段,添加到 “排序条件 ”列表框中;再双击 “选定字段 ”中的 “评分表分数 ”字段添加到 “排序条件 ”列表框中, “排序选项 ”中选择 “降序 ”:以 songer view名保存视图。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:在命令窗口执行命令: CREATE table3,打开数据表设计器新建表。 步骤 2:根据题意,在表设计器 中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击 “确定 ”按钮,此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,本题小需要录入数据,单击 “否 ”按钮。 步骤 3:在命令窗口
10、执行命令: CREATE MENU mymenu,在弹出的 “新建菜单 ”对话框中单击 “菜单 ”图标按钮,打开菜单设计器。 步骤 4:在菜单设计器 “菜单名称 ”列的文本框中输入 “考试 ”, “结果 ”下拉框中选择为 “子菜单 ”,单击 “创建 ”按钮进入下级菜单设计,在 “菜单名称 ”列的第 1、 2行文本框中依次输入子菜单名 “计算 ”、 “返回 ”, 将两个子菜单的 “结果 ”都设置为 “过程 ”,分别单击两个子菜单行的 “创建 ”命令按钮,打开过程编辑框编写过程代码。 步骤 5:两个了菜单的过程代码如下: *“计算 ”子菜单的过程代码 * CLUSE UATABASE ALL SE
11、LECT AVG数学 ), AVG英语 )FROM XUESHENG; JOIN CHENGJI ON XUESHE NG学号 =CHENGJI学号; WHERE民族 =“汉 ”INTO ARRAY TMPl SELECT AVG(数学 ), AVG(英语 )FROM XUESHENG ; JOIN cHENGJI ON XUESHENG学号 =CHENGJI学号; WHERE民族 ”汉 ”INT0 ARRAY TMP2 SELECT 0 USE TABLE3 APPEND BLANK REPLAcE民族 WITH “汉 ”,数学平均分 WITH TMPl(1),英语平均分 WITH TMPl
12、(2) APPEND BLANK REPLACE民族 WITH”其他 ”,数学平均分 WITH TMp2(1),英语平均分 WITH TMP2(2) CLOSE DATA ALL *“返回 ”子菜单的过程代码 * SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 步骤 6:执行【显示】 【常规选项】菜单命令,在 “位置 ”区域选中 “追加 ”单选项,则新建立的子菜单会在当前 Visual FoxPm系统菜单后显示。 步骤 7:执行【菜单】 【生成】菜单命令,存弹出的 Visual FoxPro对话框中单击 “是 ”按钮,接着系统会弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件。 步 骤 8:在命令窗口执行命令: DO mymenu: mpr,运行菜单,并执行 “计算 ”菜单命令。 【考点链接】菜单设计器的使用; SQL简单查询: vfp对数据记录的修改 (SQL更新数据 )。