计算机国2VFP考试新题.docx
- 文档编号:14027395
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:67
- 大小:208.58KB
计算机国2VFP考试新题.docx
《计算机国2VFP考试新题.docx》由会员分享,可在线阅读,更多相关《计算机国2VFP考试新题.docx(67页珍藏版)》请在冰点文库上搜索。
计算机国2VFP考试新题
第1套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下完成下列操作(在"成绩管理"数据库中完成):
1.为"学生"表在"学号"字段上建立升序主索引,索引名和索引表达式为学号;
2.为"学生"表的"性别"字段定义有效性规则,规则表达式为性别$"男女"出错提示信息是:
"性别必须是男或女";
3.在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型为"日期型"(修改表结构);
4.用SQL的UPDATE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该语句粘贴在SQL2.TXT文件中(第一行、只占一行)。
二、简单应用(2小题,每题20分,计40分)
1.用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果存入表文件results.dbf,然后将该SQL语句保存在SQL.TXT文件中(只占一行);
2.modi.prg程序的功能是:
先为"学生"表增加一个"平均成绩"字段,数据类型为N(6,2);然后根据"选课"表统计每个学生的平均成绩,并写入新添加的字段。
该程序有三处错误,请改正之,使程序能正确运行(在指定处修改,不允许增加或删除程序行)。
本题的主要考核点:
查询语句的建立、修改SQL语句和修改程序语句等。
解题思路:
1、编写SQL语句如下:
select姓名from学生join选课on学生.学号=选课.学号where成绩>=70groupby姓名havingcount(课程号)>=3INTOTABLEresults.dbf。
2、打开modi.prg,修改其中三处错误为:
第一处错误修改为:
ALTETABLE学生ADD平均成绩N(6,2);
第二处错误修改为:
DOWHILE.NOT.EOF();
第三处错误修改为:
REPLACE平均成绩WITHcj[1]。
三、综合应用(1小题,计30分)
在考生文件夹下,完成如下综合应用:
1.根据"成绩管理"数据库中的"课程"、"选课"和"学生"三个表建立一个名为view_grade的视图,该视图包含学号、姓名、课程名称和成绩四个字段,并要求先按学号升序排序、在学号相同情况下按课程名称降序排序;
2.建立一个表单grade_list(控件名和文件名),添加一个表格控件,该表格控件的数据源是前面建立的视图view_grade(直接使用拖拽的方法添加该表格);然后在表格控件下面添加一个命令按钮(名称为Command1),该命令按钮的标题为"退出",要求单击按钮时关闭表单。
注意:
完成表单设计后要运行表单的所有功能。
解题思路:
1、打开"成绩管理"数据库,新建"本地视图",添加"课程"、"选课"和"学生"三个表到视图中,然后选择题面要求的字段,在"排序依据"中选择按"学号"升序,"课程名称"降序排序。
以文件名view_grade保存该视图。
2、单击"文件"菜单中的"新建",打开"新建"对话框,选择"表单"或在命令窗口输入CREATEFORM命令。
表单的Name属性为grade_list;在表单空白处右击鼠标,选择"数据环境",在数据环境中添加视图"view_grade",将上题设计的视图直接拖拽到表单中;在表单控件工具栏上单击"命令按钮",添加一个按钮,修改其Name属性为"Command1",Caption属性为"退出",添加此按钮的Chick事件为"ThisForm.release"。
最后将表单保存为grade_list并运行该表单。
第2套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开Ecommerce数据库,完成如下操作:
1.打开Ecommerce数据库,并将考生文件夹下的自由表OrderItem添加到该数据库。
2.为OrderItem表创建一个主索引,索引名为PK,索引表达式为"会员号+商品号";再为OrderItem创建两个普通索引(升序),一个的索引名和索引表达式均是"会员号";另一个的索引名和索引表达式均是"商品号"。
3.通过"会员号"字段建立客户表Customer和订单表OrderItem之间的永久联系(注意不要建立多余的联系)。
4.为以上建立的联系设置参照完整性约束:
更新规则为"级联";删除规则为"限制";插入规则为"限制"。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1.建立查询qq,查询会员的会员号(来自Customer表)、姓名(来自Customer表)、会员所购买的商品名(来自article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价*OrderItem.数量),结果不要进行排序,查询去向是表ss。
查询保存为qq.qpr,并运行该查询。
2.使用SQL命令查询小于30岁(含30岁)的会员的信息(来自表Customer),列出会员号、姓名和年龄,查询结果按年龄降序排序存入文本文件cut_ab.txt中,SQL命令存入命令文件cmd_ab.prg。
解题思路:
第1题:
建立查询可以使用"文件"菜单完成,选择文件--新建--查询--新建文件,将"Customer"表,"article"表,"OrderItem"表添加到查询设计器中(将"article"表和"OrderItem"表通过"商品号"字段建立关联,将"Customer"表和"OrderItem"表通过"会员号"字段建立关联),在"字段"选项卡选择题面中要求的会员号、姓名、商品名、单价、数量字段,金额需要通过计算得到,在函数和表达式处输入"OrderItem.单价*OrderItem.数量as金额",单击"添加"按钮;单击查询菜单下的查询去向,选择表,输入表名ss,最后将查询保存在qq.qpr文件中,并运行该查询。
第2题:
SQL命令为:
SELECT会员号,姓名,年龄FROMCustomerWHERE年龄<=30orderby年龄DESCTOFILEcut_ab.txt,然后将此命令保存在cmd_ab.prg文件中。
三、综合应用(1小题,计30分)
在考生文件夹下,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):
设计一个名称为myform的表单(文件名和表单名均为myform),其中有一个标签Lable1(日期)、一个文本框Text1和两个命令按钮command1("查询")和command2("退出"),如下图所示:
然后在表单设计器环境下进行如下操作:
1.将表单的标题设置为"综合应用"。
2.将文本框的初始值设置为表达式date()。
3.设置"查询"命令按钮的Click的事件代码,其功能是:
根据文本框Text1中的输入日期,查询各会员在指定日期后(大于等于指定日期)签订的各商品总金额,查询结果的字段包括"会员号"(来自Customer表)、"姓名"和"总金额"三项,其中"总金额"为各商品的数量(来自Orderitem表)乘以单价(来自Article表)的总和;查询结果的各记录按总金额升序排序;查询结果存放到表dbfa.dbf中。
4.设置"退出"命令按钮的Click的事件代码,其功能是:
关闭并释放表单。
最后运行表单,在文本框中输入2003/03/08,并单击"查询"命令按钮。
本题主要考核点:
表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出。
解题思路:
①在命令窗口输入命令:
CREATEFORMmyform,打开表单设计器窗口。
②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。
③设置标签、"退出"命令按钮、表单的Caption属性值以及表单的Name属性值。
将"查询"命令按钮的Caption属性值设置为"查询(\ ④将文本框的Value属性值设置为"=date()"。 ⑤设置"查询"按钮的Click事件代码: SELECTCustomer.会员号,Customer.姓名,sum(Orderitem.数量*Article.单价)as总金额; FROMcustomer,orderitem,article; WHEREArticle.商品号=Orderitem.商品号ANDCustomer.会员号=Orderitem.会员号AND; Orderitem.日期>=ctod(thisform.Text1.Text); ORDERBY3GROUPBYCustomer.会员号; INTOTABLEdbfa.dbf ⑥设置"退出"按钮的Click事件代码: THISFORM.RELEASE ⑦保存表单并运行,在文本框中输入03/08/2003,并单击"查询"命令按钮。 第三套 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下有一表单文件myform.scx,其中包含"高度"标签、Text1文本框,以及"确定"命令按钮。 打开该表单文件,然后在表单设计器环境下完成如下操作: 1.将标签、文本框和命令按钮三个控件设置为顶边对齐。 2.设置"确定"按钮的属性使在表单运行时按Enter键就可以直接选择该按钮。 3.将表单的标题设置为"表单操作";将表单的名称设置为myform。 4.设置"确定"按钮的Click事件代码,使得表单运行时,单击该按钮可以将表单的高度设置成在文本框中指定的值。 1、打开表单myform,选中标签、文本框和命令按钮,选择"格式"菜单下"对齐"菜单下的"顶边对齐"。 2、将"确定"按钮的Default属性值设置为.T.。 3、将表单的Caption属性值设置为表单操作,Name属性值设置为myform。 4、设置"确定"按钮的Click事件代码: this.parent.height=val(this.parent.text1.value)。 二、简单应用(2小题,每题20分,计40分) 在考生目录下完成如下简单应用: 1.用SQL语句完成下列操作: 检索客户名为"lilan"所定商品的商品名和单价,结果按单价降序存入book_temp表中。 2.首先创建数据库order_m,并向其中添加order和orderitem表。 然后在数据库中创建视图viewone: 利用该视图只能查询商品号为a00002的商品的订购信息。 查询结果依次包含订单号、签订日期和数量三项内容。 各记录按订单号升序排序,最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 第1题: 本题的考查点是利用SQL_SELECT语句建立查询。 其命令如下: SELECTGoods.商品名,Goods.单价FROMgoods,orderitem,order; WHEREOrderitem.订单号=Order.订单号AND; Goods.商品号=Orderitem.商品号ANDOrder.客户名="lilan"; ORDERBYGoods.单价DESCINTOTABLEbook_temp.dbf 第2题: 创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加order和orderitem表。 再通过新建命令打开视图设计器,在"添加表或视图"对话框中添加order和orderitem表,并设置两表间的联系;在"字段"选项卡中选择订单号、签订日期和数量3个字段;切换到"筛选"选项卡,在其中进行如下设置: 字段名条件实例 orderitem.商品号="a00002" 切换到"排序依据"中选择字段"order.订单号",在"排序选项"处选择"升序",最后将视图保存在viewone文件中。 利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。 三、综合应用(1小题,计30分) 在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。 运行该菜单程序时会在当前vfp系统菜单的末尾追加一个"考试"子菜单,如下图所示。 菜单命令"计算"和"返回"的功能都通过执行过程完成。 菜单命令"计算"的功能如下: (1)用ALTERTABLE语句在order表中添加一个"总金额"字段,该字段为数值型,宽度为7,小数位数为2。 (2)根据orderitem表和goods表中的相关数据计算各订单的总金额(一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于数量乘以单价),并填入刚才建立的字段中。 菜单命令"返回"的功能是恢复标准的系统菜单。 菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。 1、建立菜单可以使用"文件"菜单完成,选择文件--新建--菜单--新建文件打开菜单设计器。 打开"显示"菜单下的"常规选项"对话框,在"位置"处选择追加,则新建立的子菜单会在当前vfp系统菜单后显示。 2、在菜单名称中填入"考试",结果为子菜单,单击创建;在子菜单的菜单名称中输入"计算",结果为过程。 在过程中输入下列命令: ALTERTABLEorderADDCOLUMN总金额N(7,2) CLOSEDATA USEOrder GOTOP DOWHILENOTEOF() SELECTsum(Orderitem.数量*Goods.单价)FROMorderitem,goods; WHEREOrderitem.商品号=Goods.商品号ANDorderitem.订单号=Order.订单号; GROUPBYOrderitem.订单号INTOARRAYA REPLACE总金额WITHA[1] SKIP ENDDO 在菜单名称中填入"返回",结果为过程,在过程中输入此命令: SETSYSMENUTODEFAULT。 3、最后保存菜单mymenu.mnx,并生成菜单程序mymenu.mpr,且运行菜单程序并依次执行"计算"和"返回"菜单命令。 第四套 一、基本操作题(共四小题,第1和2题是7分、第3和4是8分) 在考生文件夹下有一表单文件formone.scx,其中包含一个文本框和一个命令按钮。 打开该表单文件,然后在表单设计器环境下完成如下操作: 1.将表单的标题设置为"表单操作";命令按钮的标题设置为"显示"。 2.将文本框的初始值设置为数值0、宽度设置为60。 3.设置文本框的InputMask属性,使其只能输入数值,其中: 小数部分为两位、整数部分(包括正负号)最多为5位。 4.修改命令按钮的Click事件代码,使其中的wait命令功能为显示文本框的值。 注意: 需要将文本框中的数值转换成字符串,其中: 小数位数保留两位,字符串的长度为8。 本题主要考核点: 表单、命令按钮、文本框属性的设置、事件代码的编写。 解题思路: 1、打开表单formone,将表单的Caption属性值设置为表单操作,命令按钮的Caption属性值设置为显示。 2、将文本框的Value属性值设置为0,Width属性值设置为60。 3、将文本框的InputMask属性值设置为99999.99。 4、设置"显示"按钮的Click事件代码: waitstr(thisform.text1.value,8,2)window。 二、简单应用(2小题,每题20分,计40分) 1.编写SELECT语句,从customers(客户)表中统计各年份出生的客户人数。 统计结果依次包含"年份"和"人数"两个字段,各记录按年份升序排序,统计结果存放在tableone表中。 最后要执行该SELECT语句,并将该SELECT语句存放在命令文件pone.prg中。 2.首先创建数据库orders_m,并向其中添加customers(客户)和orders(订单)表。 然后在数据库中创建视图viewone: 利用该视图只能查询2007年签订的订单信息,查询结果依次包含订单号、签订日期、姓名(即客户姓名)和联系电话四项内容,各记录按签订日期降序排序。 最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 第1题: 本题的考查点是利用SQL_SELECT语句建立查询。 其命令如下: SELECTyear(Customers.出生日期)as年份,; COUNT(Customers.客户号)as人数; FROMcustomers; GROUPBY1; ORDERBY1; INTOTABLEtableone.dbf 然后将此命令保存在pone.prg文件中。 第2题: 创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加customers和orders表。 再通过新建命令打开视图设计器,在"添加表或视图"对话框中添加customers和orders表,并设置两表间的联系;在"字段"选项卡中选择订单号、签订日期、姓名和联系电话4个字段;切换到"筛选"选项卡,在其中进行如下设置: 字段名条件实例 YEAR(Orders.签订日期)=2007 切换到"排序依据"中选择字段"order.签订日期",在"排序选项"处选择"降序",最后将视图保存在viewone文件中。 利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。 三、综合应用(1小题,计30分) 在考生文件夹下有一个未完成的程序文件ptwo.prg,其功能是进行订单处理,具体功能如下: (1)利用SELECT语句产生goods(商品)表的一个副本goods_t表。 (2)根据orders、orderitems和goods_t表中的数据、按照签订日期的先后次序依次处理各订单: (a)若订单所订购的所有商品都有足够的库存量,则相关商品的库存量做相应处理(即减去该商品的订购数量),然后将该订单的状态设置为"处理";(b)若订单中有商品没有有足够的库存量,则整个订单不做处理(没有商品库存量被改变),只需将该订单的状态设置为"缺货"。 程序中共有5条语句需要考生给定,请根据程序文件中相应的注释信息将正确的语句插入在形如"&&语句"的注释前,不要增、删或修改其他代码。 完善程序后,必须执行该程序、产生相应的结果。 利用"文件"菜单下的"打开"命令打开程序文件ptwo.prg或者用命令: MODIFYCOMMANDptwo.prg来打开文件。 语句1为: setrelationto商品号intogoods_t或其等价语句。 语句2为: setrelationto订单号intoorderitems或其等价语句。 语句3为: if数量>goods_t.库存量或其等价语句。 语句4为: skip-n或其等价语句。 语句5为: replace库存量with库存量-orderitems.数量或其等价语句。 第五套 一、基本操作题(共四小题,第1和2题是7分、第3和4是8分) 在考生文件夹下已有customers(客户)、orders(订单)、orderitems(订单项)和goods(商品)四个表。 在考生文件夹下完成如下操作: 1.创建一个名为"订单管理"的数据库,并将已有的customers表添加到该数据库中。 2.利用表设计器为customers表建立一个普通索引,索引名为bd,索引表达式为"出生日期"。 3.在表设计器中为customers表的"性别"字段设置有效性规则,规则表达式为: 性别$"男女",出错提示信息是: "性别必须是男或女"。 4.利用INDEX命令为customers表建立一个普通索引,索引名为khh,索引表达式为"客户号",索引存放在customers.cdx中。 然后将该INDEX命令存入命令文件pone.prg中。 4、建立普通索引的命令为: INDEXON客户号TAGkhhofcustomers.cdx,然后将此命令保存在pone.prg文件中。 二、简单应用(2小题,每题20分,计40分) 1.在考生文件夹下创建表单文件formone.scx,如下图所示,其中包含一个标签Label1、一个文本框Text1和一个命令按钮Command1。 然后按相关要求完成相应操作。 (1)如图所示设置表单、标签和命令按钮的Caption属性。 (2)设置文本框的Value属性值为表达式Date()。 (3)设置"查询"按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能: 从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期三项内容,各记录按出生日期降序排序,查询去向为表tableone。 最后运行该表单,查询1980年1月1日以后出生的客户。 2.向名为"订单管理"的数据库(在基本操作题中建立)添加orderitems表。 然后在数据库中创建视图viewone: 利用该视图可以从orderitems表查询统计各商品的订购总量,查询结果依次包含商品号和订购总量(即所有订单对该商品的订购数量之和)两项内容,各记录按商品号升序排序。 最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 第1题: ①在命令窗口输入命令: CREATEFORMformone,打开表单设计器窗口。 ②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。 ③设置标签、"查询"命令按钮、表单的Caption属性值。 ④将文本框的Value属性值设置为"=date()"。 ⑤设置"查询"按钮的Click事件代码: SELECT姓名,性别,出生日期FROMcustomers; WHERE出生日期>=ctod(thisform.Text1.Text); ORDERBY出生日期DESC; INTOTABLEtableone.dbf ⑥保存表单并运行,在文本框中输入01/01/1980,并单击"查询"命令按钮。 第2题: 打开"订单管理"数据库,单击"数据库"菜单中的"添加表",将orderitems表添加到数据库中,新建"本地视图",添加"orderitems"表到视图中,先选择"商品号"字段,再在"函数与表达式"中输入"SUM(Orderitems.数量)AS订购总量",单击"添加"按钮,在"排序依据"中选择按"商品号"升序,"分组依据"中选择"商品号",以文件名viewone保存该视图。 利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。 三、综合应用(1小题,计30分) 在考生文件夹下创建一个顶层表单myform.scx(表单的标题为"考试"),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。 效果如下图所示。 1)菜单命令"计算"和"退出"的功能都通过执行过程完成。 2)菜单命令"计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 VFP 考试