1、国家二级 VF机试模拟试卷 19及答案与解析 一、基本操作题( 30分) 1 (1)将数据库 stu添加到项目 my中。 (2)修改表单 for,将其中标签的字体大小修改为 20。 (3)把表单 for添加到项目 my中。 (4)为数据库 stu中的表 “学生 ”建立惟一索引,索引名称为 tel,索引表达式为 “电话 ”。 二、简单应用题( 40分) 2 (1)在数据库 school中使用一对多表单向导生成一个名为 my的表单。要求从父表“宿舍 ”中选择所有字段,从子表 “学生 ”表中选择所有字段,使用 “宿舍 ”字段建立两表之间的关系, 样式为 “边框式 ”;按钮类型为 “图片按钮 ”;排序
2、字段为 “宿舍 ”(升序 );表单标题为 “住宿信息浏览 ”。 (2)编写 jiecheng程序,要求实现用户可任意输入一个大于 0的整数,程序输出该整数的阶乘。如用户输入的是 5,则程序输出为 “5的阶乘为: 120”。 三、综合应用题( 30分) 3 首先为 order_detail表增加一个新字段:新单价 (类型与原来的单价字段相同 ),然后编写满足如下要求的程序:根据 order_list表中的 “订购日期 ”字段的值确定order_detail表的 “新单价 ”字段的值,原则是: 订购日期为 2001年的 “新单价 ”字段的值为原单价的 90%,订购日期为 2002年的 “新单价 ”
3、字段的值为原单价的110%(注意:在修改操作过程中不要改变 order_detail表记录的顺序 ),将order_detail表中的记录存储到 od_new表中 (表结构与 order_detail表完全相同 )。最后将程序保存为 prog1.prg,并执行该程序。 接着再利用 Visual FoxPro的 “快速报表 ”功能建立一个的简单报表,该报表内容按顺序含有 order_detail表的订单号、器件号、器件名、新单价和数量字 段的值,将报表文件保存为 report1。 国家二级 VF机试模拟试卷 19答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)从菜单栏里单击 “文
4、件 ”并选择 “打开 ”,或直接单击工具栏上的“打开 ”图标,在弹出的对话框中选择要打开的项目文件 my.pjx。在项目管理器 my中,首先在 “数据 ”选项卡中选择 “数据库 ”,然后单击选项卡右边的 “添加 ”命令按钮,在系统弹出的 “打开 ”对话框中,将考生文件夹中的数据库 stu添加到项目管理器中,单击 “确定 ”按钮。 (2)从菜单栏里单击 “文件 ”并选择 “打开 ”,或 直接单击工具栏上的 “打开 ”图标,在弹出的对话框中选择要打开的表单文件 for.scx。单击表单上的标签控件,在其属性窗口中,把 FontSize的属性值改为 “20”。单击工具栏上的 “保存 ”图标,将更改保
5、存。 (3)在项目管理器 my中,首先在 “文档 ”选项卡中选择 “表单 ”,然后单击选项卡右边的 “添加 ”命令按钮,在系统弹出的 “打开 ”对话框中,将考生文件夹中的表单for.scx添加到项目管理器中,单击 “确定 ”按钮。 (4)在命令窗口输入命令: MODIFY STRUCTURE,在弹出的对话框中选择 “学生 ”表, 进入 “学生 ”的数据表设计器界面,然后单击 “索引 ”选项卡,此选项卡中的 “索引名 ”和 “索引表达式 ”分别改为 tel和 “电话 ”,在 “索引类型 ”的下拉框中,选择 “惟一索引 ”。单击 “确定 ”按钮,保存数据表修改。 【试题解析】 本大题主要考查数据库
6、的添加、表单属性的更改,添加表单以及建立索引。数据库添加可以通过项目管理器中的命令按钮,建立索引表可以在数据表设计器中完成。值得注意的是考生应该熟悉表单各控件的各个属性。 二、简单应用题( 40分) 2 【正确答案】 (1)在 “工具 ”菜单选择 “向导 ”“表单 ”菜单命令, 出现 “向导选取 ”对话框,根据题意数据源是多个表,因此选定 “一对多表单向导 ”,单击 “确定 ”按钮。 步骤一:在弹出的对话框中 “数据库和表 ”选项选择父表 “宿舍 ”,并把全部的 “可用字段 ”选为 “选定字段 ”。 步骤二:选择子表 “学生 ”,并把全部的 “可用字段 ”选为 “选定字段 ”。 步骤三:系统自
7、动根据 “宿舍 ”字段建立两表之间的关系。 步骤四:表单样式选择为 “边框式 ”,按钮类型选择 “图片按钮 ”。 步骤五:在 “排序次序 ”中选择“宿舍 ”,并选择 “升序 ”排序。 步骤六:把表单标题改为 “住宿信息浏览 ”,可以在单击 “完成 ”之前单击 “预览 ”按钮来预览生成的表单,最后单击 “完成 ”按钮。 将表单以文件名为 my保存在考生文件夹中 。 (2)在命令窗口中输入命令: MODIFY COMMANDjiecheng,在程序文件编辑器窗口输入如下程序段: *文件jiecheng.prg中的程序段 * CLEAR INPUT“请输入一个整数: ”TO a IF a=0 MES
8、SAGEBOX(“请输入大于 0的数 !”) ELSE p=1 FOR i=1 TO a p=p*i ENDFOR ?STR(a)+的阶乘为: +STR(p) ENDIF * 其结果如图 3-63所示。【试题解析】 本大题 1小题考查的是根据表单向导生成联系多表的表单内容,利用向导时应注意父表和子表的选择; 2小题主要考查的是选择结构语句 IF-ENDIF和循环结构语句 FOR-ENDFOR语句的综合应用。 三、综合应用题( 30分) 3 【正确答案】 在命令窗口输入命令: USE order_detail &打开数据表 MODIFY STRUCTURE &打开表设计器 打开表设计器后,在 “
9、字段 ”选项卡的 “数量 ”字段后增加一个新的字段,根据题意输入字段名:新单价,字段宽度和类型与 “单价 ”字段一样。 在命令窗口输入命令: MODIFY COMMAND prog1,在程序编辑窗口中输入如下程序段: *文件 prog1.prg中的程序段 * SET TALK OFF &将订购日期是 2001年的所有的订单号放入临时表 curtable中 SELECT订单号FROM order_list WHERE YEAR(订购日期 )=2001; INTO CURSOR curtable & 对所有订购日期是 2001年的计算新的单价 DO WHILE NOT EOF() UPDATE o
10、rder_detail SET新单价 =单价 *0.9; WHERE订单号 =curtable.订单号 SKIP ENDDO & 将订购日期是 2002年的所有的订单号放入临时表 CurTable中 SELECT订单号FROM order_list WHERE YEAR(订购日期 )=2002; INTO CURSOR curtable & 对所有订购日期是 2002年的计算新的单价 DO WHILE NOT EOF() UPDATE order detail SET新单价 =单价 *1.1; WHERE 订 单号 =curtable.订单号 SKIP ENDDO CLOSE ALL USE
11、order_detail COPY TO od_new SET TALK ON * 保存设计结果,在命令窗口输入命令: DO prog1,执行程序文件。 在命令窗口输入命令: CREATE REPORT report1,打开报表设计器。选择菜单命令 “报表 ”“快速报表 ”,系统首先要求选择报表数据源。根据题意,选择考生文件夹下的 order_detail表作为报表数据源。系统接着弹出 “快速报表对话框 ”,单击对话框中的 “字段 ”命令按钮,在弹出的 “字段选择器 ”对话框中,依次选择订单号、器件号、器件名、新单价和数量 5个字段添加到 “选定字段 ”列表框中,如图 3-62所示。单击 “确定 ”按钮,返回报表设计器,保存报表设计。单击工具栏中的预览按钮,可查看设计效果。【试题解析】 本大题考查的主要是 SQL语句的应用,包括数据定义、数据修改和数据查询功能,设计过程中可利用临时表来存放查询结果,再利用 DO循环语句对表中的记录逐条更新。