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