VFP等级考试(共8篇)
VFP等级考试 篇1
笔者作为一名高校教师,从事了多年的VFP等级考试教学工作,在教学工作中碰到许多程序设计的问题,细细思考之余,通过自己的归纳总结在这里做个小小的分享。
1 SQL查询之GROUP BY子句
结构化查询语言SQL(Stuture Query Language),以其简单的格式、快捷的速度和强大的查询功能深受用户的喜爱。VFP(Visual Foxpro是一般数据库应用系统最常用的开发工具,它支持较为完整的SQL。由于VFP的特殊性以及SQL自身的编程难点,在VFP中利用某些SQL命令查询时,语法上的错误可以通过查阅资料解决,但是由对命令作用范围的把握不清,由此造成的逻辑错误却很难发现。
例题1:
现有CHENGJI.DBF表(姓名,课程,成绩),用于记录学生的考试成绩,其中一个学生可以有多条记录(登记一个学生的多门成绩);KECHENG.DBF表为空表,表(课程,姓名,最高成绩)。请先编写符合下列要求的程序PROG1,PRG:根据CHENGJI表计算每门课程的最高分,并将相应的课程、姓名、最高成绩存入kecheng.dbf。
错解:
SELE课程,姓名,max(成绩)as最高成绩FROM chengji INTO TABLE kecheng GROUP;BY课程
分析:这是典型的SQL类型考题,很多同学和一些对SQL不熟悉的年轻老师都会想当然的认为以上的做法是完全正确的,其实不然。GROUP BY的意思是按给定的字段进行分组,所谓分组就是将一组类似的记录压缩成一个结果记录,这样就可以完成基于一组记录的计算;但是,GROUP BY子句应该包含SELECT列表中每个字段,除非列表当中的字段包含在列函数中。由此,可以看出姓名这个字段出现是多余的。举例:有表1,结构如图1。
COMMAND窗口执行了如下命令:
SELE课程,姓名,max(成绩)as最高成绩FROM表1;
INTO TABLE kecheng GROUP BY课程
打开生成的新表test,对比两表表如图2。
由此可知上述命令错误。在命令执行的过程,首先按照第一条记录的课程的字段值’C’来进行组统计,记录的指针最后指向的是第五条记录,姓名字段的值由tom变化为jerry,最高成绩由MAX()函数求出,但是姓名却并不是对应的tom,关键就是指针发生了变化!对于课程VFP也是这样。
参考答案如下:
2 随机函数RAND()
近两年的上级考试和理论考试中都加强了对RAND()函数的考查,RAND()函数返回是到0到1之间的数,也就是函数的值域是(0,1),开区间:不包含0和1本身。
例题2(2007年(安徽省)理论考试真题)
请编写程序产生100个1———50之间的整数,包含1和50本身并求出它们的和。
错解一:
分析:INT(50*RAND())+1的取值范围是(1,51),所以1本身取不到,不符合题意。
错解二:
分析:x=INT(60*RAND())的取值范围是[0,59],当取到0的时候不符合题意。
参考答案:
说明:我们不能保证每次的取值都在1和50之间,FOR循环一共执行100次,所以当取值失败时,I的值必须回溯的开始的值。即:I=I-1,这样方能取到100个整数。
3 结束语
通过以上两个典型例题的分析,让我们知道只有掌握全面扎实的基础知识并且多动手,勤思考,才能让自己的程序设计的能力稳步提高。
参考文献
[1]匡松.Visual FoxPro程序设计教程[M].成都:四川大学出版社.2003.
[2]史济民,汤观全.Visu Foxpro及其应用系统开发[M].北京:清华大学出版社.2002.
[3]毛一心,等.VisualFoxpm6.0应用爰实倒集锦[M].北京:人民邮电出社.2003.
VFP等级考试 篇2
设计表单
首先第一点要有会“取舍”,表单设计的最后编程部分,不是一天两天的工夫,因此如果对编程本身就不感冒,那就根据自己的实力,做个取舍,不如全力去做自己能做的部分。
其实要有“定力”,表单设计其实就是一个完善的过程,很多代码实际已经写好,因此你只要做题目中的1、2、3、..那几条具体要求即可。前面一大段文字其实是对整个程序的描述,大可不必理会。要你写代码的一般只有最后一个小题目,前面的只是在属性窗口中改改属性即可。
一些常用方法:
属性 含义 备注
AddItem 添加条目 向其中添加一行 RemoveItem 移除条目 从其中移去一行 SetFocus 设置焦点 使其获得焦点 Refresh 刷新 使其刷新,从新获取数据 Release 释放 关闭表单 Hide/Show 隐藏/显示表单 Clear 清除内容
Cls 清除内容 清除表单上绘制的图形、文字 SetAll 为容器对象中所有控件指定一个属性设置
常见特有属性知识点:(按照使用概率编排)属性 含义 控件 PageCount 页面个数 页框
ButtonCount 按钮个数 按钮组、选项按钮组 ColumnCount 列数 表格、列表框、组合框 BorderStyle 边框类型 按钮组、选项按钮组 RowSourceType 行源类型 列表框、组合框 RowSource 行源 列表框、组合框 RecordSourceType 记录类型 表格 RecordSource 记录 表格
Interval 时间间隔 Timer(计时器)SpinnerHightValue 通过微调框按钮输入的 Spinner(微调框)
最大、最小值
SpinnerLowValue Spinner(微调框)KeyboardHightValue 通过键盘输入的最大值 Spinner(微调框)KeyboardLowValue 通过键盘输入的最小值 Spinner(微调框)Increment 点上下箭头每次改变的值 Spinner(微调框)
Value 值 文本、编辑、选项按钮组、列表框、组合框等
ControlSource 文本、编辑、选项按钮组、列表框、组合框等 一些常用事件
事件 触发时机 Click/DbClick 单击、双击 Init 对象创建 Activate 对象激活 GotFocus 得到焦点 LostFocus 失去焦点 Valid 即将失去焦点 Unload 释放时候 Error 出错误时候 Timer 计时器到时点
InterActiveChange 当列表框或文本框等中的内容发生改变的时候
常见题型分析:
1、添加控件
解答:要分清楚到底是从“表单设计器”上拖一个过来(如文本框、按钮等),还是修改属性。有些组合形控件只要修改属性即可增减个数,比如: 列表框、组合框、表格的列数(ColumnCount)、命令按钮组、选项按钮组中按钮的个数(ButtonCount)页框中的页数(PageCount)
注意:(1)添加控件XXX,这里的XXX指的是控件的名称,就是Name属性要改为XXX。
(2)修改容器型控件中的对象,要先使容器控件处于编辑状态(选择容器控件,单击右键,选择“编 辑”),才能选择其中的对象。
(3)如在页面中添加控件,则需要先使页框处于编辑状态,选择页面,在使页面处于编辑状态,再把要添加的控件拖到页面上。
2、修改标题
解答:修改单个控件(如文本框)上的标题只需要改相应对象的Caption属性即可。而修改一个命令按钮组中的某个按钮的标题时候,需要先将使其处于编辑状态,选中其中的某一个,再去修改它的Caption属性。
3、修改边框类型、样式
解答:表单、选项按钮组、命令按钮组都有个边框属性。
4、数据环境中添加表、建立临时关系
解答:在表单的“空白”地方,点右键,在弹出的菜单中选择“数据环境”。在数据环境的空白地方点右键,在弹出的菜单中选择“添加表”。建立临时关系就是将主表中的字段拖到子表的字段或索引上去。数据环境中的表设置为“只读”:在数据环境中,选中该表,在属性窗口中,将ReadOnly属性改为.T.数据环境中的表按一定的顺序排序:在数据环境中,选中该表,在属性窗口中,将Order属性改为某一字段。
1、表格的相关属性
表格只读,同时能够获得焦点: ReadOnly属性改为:.T.表格只读,不能获得焦点: Enabled属性改为:.F.不显示删除标记: DeleteMark属性改为:.F.删除表格中的列: 使表格处于编辑状态,点击一下要删除列下方空白处(注意不要点到列标题了),然后按键盘“Delete”,或者通过生成器删除列。
修改列标题: 使表格处于编辑状态,点击一下该列的标头,然后在属性窗口中修改Caption属性 表格加记录源: 修改表格的RowSource和RecordSourceType属性
给列加数据源: 使表格处于编辑状态,选中此列,修改其ControlSource属性 表格滚动条: ScrollBars 0-无,1-水平,2-垂直,3-两者都有
列中数据格式: 修改表格列中的Text控件的Format属性,具体设置参见课本P98 修改列中控件: 选中该列,将要修改的控件添加到列中,再修改列的CurrentControl属性为指定控件 无记录选择器列:RecordMark属性改为:.F.无表格线: GridLines属性改为:.F.2、给按钮加上访问键
解答:修改其Caption属性形如:“打开( 3、使XXX对象自动获得焦点 解答:命令:对象名.SetFocus 4、表单常见考题 标题(Caption)最大化按钮(MaxButton)最小化按钮(MinButton) 不显示右上角几个按钮和左上角的图标 ControlBox 边框样式(BorderStyle)始终在上(AlwaysOnTop)顶层表单(DeskTop=.T.、ShowWindow=2)自动居中(AutoCenter)10.为表单新建属性、方法 解答:在表单设计器中,选择“表单”菜单,选择“新建属性”或“新建方法程序”,输入名称即可。11.创建表单集,并在表单中创建新表单 解答:在表单设计器中,选择“表单”菜单,选择“创建表单集”,则表单集就建好了,在选择“表单”菜单,选择“添加新表单”,就创建了新表单了。13. 编程部分 (一)几个概念 (1)属性:定义对象的特征或某一方面行为,是由类所决定的(可以定义新属性)。属性的值可在设计阶段或运行阶段进行设置(只读属性例外,部分属性只能在执行阶段设置)。 (2)事件:是由对象识别的一个动作,用户可为其编写处理代码,每当事件产生,便执行相应的事件代码。用户不能新建事件。 (3)方法:是由对象所执行的一个动作,是与对象相关联的过程,通常在事件代码中被调用,用户可新建新方法。 (二)属性、事件、方法的调用(1)设置对象属性 <引用对象>.<属性>=<值> 例: thisformset.form1.text1.value=date()thisformset.form1.text1.backcolor=rgb(192,192,192)thisformset.form1.text1.fontname=”黑体” 可简化为: With thisformset.form1.text1.value=date().backcolor=rgb(192,192,192).fontname=”黑体” Endwith(2)调用方法 <引用对象>.<方法> 例: thisform.release(或release thisform特例)thisform.text1.setfocus thisform.commandgroup1.setall(“enabled”,.f.)&&带参数的方法(3)对象引用 this ――――当前对象 thisform ――――当前表单(当前对象所在地表单)parent ――――当前对象的直接容器对象 activeform ――――当前活动表单 activecontrol ――――当前活动控件 _screen ――――屏幕对象 _vfp ————VFP应用程序对象 (三)事件代码 根据题目要求编写,其中包括对象引用、设置对象属性、调用对象事件方法、程序结构、常用系统函数等。 (四)其他 1.控件分类 1)根据控件与数据的关系划分:绑定型控件和非绑定型控件 ReacordSource属性:用于指定与表格控件相绑定的数据源。RowSource属性:用于指定与列表框控件香绑定的数据源 1 题型、考核目的剖析 二级VFP上机考试题目有基本操作题、简单应用题和综合应用题,考试时问是90分钟。其中,基本操作题4题,1和2各7分,3和4各8分,主要是考查应试者对VFP基本对象操作的掌握情况,—般试题比较简单,测试考生对新建项目文件,程序文件的创建和保存,文件的创建和保存,表的创建,表设计器的使用,域完整性的设置,数据库的创建,数据库中表的添加、删除、移动,报表设计器的使用,永久关系的创建,参照完整性的设置基本操作。简单应用题2题,每题20分共40分,测试考生对程序结构的理解和使用能力及简单的通用过程或事件过程的编写与使用能力。综合应用题l题30分,测试考生对文件存取、简单算法、过程调用、菜单等内容的程序编写及使用能力。对于大多数考生重点能得分的是基本操作和简单应用题,所以重点剖析基本操作题和简单操作题。 1.1 基本操作题 笔者对84套机试模拟题中的基本操作题进行了分析,出现的考点如表1。 1.2 简单操作题 简单应用题对控件的考核与基本操作题差不多.也是对某些相关属性进行设置,但增加程序设计方面的内容。笔者对84套机试模拟题中的简单操作题进行了分析,出现的考点如表2。 1.3 综合应用题 综合应用题是表单、菜单和程序设计综合应用,考生需扎实的理论知识才能完成。 2 结束语 上机考试重点考察考生的基本操作能力和程序编写能力,所以考生在考前要熟悉理论知识,通过练习上机模拟题来熟悉考试题型和真实的上机环境,争取每做一题就有收获,要通过有效地练习来强化自己的上机操作能力总之,要想二级Visual FoxPro的上机考试过关,关键是要结合所学知识灵活运用于上机操作中,这就取决于平时多上机操作练习,注意总结学习经验。学好Visua Fox Pro需要时间和毅力,希望大家能够多下苦工夫。 摘要:通过对全国计算机等级考试二级VFP上机历年考试题进行剖析,分析了上机试题的主要考点和需要掌握及注意的点,提出复习时需要掌握及注意的内容,引导考生复习。 关键词:全国计算机等级考试,二级VFP,剖析 参考文献 [1]教育部考试中心.二级教程-Visual FoxPro数据库程序设计[M].北京:高等教育出版社,2010. 一、选择题((一)——(35)每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,是有一个选项是正确的。请将正确选项添涂在答题卡相应的位置上,答在试卷上不得分。 (1)在写列四个选项中,不属于基本关系运算的是 A)连接 B)投影 C)选择 D)排序 (2)如果一个班只能有一个班长,而且一个班长不能同时担任其他班的班长,班级和班长两个实体之间的关系属于 A)一对一联系 B)一对二联系 C)多对多联系 D)一对多联系(3)VF支持的数据模型是 A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型(4)VF的命令窗口中键如CREATE DATA命令以后,屏幕会出现一个创建对话框,要想完成同样的工作,还可以采取如下步骤 A)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“新建文件”命令按钮 B)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“向导”命令按钮 C)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“新建文件”命令按钮 D)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“向导”命令按钮 (5)将内存变量定义为全局变量的VF命令是 A)LOCAL B)PRIVATE C)PUBLIC D)GLOBAL 0(6)扩展名为DBC的文件是 A)表单文件 B)数据库表文件 C)数据库文件 D)项目文件 (7)建设已经生成了名为mymenu的菜单问,执行该菜单文件的命令是 A)DO mymenu B)DO mymenu.mpr C)DO mymenu.pjx D)DO mymenu.mnx0(8)下面有关索引的描述正确的是 A)简化里索引以后。原来的数据库表文件中记录的物理顺序将被改变 B)索引与数据库表的数据存储在一个文件中 C)创建索引是创建一个指向数据库表文件记录的指针构成的文件 D)使用索引并不能加快对表的查询操作 (9)若建立索引的字段值不允许重复,并且一个表中只能创建一个。它应该是 A)主索引 B)唯一索引 C)后选索引 D)普通索引(10)参照完整性的规则不包括 A)更新规则 B)删除规则 C)插入规则 D)检索规则 (11)一数据库名为student,要想打开该数据库,应使用的命令 A)OPEN student B)OPEN DATA student C)USE DATA student D)USE student(12)下列函数中函数值为字符型的是 A)DATE()B)TIME()C)YEAR()D)DATETIME()(13)在下面的数据类型中默认为.F.的是)数值型 B)字符型 C)逻辑型 D)日期型(14)在下面有关HAVING子句描述错误的是 A)HAVING子句必须与GROUP BY子句同时使用,不能单独使用 B)使用HAVING子句的同时不能使用WHERE子句 C)使用HAVING子句的同时可以使用WHERE子句 D)使用HAVING子句的作用是限定分组的条件(15)——(27)使用的数据如下: 当前盘当前目录下有数据库db_stock,其中有数据库表stock.dbf,该数据库表的内容是: 股票代码 股票名称 单价 交易所 0600600 青岛啤酒 7.48 上海 0600601 方正科技 15.20 上海 0600602 广电电子 10.40 上海 0600603 兴业房产 12.76 上海 0600604 二纺机 9.96 上海 0600605 轻工机械 14.59 上海 0000001 深发展 7.48 深圳 0000002 深万科 12.50 深圳 (15)执行如下SQL语句后0SELECT * FROM stock INTO DBF stock ORDER BY 单价 A)系统将会提示出错信息 B)会生成一个按“单价”升序排列的表文件,将原来的stock.dbf文件覆盖 C)会生成一个按“单价”降序排列的表文件,将原来的stock.dbf文件覆盖 D)不会生成排序文件,只能在屏幕上显示一个按“单价”排序的结果 (16)执行下列程序以后,内存变量a的内容是0CLOSE DATABASE0a=00USE stock 0GO TOP0DO WHILE.NOT.EOF()0IF 单价>100a=a+10END IF0SKIP0END D A)1 B)3 C)5 D)7(17)有如下SQL SELECT语句0SELECT * FORM stock WHERE 单价BETWEEN 12.76 AND 15.20与该语句等价的是 A)SELECT * FORM stock WHERE 单价<=15.20.AND.单价>= 12.76 B)SELECT * FORM stock WHERE 单价< 15.20.AND.单价>12.76 C)SELECT * FORM stock WHERE 单价>= 15.20.AND.单价<=12.76 D)SELECT * FORM stock WHERE 单价>15.20.AND.单价< 12.76(18)如果在建立数据库表stock.dbf时,将单价字段的字段有效性规则设为“单价>0”,通过该设置,能保证数据的 A)实体完整性 B)域完整性 C)参照完整性 D)表完整性(19)在当前盘当前目录下删除表stock的命令是 A)DROP stock B)DELETE TABLE stock C)DROP TABLE stock D)DELETE stock(20)有如下SQP语句0SELECT max(单价)INTO ARRAY a FROM stock0执行该语句后 A)a[1]的内容为15.2 B)a[1]的内容为6 C)a[0]的内容为15.2 D)a[0]的内容为6(21)有如下SQP语句0SELECT 股票代码,avg(单价)as 均价 FROM stock0GROUP BY 交易所 INTO DBF temp 0执行该语句后temp表中第二条记录的“均价”字段的内容是)ALTER TABLE stock 股票名称 WITH c(10)B)ALTER TABLE stock 股票名称 c(10)C)ALTER TABLE stock ALTRE 股票名称 c(10)D)ALTER TABLE stock 股票名称 c(10)(23)有如下SQP语句0CREATE VIEW stock_view AS SELECT * FROM stock WHERE 交易所=“深圳”0执行该语句后产生的视图包含的记录数个是 A)1 B)2 C)3 D)4(24)有如下SQP语句0CREATE VIEW view_stock AS SELECT 股票名称AS 名称、单价FROM stock0执行该语句后产生的视图含有的字段名是 A)股票名称、单价 B)名称、单价 C)名称、单价、交易所 D)股票名趁、单价、交易所(25)下面有关对视图的描述正确的是 A)可以使用MODIFY STRUCTURE命令修改视图的结构 B)视图不能删除,否则影响原来的数据文件 C)视图是对表的复制产生的 D)使用对视图进行查询时必须事先打开该视图所在的数据库 (26)执行如下SQP语句后0SELECTVDISTINCT 单价 FROM stock;0WHERE 单价=(SELECT min(单价)FROM stock)INTO DBF stock_x0表stock_x中的记录个数是 A)1 B)2 C)3 D)4(27)求每个交易所的平均单价的SQP语句是 A)SELECT 交易所,avg(单价)FROM stock GROUP BY单价 B)SELECT 交易所,avg(单价)FROM stock ORDER BY单价 C)SELECT 交易所,avg(单价)FROM stock ORDER BY交易所 D)SELECT 交易所,avg(单价)FROM stock GROUP BY交易所(28)视图设计器中含有的、但查询设计器却没有的选项卡是 A)筛选 B)排序依据 C)分组依据 D)更新条件(29)下面关于查询描述正确的是 A)可以使用CREATE VIEW 打开查询设计器 B)使用查询设计器可以生成所有的SQP查询语句 C)使用查询设计器生成的SQP语句存盘后将存放在扩展名为QPR的文件中 D)使用DO语句执行查询时,可以不带扩展名 (30)使用报表向导定义报表时,定义报表布局的选项是 A)列数、方向、字段布局 B)列数、行数、字段布局 C)行数、方向、字段布局 D)列数、行数、方向 (31)能够将表单的Visible属性设置为.T.,并使表单成为活动对象的方法是 A)Hide B)Show C)Release D)SetFocus(32)下面对编辑框(EditBox)控制属性的描述正确的是 A)SelLength属性的设置可以小于0 B)当ScrollBars的属性值为0时,编辑框内包含水平滚动条 C)SeText属性在做界面设计时不可用,在运动时可读写 D)Readonly属性值为.T.,用户不能使用编辑框上的滚动条(33)下面对控件的描述正确的是)用户可以在组合框中进行多重选择 B)用户可以在列表框中进行多重选择 C)用户可以在一个选项组中多个选项按钮 D)用户对一个表单内的一组复选框中只能选中其中一个 (34)确定列表框内的某个条目是否被选定应使用的属性是0A)value B)ColumnCount C)ListCount D)Selected0(35)没有关系R1和R2,经过关系运算得到结果是S,则S 是 A)一个关系 B)一个表单 C)一个数据库 D)一个数组 二、填空题(每空2分,共30分)请将答案分别写在答题卡中的序号为[1]——[5]的横线上,答在试卷上不得分。 (1)Visual FoxPro 6.0是一个 [ 1 ] 位的数据棵管理系统。(2)在连接运算中,[ 2 ] 连接是去掉重复属性的等值连接。 (3)项目管理器的 [ 3 ] 选项卡用于显示和管理数据库、自由表和查询等。(4)自由表的扩展名是 [ 4 ]。 (5)LEFT(“123456789”,LEN(“数据库”))的计算结果是 [ 5 ]。 (6)同一个表的多个索引可以创建在一个索引文件中,索引文件名与相关的表同名,索引文件的扩展名是 [ 6 ],这种作因称为 [ 7 ]。 (7)用来确定复选框是否被选中的属性是 [ 8 ],用来指定显示在复选框旁的文字的属性是 [ 9 ] 下面各题使用如下的“教师”表和“学院”表 “教师”表 职工号 姓名 职称 年龄 工资 系号011020001 肖天海 副教授 35 2000.00 01 011020002 王岩盐 教授 40 3000.00 02 011020003 刘星魂 讲师 25 1500.00 01 011020004 张月新 讲师 30 1500.00 03 0111020005 李明玉 教授 34 2000.00 01 011020006 孙民山 教授 47 2100.00 02 011020007 钱无名 教授 49 2200.00 03 0“学院”表0系号 系名 001 英语 002 会计 003 工商管理 (8)使用SQP语句将一条新的记录插入学院表0INSERT [ 10 ] 学院(系号,系名)[ 11 ](“04”,“计算机”) (9)使用SQP语句求“工商管理”系的所有职工的工资总和。0SELECT [ 12 ](工资)FROM 教师0WHERE 系号 IN(SELECT 系号 FROM [ 13 ] WHERE 系名=“工商管理”) (10)使用SQP语句完成如下操作(将所有教授的工资提高5%)0[ 14 ] 教师 SET 工资=工资*1.05 [ 15 ] 职称=“教授” 2002年9月VF试题答案(仅供参考) DABAC CBCAD BBCBA CABCA BCBBD ADDCA BCBDA032 自然 数据.DBF 123456.CDX 结构复合索引 value CAPTION INTO valueS SUM 学院 UPDATE WHERE 一、2003年4月全国计算机等级考试VF二级笔试试题 选择题((1)~(35)每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在大题卡相应位置上,答在试卷上不得分。 (1)Visual FoxPro DBMS 是 A)操作系统的一部分 B)操作系统支持下的系统软件 C)一种编译程序 D)一种操作系统 (2)Visual FoxPro DBMS 基于的数据模型是 A)层次型 B)关系型 C)网状型 D)混合型 (3)设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是 A)m:n B)1:m C)m:k D)1:1 (4)在Visual FoxPro中,调用表设计器建立数据库表STUDENT.DBF的命令是 A)MODIFY STRUCTURE STUDENT B)MODIFY COMMAND STUDENT C)REATE STUDENT D)CREATE TABLE STUDENT (5)在Visual FoxPro中,关于自由表叙述正确的是 A)自由表和数据库表是完全相同的 B)自由表不能建立字段级规则和约 C)自由表不能建立候选索引 D)自由表不可以加入到数据库中 (6)在Visual FoxPro中,建立数据库表时,将年龄字段值限制在12~14之间的这种约束属于 A)实体完整性约束 B)域完整性约束 C)参照完整性约束 D)视图完整性约(7)在Visual FoxPro中,运行表单T1.SCX的命令是 A)DO T1 B)RUN FORM1 T1 C)DO FORM T1 D)DO FROM T1 (8)使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当 A)使用WHERE子句 B)在GROUP BY后面使用HAVING 子句 C)先使用WHERE子句,再使用HAVING 子句。 D)先使用HAVING 子句,再使用WHERE子句 (9)在Visual FoxPro的参照完整性规则不包括 A)更新规则 B)删除规则 C)查询规则 D)插入规则 (10)在Visual FoxPro中,表结构中的逻辑型、通用型、日期型字段的宽度由系统自动给出,它们分别为: A)1、4、8 B)4、4、10 C)1、10、8 D)2、8、8 (11)在Visual FoxPro中,学生表STUDENT中包含有通用型字段,表中通用型字段中的数据均存储到另一个文件中,该文件名为 A)STUDENT.DOC B)STUDENT.MEN (12)在Visual FoxPro中,使用“菜单设计器”定义菜单,最后生成的菜单程序的扩展 A)MNX B)PRG C)MPR D)SPR (13)在Visual FoxPro中,使用SQL命令将学生STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是 A)REPLACE AGE WITH AGE+1 B)UPDATE STUDENT AGE WITH AGE+1 C)UPDATE SET AGE WITH AGE+1 D)UPDATE STUDENT SET AGE=AGE+1(14)调用报表格式文件PP1预览报表的命令是 A)REPORT FROM PP1 PREVIEW B)DO FROM PP1 PREVIEW C)REPORT FORM PP1PREVIEW D)DO FORM PP1 PREVIEW (15)在Visual FoxPro中,建立索引的作用之一是 A)节省存储空间 B)便于管理 C)提高查询速度 D)提高查询和更新的速度(16)在Visual FoxPro中,相当于主关键字的索引是 A)主索引 B)普通索引 C)唯一索引 D)排序索引 (17)在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为 A)ThisForm.Refresh B)ThisForm.Delete C)ThisForm.Hide D)ThisForm.Release(18)假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组是一个容器对象,其中包含Command1 和Command2两个命令按钮。如果要在Command1令按钮的某个方法中访问文本框的value属性值,下面哪个式子是正确的? A)ThisForm.Text1.value B)This.Parent.value C)Parent.Text1.value D)this.Parent.Text1.value(19)在Visual FoxPro 中,创建一个名为SDB.DBC的数据库文件,使用的命令是 A)CREATE B)CREATE SDB C)CREATE TABLE SDB D)CREATE DATABASE SDB (20)在Visual FoxPro中,存储图象的字段类型应该是B A)备注型 B)通用型 C)字符型 D)双精度型 (21)在Visual FoxPro中,下面4个关于日期或日期时间的表达式中,错误的是 A){^2002.09.01 11:10:10:AM}-{^2001.09.01 11:10:10AM} B){^01/01/2002}+2 C){^2002.02.01}+{^2001.02.01} D){^2002/02/01}-{^2001/02/01} (22)在Visual FoxPro中,关于过程调用的叙述正确的是 A)当实参的数量少于形参的数量时,多余的形参初值取逻辑假 B)当实参的数量多于形参的数量时,多余的实参被忽略 C)实参与形参的数量必须相等 D)上面A和B都正确 (23)下面是关于表单数据环境的叙述,其中错误的是 A)可以在数据环境中加入与表单操作有关的表 B)数据环境是表单的容器 C)可以在数据环境中建立表之间的联系 D)表单自动打开其数据环境中的(24)在Visual FoxPro中,如果希望一个内存变量只限于在本过程中使用,说明这种内存变量的命令是: B)PUBLIC C)LOCAL D)在程序中直接使用的内存变量(不通过A,B,C说明) (25)在 DO WHILE „ ENDDO循环结构中,LOOP命令的作用是: A)退出过程,返回程序开始处 B)转移到DO WHILE语句行,开始下一个判断和 C)终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D)终止程序执行 (26)在Visual FoxPro中,关于视图的正确叙述是 A)视图与数据库表相同,用来存储数据 B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作 D)视图是从一个或多个数据库表导出的虚拟表(27)SQL是那几个英文单词的缩写 A)Standard Query Language B)Structured Query Language C)Select Query Language D)以上都不是 (28)如果学生表STUDENT是使用下面的SQL语句创建的 CREATE TABLE STUDENT(SNOC(4)PRIMARY KEY NOTNULL,;SN C(8),;SEX C(2),;AGE N(2)CHECK(AGE>15 AND AGE<30)下面的SQL语句中可以正确执行的是 A)INSERT INTO STUDENT(SNO,SEX,AGE)valueS(“S9”,“男”,17) B)INSERT INTO STUDENT(SNO,SEX,AGE)valueS(“李安琦”,“男”,20)C)INSERT INTO STUDENT(SEX,AGE)valueS(“男”,20) D)INSERT INTO STUDENT(SNO,SN)valueS(“S9”,“安琦”,16) (29)使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是: A)SELECT*FROM STUDENT WHERE LEFT(姓名,2)=“王” B)SELECT*FROM STUDENT WHERE RIGHT(姓名,2)=“王” C)SELECT*FROM STUDENT WHERE TRIM(姓名,2)=“王” D)SELECT*FROM STUDENT WHERE STR(姓名,2)=“王” (30)连编后可以脱离开Visual FoxPro独立运行的程序是 A)APP程序 B)EXE程序 C)FXP程序 D)PRG程序 第(31)-(35)题使用如下表的数据: 部门表 部门号 部门名称 40 家用电器部 10 电视录摄像机部 20 电话手机部 30 计算机部 商品表 部门号 商品号 商品名称 单价 数量 产地 40 0101 A牌电风扇 200.00 10 广东 40 0104 A牌微波炉 350.00 10 广东 40 0105 B牌微波炉 600.00 10 广东 20 1032 C牌传真机 1000.00 20 上海 40 0107 D牌微波炉_A 420.00 10 北京 20 0110 A牌电话机 200.00 50 广东 20 0112 B牌手机 2000.00 10 广东 40 0202 A牌电冰箱 3000.00 2 广东 30 1041 B牌计算机 6000.00 10 广东 30 0204 C牌计算机 10000.00 10 上海 (31)SQL语句 SELECT部门号,MAX(单价*数量)FROM商品表GROUP BY部门号查询结果有几条记录? A)1 B)4 C)3 D)10 (32)SQL语句 SELECT 产地,COUNT(*)提供的商品种类数; FROM 商品表; WHERE 单价>200; GROUP BY 产地 HAVING COUNT(*)>=2; ORDER BY 2 DESC 查询结果的第一条记录的产地和提供的商品种类数是 A)北京,1 B)上海,2 C)广东,5 C)广东,7 (33)SQL 语句 SELECT 部门表.部门号,部门名称,SUM(单价*数量); FROM 部门表,商品表; WHERE 部门表.部门号=商品表.部门号; GROUP BY 部门表.部门号 查询结果是 A)各部门商品数量合计 B)各部门商品金额合计 C)所有商品金额合计 D)各部门商品金额平均值 (34)SQL 语句 SELECT 部门表.部门号,部门名称,商品号,商品名称,单价; FROM 部门表,商品表;、WHERE 部门表.部门号=商品表.部门号; ORDER BY 部门表.部门号 DESC,单价 查询结果的第一条记录的商品号是A)0101 B)0202 C)0110 D)0112 (35)SQL 语句 SELECT 部门名称 FROM 部门表 WHERE 部门号 IN; (SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000)查询结果是 A)家用电器部、电话手机部 B)家用电器部、计算机部 C)电话手机部、电视录摄像机部 D)家用电器部、电视录摄像机部 二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上【1】—【15】序号的答题卡上,答在试卷上不得分。 (1)用二维表数据来表示实体之间联系的数据模型称为【1】。 (2)在Visual FoxPro 中说明数组后,数组的每个元素在未赋值之前的默认值是【2】。(3)可以在项目管理器的 【3】 选项卡下建立命令文件。 (4)在Visual FoxPro中数据库文件的扩展名是【4】.DBC,数据库表文件的扩展名是【5】(5)打开数据库设计器的命令是【6】DATA (6)在SQL的CAEATA TABLE 语句中,为属性说明取值范围(约束)的是【7】短语。(7)SQL插入记录的命令是INSERT,删除记录的命令是【8】,修改记录的命令是【9】。(8)在SQR的嵌套查询中,量词ANY和【10】是同义词。在SQL查询时,使用【11】 子句指出的是查询条件。 (9)从职工数据库表中计算工资合计的SQL语句是 SELECT【12】FROM职工。(10)把当前表当前记录的学号,姓名字段值复制到数组A 的命令是 SCATTER FIELD 学号,姓名【13】。 (11)在表单中确定控件是否可见的属性是【14】。 (12)函数BETWEEN(40,34,50)的运算结果是【15】。 答案: 一、选择题(1)B(2)B(3)B(4)C(5)B(6)B(7)C(8)B(9)C(10)A(11)D(12)C(13)D(14)C(15)C(16)A(17)D(18)A(19)D(20)B(21)C(22)A(23)B(24)C(25)B(26)D(27)B(28)A(29)A(30)B(31)C(32)C(33)B(34)A(35)A 二、填空题(答案字母大小写均可)(1)【1】 关系模型 或 关系(2)【2】.F.或 逻辑假 或 假 或.N.(3)【3】 代码 或 全部(4)【4】 DBC 或.DBC 【5】 DBF 或.DBF(5)【6】 MODIFY 或 MODI 或 MODIF(6)【7】 CHECK 或 CHEC(7)【8】 DELETE 或 DELE 或 DELET 【9】 UPDATE 或 UPDA 或 UPDAT(8)【10】 SOME 【11】 WHERE 或 WHER(9)【12】 SUM(工资)(10)【13】 TO A(11)【14】 Visible(12)【15】.T.或 逻辑真 或 真 或.Y.2003年9月全国计算机等级考试二级Foxpro笔试试题 一、选择题((1)~(40)每题1分,(41)~(50)每 题2分,共60分) (1)在计算机中,一个字节所包含二进制位的个数是 A)2 B)4 C)8 D)16 (2)在多媒体计算机中,CD-ROM属示媒体于 A)存储媒体 B)传输媒体 C)表现媒体 D)表 (3)在DOS系统中,带有通配符的文件名*.*表示 A)硬盘上的全部文件 B)当前盘当前目录中的全部文件 C)当前盘上的全部文件 D)根目录中的全部文件 (4)十六进制数100转换为十进制数为 A)256 B)512C)1024 D)64 (5)能将高级语言编写的源程序转换为目标程序的软件是 A)汇编程序 B)编辑程序 C)解释程序 D)编译程序 (6)在Internet中,用于在计算机之间传输文件的协议是 A)TELNET B)BBS C)FTP D)O,GRADE),其中SNO,CNO分别表示意图学号和课程号(两者均为字符型),GRADE表示成绩(数值型),若要把学号为”S101”的同学,选修课程号为”C11”,成绩为98分的记录插入到表SC中,正确的语名是。 A)INSERT INTO SC(SNO,CNO,GRADE)VALUES(‘S101’,‘C11’,‘98’)B)INSERT INTO SC(SNO,CNO,GRADE)VALUES(S101,C11,98)C)INSERT(‘S101’,‘C11’,‘98’)INTOSC D)INSERT INTO SC VALUES(S104,C11,98)(17)以下有关SELECT短语的叙述中错误的是。A)SELECT短语中可以使用别名 B)SELECT短语中只能包含表中的列及其构成的表达式 C)CELECT短语规定了结果集中的列顺序 D)如果FROM短语引用两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加以限定.(18)在SQL语句中,与表达式”年龄BETWEEN12AND16功能相同的表达式是。A)年龄>=12OR<=46 B)年龄>=12AND<=46 C)年龄>=12OR年龄<=46 D)年龄>=12AND年龄<=46(19)在SELECT语句中,以下有关HAVING短语的正确叙述是。A)HAVING短语必须与GROUP BY 短语同时使用 B)使用HAVING短语同时不能使用WHERE短语 C)HAVING短语可以在任意的一个位置出现 D)HAVING短语与WHERE短语功能相同 (20)在SQL的SELECT查询的结果中,消除重复记录的方法是。A)通过指定主索引实现 B)通过指定惟一索引实现 C)使用DISTINCT短语实现 D)使用WHERE短语实现 (21)在Visal Foxpro中,假定数据库表S(学号,姓名,性别,年龄)和SC(学号,课程号,成绩)之间使用学号建立了表之间的永久联系,在参照完整性的更新规则,删除规则和插入规则中选择了设置了“限制”如果表S所有的记录在表SC中都有相关联系的记录,则。A)允许修改表S中的学号字段值 B)允许删除表S中的记录 C)不允许修改表S中的学号字段值 D)不允许在表S中增加新的记录(22)在VisualFoxpro中,对于字段值为空值(NULL)叙述正确的是。A)空值等同于空字符串 B)空值表示字段还没有确定值 C)不支持字段值为空值 D)空值等同于数值0(23)在Visual Foxpro中,如果希望内存变量只能在本模块(过程)中使用,不能在上层或下层模块中使用,说明该种内存变量的命令是。 A)PRIVATE B)LOCAL C)PUBLIC D)A不用说明,在程序中直接使用 (24)在Visual Foxpro中,下面关于索引的正确描述是。A)当数据库表建立索引以后,表中的记录的物理顺序将被改变 B)索引的数据将与表的数据存储在一个物理文件中 C)建立索引是创建一个索引文件,该文件包含着有指向表记录的指针 D)使用索引可以加快对表的更新操作 (25)在Visnal FoxPrn中.在数据库中创建表的CREATE TABLE命令中定义主索引,实现实体完整性规则的短语是。 A)FOREIGE KEY B)DEFAULT C)PRIMARY KEY D)CHECK(26)在Visual Foxpro中,以下关于查询的描述正确的是。A)不能用自由表建立查询 B)只能用自由表建立查询 C)不能用数据库表建立查询 D)可以用数据表和自由表建立查询 (27)在Visual Foxpro中,数据库表的字段或记录的有效性规则的设置可以在。A)项目管理器中进行 B)数据库设计器中进行 C)表设计器中进行 D)表单设计器中进行(28)在Visual Foxpro中,如果要将学生表S(学号,姓名,性别,年龄)中“年龄”属性删除,正确的SQL命令是。 A)ALTER TABLE S DROP COLUMN 年龄 B)DELETE 年龄FROM S C)ALTER TABLE S DELETE COLUMN 年龄 D)ALTER TABLE S DELETE年龄 (29)在Visual Foxpro的数据库表中只能有一个。A)候选索引 B)普通索引 C)主索引 D)惟一索引 (30)设有学生表S(学号,姓名,性别,年龄),查询所有年龄小于等于18岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL命令是。 A)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 4 DBSC INTO TABLE WS B)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 年龄 INTO TABLE WS C)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 年龄 DESC INTO TABLE WS D)SELECT*FROMS WHERE性别=“女”OR 年龄 <=18ORDER BY 年龄ASC INTO TABLE WS(31)设有学生选课表SC(学号,课程号,成绩),用SQL检索同时选修课程号为“C1”“C5”的学生的学号的正确命令是 A)SELECT学号FROM SC WHERE 课程号=“C1”AND课程号=“C5” B)SELECT学号FROM SC WHERE 课程号=“C1”AND课程号=(SELECT课程号 FROM SC WHERE 课程号=“C5”) C)SELECT学号FROM SC WHERE 课程号=“C1”AND学号=(SELECT学号 FROM SC WHERE 课程号=“C5”) D)SELECT学号FROM SC WHERE 课程号=“C1”AND学号 IN(SELECT学号 FROM SC WHERE 课程号=“C5”) (32)设有学生表S(学号,姓名,性别,年龄)、课程表 C(课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的DQL命令是。A)SELECT学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号=SC.学号AND SC.学号=C.学号 B)SELECT学号,姓名,课程名,成绩 FROM(SJOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号 =C.课程号 C)SELECT学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号 D)SELECT学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON SC.课程号=C.课程号 ONS,学号=SC.学号 (33)在Visual FoxPro中以下叙述正确的是。A)表也被称作表单 B)数据库文件不存储用户数据 C)数据库文件的扩展名是DBF D)一个数据库中的所有表文件存储在一个物理文件中 (34)在Visual FoxPro中,释放表单时会引发的事件是。A)UnLoad事件 B)Init事件 C)Load事件 D)Release事件 (35)在Visual FoxPro中,在屏幕上预览报表的命令是。A)PREVIEW REPORT B)REPORT FORM···PREVIEW C)DO REPORT···PREVIEW D)RUN REPORT···PREVIEW 二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。 (1)在深度为7的满二叉树中,度为2的结点个数为 【1】。 (2)软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于【2】 测试。 (3)在数据库系统中,实现各种数据管理功能的核心软件称为【3】。 (4)软件生命周期可分为多个阶段,一般分为定义阶段,开发阶段和维护阶段,编码和测试属于【4】 阶段。 (5)在结构化分析使用的数据流图(DFD)中,利用【5】 对其中的图形元素进行确切解释。(6)为使表单运行时在主窗口中居中显示。应设置表单的AutoCenter属性值为【6】。(7)?AT(“EN”,RIGHT(“STUDENT”,4)的执行结果是【7】。 (8)数据库表上字段有效性规则是一个【8】 表达式。 (9)在Visual FoxPro中,通过建立数据库表的主索引可以实现数据的【9】 完整性。(10)执行下列程序,显示的结果是【10】。one=“WORK” two=“” a=LEN(one)i =a DO WHILE i >1 Two=two+SUBSTR(one,i , 1)i =i –1 ENDDO two(11)“歌手”表中有“歌手号”、“姓名”和“最后得分”三个字段,“最后得分”越高名次越靠前,查询前10名歌手的SQL语句是 SELECT*【10】 FROM 歌手ORDER BY 最后得分【12】。 (12)已有“歌手”表,将该表中的“歌手号”字段定义为候选索引、索引名是temp,正确的SQL语句是【13】 TABLE 歌手 ADD UNIQUE 歌手号 TAG temp(13)连编应用程序时,如果选择连编生成可执行程序,则生成的文件的扩展名是【14】。 (14)为修改已建立的报表文件打开报表设计器的命令是【15】 REPORT 答案 1、C 解析: 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。 2、D 解析: 依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如下图所示。求得该二叉树的前序遍历序列为选项D)。 3、B 解析: 链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。但是链式存储结构也有不足之处:① 每个结点中的指针域需额外占用存储空间;② 链式存储结构是一种非随机存储结构。 4、D 解析: 顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的3种基本结构。 5、D 解析: 测试的目的是发现软件中的错误。经验表明,程序中存在错误的概率与该程序中已发现的错误数成正比。这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。 6、C 解析: 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。 7、D 解析: 软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。 8、C 解析: 选项A)、B)显然不合题意。数据定义语言(Data Definition Language,简称DDL)负责数据的模式定义与数据的物理存取构建;数据操纵语言(Data Manipulation Language,简称DML)负责数据的操纵,包括查询及增、删、改等操作。 9、C 解析: 数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点。 10、D 解析: 数据处理是指将数据转换成信息的过程,故选项A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。 11、A 解析: Visual FoxPro就是一种关系数据库管理系统,一个“表”就是一个关系,一个关系就是一个二维表。关系数据库管理系统可管理若干个二维表。 12、B 解析: 关系的基本运算可以分为两类:传统的集合运算和专门的关系运算。传统的集合运算包括并、差、交等,专门的关系运算包括选择、投影和联接。 13、D 14、C 解析: 字符型数据的定界符为半角单引号、双引号或方括号。但是,如果某种定界符本身也为字符串内容,则需要用另一种定界符为该字符串定界。 15、C 解析: 变量值可以随时改变。在Visual FoxPro中,将变量分为字段变量和内存变量,变量的类型是可以随时改变的,它的类型取决于变量值的类型,并不是变量类型决定变量值的类型,它是随变量值的改变而改变。 16、C 解析: 结构复合索引文件是Visual FoxPro数据库中最普通的,也是最重要的一种索引文件,它会随着表的打开而自动打开。 17、A 解析: 实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在Visual FoxPro中利用主关键字或候选关键字来保证表中的记录惟一。 18、C 解析: LOCATE FOR是指查找到第1条满足要求的记录,然后使用CONTINUE继续查找下1条满足要求的记录。选项B)是查找所有满足要求的记录。选项A),D)命令格式错误。 19、D 解析: 索引文件是数据库的一部分,会随着数据库的关闭而关闭。20、B 解析: 在自由表中不可使用长字段名,字段名的最大值是10;数据库表中可以使用长字段名,最大值为128。 21、C 解析: 在Visual FoxPro中,如果要在同一时刻打开多个表,只需要利用SELECT命令选择不同的工作区并打开不同的表即可。最小的工作区号是1,最大的是32 767,即可以同时打开32 767个表。 22、C 解析: 查询可以从指定的表或视图中提取满足条件的记录,但它并不只限于单个表或视图,查询设计器的局限性是指它只能建立一些规则的查询,如果要建立比较复杂的查询,则只能通过SQL SELECT语句来实现。 23、B 解析: 在Visual FoxPro中,视图可以引用一个或多个表,也可以引用其他视图,是一个定制的虚拟表,它可以是本地视图、远程视图或带参数的。 24、A 解析: WAIT命令只能接收单个字符型数据,可以在用户输入一个字符后自动结束该命令,故答案为A)。 25、D 解析: 公共变量可以被整个程序调用;私有变量只能被本层模块和下层模块程序调用;而局部变量只能被本层模块调用,其他模块都不能调用局部变量。 26、C 解析: 该循环语句中,变量s和i每次执行循环后值的变化如下: s值 i值第一次循环 5 6,第二次循环 11 7,第三次循环 18 8,程序在第四次执行循环时,因条件(18<=11)为假而退出循环。 27、C解析: 在Visual FoxPro中,类可分为控件类和容器类。控件类用于进行一种或多种相关的控制,其封装性比容器类更加严密,但灵活性比容器类差,故答案为C)。 28、B 解析: 在Visual FoxPro中,对象被选定,就获得焦点。如果要为控件设置焦点,Enabled和Visible属性的值必须为真(.T.),其中Enabled属性决定控件是否可用,而Visible属性决定控件是否可见。 29、D 解析: 编辑框实际上是一个完整的字处理器,可进行选择、剪切、粘贴及复制正文等操作,但在编辑框中只能输入和编辑字符型数据。30、A 解析: Visual FoxPro中,支持两种类型的菜单,分别是条形菜单和弹出式菜单。菜单系统一般是一个下拉式菜单,它是由一个条形菜单和一个弹出式菜单所组成的。 31、B 解析: 在报表设计器中,报表包括若干个带区,页标头、细节和页注脚3个带区是快速报表默认的基本带区,如果要使用其他带区,用户可在“报表”菜单中进行设置。 32、D 解析: Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能。由于Visual FoxPro自身在安全控制方面的缺陷,它没有提供数据控制功能。 33、C 解析: SELECT查询语句最基本的格式为SELECT-FROM-WHERE。选项A)缺少FROM短语,选项B)和D)中条件短语错误。 34、D解析: 选项A)中缺少查询的“仓库”表,且查询条件联接有误;选项B)中同样缺少查询的“仓库”表;选项C)中查询条件错误,应使用AND进行条件联接,而不是OR。 35、D解析: 利用EXISTS或NOT EXISTS,可用来检查在子查询中是否有结果返回。利用运算符IN来表示,可写成如下格式: SELECT * FROM 仓库表 WHERE 仓库 IN;(SELECT 仓库号 FROM 职工表)1 有穷性 解析: 算法是指解题方案的准确而完整的描述。它有4个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。解析: 对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序查找需要比较n次。3 对象 解析: 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。4 软件生命周期 解析: 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。5 关系模型 解析: 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。6 32 解析: Visual FoxPro从3.0版本开始,就是一个32位的管理系统,并支持面向对象编程。7 15 解析: SPACE()函数是用来生成指定数量的空格,结果为字符型数据。在字符表达式中,不论是“+”或“-”运算,都表示连接字符串的运算,其连接后的新字符串长度总是等于所连接的两个字符串长度之和。LEN()函数用来测试字符串的长度。 8、AGAIN解析: 在Visual FoxPro中,一个工作区上只能打开一个数据表,如果要在不同工作区上打开同一个数据表文件,必须使用AGAIN短语。9 1.EXE 学生档案管理 2.学生项目 解析: 连编应用程序的命令是BUILD APP或BUILD EXE,根据指定的项目生成一个应用程序。其中EXE文件可以在Windows环境下直接运行。10 1.命令交互 2.程序 解析: SQL语言是一种一体化语言,语言非常简洁,是高度非过程化的语言,它不仅可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。11 1.选课表B 2.B.学生号=“W2” 解析: SQL不仅可以对多个关系进行联接操作,也可 以将同一关系与其自身进行联接。在自联接操作中,别名是必不可少的,别名是在FROM短语中定义的,格式为<关系名> <别名>。12 1.SET 工资=工资+30 解析: 在SQL语句中,使用UPDATE更新语句可以修改表中的记录。语句基本格式为: UPDATE TableName SET Column_Name1=eExpression1[,Column_Name1=eExpression1...] WHERE Condition 2007年9月全国计算机等级考试二级笔试试卷 一﹑选择题(每小题2分,70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。 (1)软件是指 A.程序 B.程序和文档 C.算法加数据结构 D.程序、数据与相关文档的完整集合(2)软件调试的目的是 A.发现错误 B.改正错误 C.改善软件的性能 D.验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠 A.对象的继承 B.对象的多态 C.对象的封装 D.对象的分类(4)下列叙述中,不符合良好程序设计风格要求的是 A.程序的效率第一,清晰第二 B.程序的可读性好 C.程序中要有必要的注释 D.输入数据前要有提示信息(5)下列叙述中正确的是 A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构 C.程序执行的效率只取决于所处理的数据量 D.以上三种说法都不对 (6)下列叙述中正确的是 A.数据的逻辑结构与存储结构必定是一一对应的 B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D.以上三种说法都不对 (7)冒泡排序在最坏情况下的比较次数是 A.n(n+1)/2 B.nlog2 n C.n(n-1)/2 D.n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 A.219 B.221 C.229 D.231(9)下列叙述中正确的是 A.数据库系统是一个独立的系统,不需要操作系统的支持 B.数据库技术的根本目标是要解决数据的共享问题 C.数据库管理系统就是数据库系统 D.以上三种说法都不对 (10)下列叙述中正确的是 A.为了建立一个关系,首先要构造数据的逻辑关系 B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C.一个关系的属性名表称为关系模式 D.一个关系可以包括多个二维表 (11)在Visual Foxpro中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为 A.向导 B.设计器 C.生成器 D.项目管理器(12)命令?VARTYPE(TIME())结果是 A.C B.D C.T D.出错 (13)命令?LEN(SPACE(3)-SPACE(2))的结果是 A.1 B.2 C.3 D.5(14)在Visual Foxpro中,菜单程序文件的默认扩名是A.mnx B.mnt C.mpr D.prg(15)想要将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令 A.SET CENTURY ON B.SET CENTURY OFF C.SET CENTURY TO 4 D.SET CENTURY OF 4(16)已知表中有字符型字段职称和姓别,要建立一个索引,要求首先按职称排序、职称相同时再按性别排序,正确的命令是 A.INDEX ON 职称+性别 TO ttt B.INDEX ON 性别+职称TO ttt C.INDEX ON职称,性别TO ttt D.INDEX ON 性别,职称TO ttt(17)在Visual Foxpro中,Unload事件的触发时机是 A.释放表单 B.打开表单 C.创建表单 D.运行表单(18)命令SELECT 0的功能是 A.选择编号最小的未使用工作区 B.选择0号工作区 C.关闭当前工作区的表 D.选择当前工作区 (19)下面有关数据库表和自由表的叙述中,错误的是 A.数据库表和自由表都可以用表设计器来建立 B.数据库表和自由表都支持表间联系和参照完整性 C.自由表可以添加到数据库中成为数据库表 D.数据库表可以从数据库中移出成为自由表(20)有关ZAP命令的描述,正确的是 A.ZAP命令只能删除当前表的当前记录 B.ZAP命令只能删除当前表的带有删除标记的记录 C.ZAP命令能删除当前表的全部记录 D.ZAP命令能删除表的结构和全部记录 (21)在视图设计器中有,而在查询设计器中没有的选项卡是 A.排序依据 B.更新条件 C.分组依据 D.杂项 (22)在使用查询设计器创建查询是,为了指定在查询结果中是否包含重复记录(对应于DISTINCT),应该使用的选项卡是 A.排序依据 B.联接 C.筛选 D.杂项 (23)在Visual Foxpro中,过程的返回语句是 A.GOBACK B.COMEBACK C.RETURN D.BACK(24)在数据库表上的字段有效性规则是 A.逻辑表达式 B.字符表达式 C.数字表达式 D.以上三种都有可能 一、全国计算机等级考试二级VFP考试形式、题型及分值分布 从今年3月的开始, 教育部考试中心对二级考试的形式做改革, 考试科目由原来的两科 (笔试+上机) 变为一个科目 (理论和上机部分统一在机子上完成) , 考试大纲和考试要求没有变, 经过改革二级公共基础知识在各科笔试中的分值比重为10分, 程序设计部分的比重为90, 主要考查考生对程序设计语言使用和编程调试等基本能力。对于VFP方向考试题型主要有两种, 选择题和上机操作题, 其中选择题占40分, 选择题的考试内容为公共基础知识和VFP程序设计部分, 各占10分和30分;上机操作占60分, 上机操作主要有三种题型, 其中基本操作占18分, 简单应用占24分, 综合应用占18分, 前两种相对来说较为简单一点, 主要考查项目有数据库、表、查询、视图、菜单和报表, 综合应用相对难度大一些, 主要考查表单及程序设计的应用。 二、我校VFP实际开设情况 目前我校开设VFP课程的班级 (包括辅导班) 实际课时为90课时, 理论讲解56课时, 上机34课时, 按该课时勉强能够把课程内容结束。但由于地处边疆民族地区, 大部分学生基础薄弱、自制力差、自觉性不高, 大部分学生反映还是有些吃力, 特别是SQL语句和程序设计部分, 这恰好是考试的重中之重。若这两部分掌握不好, 等级考试中及格的可能性将很低。 三、公共基础知识 公共基础知识主要由数据结构与算法、程序设计基础、软件工程基础、数据库基础四部分组成, 相当于计算机应用专业的四门专业课, 内容繁多, 涉及面宽但不深, 部分考生因为没有掌握好这部分的学习方法、找不到重点, 在考试过程中丢分严重。对于这一部分内容的学习, 要抓主其特点, 紧扣大纲, 根据不同章节选择不同的学习方法。公共基础知识没有单独作为一门课程开设, 一般需要考生自学完成。对于考生来说, 复习过程中需要注意一下几点: 1、全面了解公共基础知识考试大纲, 合理选择教材和参考资料。 考试出题一般都是依据考试大纲, 所以对于考生需要了解大纲中要求掌握的知识点, 参考资料也比较多, 我们一般选择教育部考试中心编写的, 包括VFP教材。教材中每一章节的基本概念是考试的重点, 甚至就考课本中的原文, 少部分内容需要理解应用, 如二叉树和查找及数据库中关系运算部分。 2、避免搞题海战术, 脱离教材和大纲。 很多同学以为通过做大量的模拟题就可以通过考试, 甚至对于不会的试题不分析、不理解而只是死背答案, 但在实际的考试当中, 很难碰到练习册上的原题, 所以在做练习题时, 一定要练一当十, 不要就题论题, 而是要掌握题目所考核的知识点, 以教材为主。 3、了解各个知识点所占分值比例, 复习时有所侧重。 以分值比例为依据, 进行有重点的复习, 是在短时间内迅速提高成绩的有效途径。在复习时, 应根据自己的基础, 学习的进度、成效等实际情况, 合理安排对各个章节学习时间的分配, 重点章节多下功夫, 分值较少的章节抓住知识点点到为止。对近几年二级考试中公共基础知识部分中各章节所考知识点的统计, 数据接结构与算法占10分, 程序设计部分占2分, 软件工程模块占8-10分左右, 数据库基础模块10分, 具体分值分布如表1所示: 根据近几次考试发现, 在数据结构与算法模块中, 考试知识点主要分布在算法的概念、数据结构的概念、栈和队列、线性表、二叉树等知识点;程序设计基础模块所考知识点主要分布在结构化程序设计和面向对象的程序设计, 其中面向对象的特性是考试的重点;软件工程模块考点主要集中在软件生命周期各阶段的特点、软件测试、调试、总体设计和详细设计各阶段所使用工具等;数据库基础模块, 考试知识点主要分布在DB、DBMS、DBS、关系等概念, 数据库独立性和共享性、关系模型、三种联系 (1:1, 1:n, m:n) , 三种关系的专门运算 (选择、投影、联接) 等。 4、针对不同章节的特点, 选择不同的学习方法。 对于每一模块的学习, 首先需要看书学习, 弄懂教材, 然后针对章节特点选择不同的学习特点, 对于软件工程基础和程序设计模块中的很多知识点需要死记硬背, 对于数据结构与算法中的二叉树和查找、数据库基础中的集合运算、专门运算等则需要在理解的基础上, 用自己的语言进行总结方能形成记忆。 四、VFP程序设计 对于VFP程序设计部分是学习的重点, 相关知识点在理论和上机操作中占到90分, 比例较大, 应该提前三个月左右就开始准备。以高等教育出版社2012版《全国计算机等级考试二级VisualFoxPro数据库程序设计》教材为例, 第一章主要是数据库的基础知识, 这一部分内容和公共基础知识中的第四部分相重合, 在此不需要花什么时间;第二章中主要涉及VFP程序设计中的常量、变量、运算符和表达式的运算及常用函数, 对于常用函数是考试的重点, 如数学函数sqrt () 、int () 、round () 、mod等, 字符函数len () 、space () 、trim () 、substr () 、at () 、stuff () 等, 日期时间函数date () 、year () 等, 数据类型转换函数str () 、val () 、ctod () 、dtoc () 等, 测试函数eof () 、bof () 、vartype () 、recno () 、iif () 等, 对于函数, 一定要掌握常用函数的功能及用法, 根据学生的实际情况, 在教学中把本章中的程序设计部分调整到查询和视图的后面再学习;第三章Visual FoxPro数据库及其操作:在本章中主要涉及数据库和表的建立及维护, 可以使用菜单实现, 也可以使用命令实现, 在考试中不但要掌握菜单的操作方法, 同时也要掌握命令的使用方法。在上机操作中会涉及数据库及表的建立、数据库表和自由表的操作、索引的建立、参照完整性的设置等, 在选择题中会出现一些命令的使用, 如记录修改、查找、排序、索引的建立等命令的用法;第四章关系数据库标准语言SQL:这一章在二级考试中占的分值较大, 在以往的理论考试中, 占到25分左右, 可见及其重要, 同时也是难点, 本章中主要涉及SQL语言的数据查询功能 (SELECT) 、数据定义功能 (CRE-ATE、ALETER、DROP) 、数据操作功能 (INSERT、UP-DATE、DELETE) , 其中SELECT语句的使用是重点, 不但要求考生能读懂SELECT语句, 同时也要求考生能够根据题目要求写出相应的SQL语句, 需要考生多花时间, 重在理解, 学好本节内容, 第五章的查询和视图就变得比较简单;第五章查询和视图:这一章在考试中所占分值较少, 但上机操作和理论中都会出现, 需要考生弄懂查询和视图的设计方法, 视图的概念、视图与数据库的关系、查询的扩展名等。第六章程序设计:这一章对于大部分考生来说难度较大, 同时也是比较关键的一部分, 虽然在理论中分值不大, 但在上机操作的综合应用模块会用到, 需要考生能够编写代码实现一定的功能, 往往考生在这一块丢分较严重, 在本章中需要考生掌握程序设计的三种基本结构 (顺序、选择、循环) 及每一种结构语句的使用, 在学习过程中考生要能够先慢慢读懂别人的程序, 然后自己尝试着来编写程序, 经过长时间的练习来熟悉掌握考试要求的程序设计;第七章表单与应用:通过对历年二级考试试题的研究, 这一部分内容在理论中占到12分左右, 上机操作的综合应用中会出现要求做表单并实现功能, 在本章中考生必须掌握表单的设计、各种控件的常用属性及使用方法, 如标签、文本框、命令按钮、命令按钮组、复选框、单选按钮组、列表框、组合框、表格、页框等;第八章菜单、第九章报表, 这两部分内容相对较为简单, 考试中所占分值也不大, 但上机操作和理论中均有出现。 五、上机操作题 上机操作重点考察的是考生的基本操作能力和编写程序的能力, 要求考生具有综合运用基础知识进行实际操作的能力。上机考试有三个大题:基本操作、简单操作、综合应用, 其中基本操作题和简单操作题相对较简单, 综合应用题难度较大, 基本操作主要涉及数据库、表的基本操作, 简单应用主要涉及查询、视图、报表、菜单、表单的基本操作, 综合应用主要涉及表单建立及程序编写。上机操作需要引起考试足够的重视, 因为在二级VFP的考试中占了60%, 为了取得理想的上机成绩, 每个考生在考前都应做好充分的准备。总结以下几点供考生复习和考试时借鉴: 1、平时课堂教学的上机课中要多练习基本操作, 操作过程中可以先按的详细步骤进行, 然后再过渡到只给出题目而没有给出具体操作步骤来做, 直到操作熟练。现实生活中很多同学自己也拥有电脑, 学生可以利用课外的时间加强练习。 2、对于上机考试的复习, 不能“死记硬背”。根据统计结果, 部分学生能够通过笔试, 但上机操作却过不了, 这说明这部分考生在复习过程中操作这一块没有引起足够的重视, 只重视知识点的记忆, 而忽略了对所学知识点的应用。为了克服这个弊病, 考生一定要在熟记基本知识点的基础上, 加强上机训练。 3、计算机二级考试的所有科目都有相关的上机考试题库, 并配有光盘, 题库中差不多有100套题, 实际考试的上机操作部分题将从题库中抽取, 所以考生在考试前, 一定要加强题库的练习。 六、结束语 计算机课程本身是理论性和实践性很强的学科, 而计算机等级考试二级VFP方向的规律性也很强, 考生在考试复习时, 应吃透考试大纲, 以教材为本, 把我备考原则, 注重学习方法, 掌握考试技巧, 多收集历年考试真题, 并对其进行综合分析, 多思考、多对比、多练习, 就能顺利通过全国计算机二级VFP的考试。 摘要:本文根据笔者多年的VFP教学和辅导经验, 介绍了二级VFP的考试形式、题型及分值分布情况, 研究与分析了近几年二级VFP考试中公共基础知识模块、程序设计模块、上机操作模块中的主要考点及应对策略, 为考生应考提供自学指导。 关键词:二级VFP,研究与分析,主要考点,应对策略 参考文献 [1]教育部考试中心全国计算机等级考试二教程-VisualFoxPro数据库程序设计 (2012版) 北京高等教育出版社2007.9 [2]刘卫国Visual FoxPro程序设计教程北京北京邮电大学出版社2005 针对以上问题,我们开发了一个基于Java Web Start技术的VFP网络考试系统。该系统可用于局域网和广域网内的练习和考试,其通过网页发布,以应用程序的形式运行,在功能上既可以考单选题、多选题、判断题、填空题、完善程序题等客观题,也可以考操作编程等主观题。试题库放在数据库服务器中统一管理,程序放在Web服务器中,当系统更新时,客户端自动下载更新。这些特点使该系统具有了C/S模式的强大的功能、又具有了B/S模式的方便快捷。 1 J a va We b S ta rt技术概述 1.1 应用程序的发布 Java Web Start技术是SUN公司从Java1.4开始提出的一种新的应用程序分发方式:Java Web Start是一种协议,通过单击网页上的JNLP(Java Network Launching Protocol网络启动协议)文件链接来下载并运行程序。Java Web Start需要Java运行环境(JRE),JRE使得Java应用程序可以像普通应用程序一样运行,同时又具有像applet小程序一样通过网络分发的灵活性。 Java Web Start的工作原理如下: (1)程序员将应用程序的发布信息写在一个JNLP(是Java Web Start的组成部分)文件内,它包括应用程序的来源网站、包涵的软件包、运行参数、在Windows平台上要生成的菜单项及桌面快捷方式等信息。 (2)将该文件发布到Web服务器上,并在网页上使用一个超链接指向该文件。 (3)用户使用浏览器加载该页面,并单击该链接。 (4)如果用户没有Java运行环境,则打开一个对话框,询问是否下载并安装Java运行环境(jre)。当前,完全安装的大小为5.7M,通过局域网下载并安装会在一分钟以内的时间完成。 (5)Java运行环境(jre)安装并运行该程序,打开新窗口或其他界面组件,就像其他应用程序一样。程序被保存在缓存中,以后再次运行它时不必重新安装。当服务器上的应用程序更新时,客户端自动从服务器下载更新。 Java Web Start应用程序不同之处在于它为用户提供的安全性。发布应用程序之前,应该对应用程序的JAR文件进行数字签名。签名的方式有两种:一种到国际上知名的认证公司认证,它会下发一个数字认证证书,用该证书可对应用程序进行签名。这种方式的缺点是需要一定的费用,而且每过一段时间证书还需要重新认证;另一种方式是自己创建数字证书,然后对应用程序进行签名。这种方式的缺点是签名的时限为六个月,六个月后需重新签名。我们的应用程序采用自己创建数字签名的方式发布。 对应用程序的JAR文件签名以后,需要把它们发布到Web网站上,在Web网页上插入一个超链接,指向JNLP文件,由JNLP文件指出应用程序的各种配置信息。JNLP文件是一个XML文件,这个特殊文件必须使用Java网络启动协议来创建。该协议采用XML文件格式指定Java应用程序的主类文件、JAR文件及其他信息。 服务器以Linux作为操作系统平台,以Tomcat作为WEB容器,以开源免费的My SQL作为数据库以节约系统开发部署的费用和保证系统的安全。 1.2 客户端环境的检查 由于本系统采用Java Web Start技术发布考试系统,需要在客户端安装Java1.4以上运行环境(JRE),所以需要检查考生的客户机上是否安装了JRE。在考试系统的JSP主页中用javascript及VBscripte脚本语言实现对环境的检测。如果客户机安装了JRE,则直接在Web页面上显示JNLP文件的超链接,考生单击超链接即可启动考试系统。若未安装JRE则显示JRE下载地址的超级链接并提醒考生需要下载并安装JRE,考生单击“确认”后会自动下载并执行JRE的安装程序。因此要么随应用程序提供Java解释器,要么用户自己安装解释器。对于一个应用系统最容易的解决方案是:从Sun公司的网站(http://java.sun.com/getjava/)下载Java运行环境,并把它放在应用网站上,然后对用户的应用环境进行判断,看用户的机器里有否JRE,如果有直接运行应用程序,没有则从应用程序网站下载并安装JRE,然后运行应用系统。 2 系统的功能和实现 网络考试系统结构如图1所示: 考试模块的主要功能是: (1)考生的登录。 (2)在窗口的左边显示各题目的目录树,学生单击目录树中的某一结点,在右边的操作区显示题目的细节,考生可以根据考试题型做出自己的答案。 (3)恢复考生的答题结果。考生在做完题目以后,若要检查做过题目的答案,应予以恢复,让考生看到自己的答案。 (4)对于主观题做出评判并给出答案。 (5)对于考生做过的主观题的答案,定时保存到后台数据库中。 (6)若重新登录,恢复考生以前做过的主观题的答案。 教师模块的功能有: (1)试题的录入、修改、删除。其中填空题、完善程序题等题目采用正则表达式来判断考生试题的正确与否。需出题人员对正则表达式有较深的了解。 (2)设置考试的各种参数。包括:组成多少份试卷、考试时间、是否交换试题选项、是否显示成绩、是否允许练习或考试后查看正确答案、考试开始后多少分钟后才可以交卷、每一章节各类题型题目的多少等。 (3)根据试卷参数生成试卷。 教务模块的功能有: (1)考生所学科目的设置; (2)考试成绩的查询; (3)考试成绩的打印; (4)考试成绩的导出与转存。 (5)批量导入考生信息。 若设置为允许考生当场查看成绩,考生当场可以查看成绩。若不允许当场查看成绩,以后,可以通过网页上显示的birt报表查看打印成绩。考试数据的导入主要是考生的信息,包括考号、姓名、状态等信息,通过常用的Excel表格导入到数据库中。数据导出主要实现考生成绩导出为Excel表格并转存它处。 3 操作编程类题目的评判 对于操作类试题C/S模式考试系统处理得较好,而B/S模式的考试系统则显得力不从心。采用Java Web Start技术的考试系统在数字签名后,既可突破Java安全沙箱的限制,能够对本地的资源进行访问,获取考生的的操作结果,从而对考生的答案作出评判。对于VFP系统文件,本系统采用自己开发的Xbase数据库的JDBC驱动程序读写,在客户端不需要配置数据环境,更不需要安装ODBC等驱动程序,大大地提高了系统的通用性。对于VFP的库表、项目、表单、标签、报表、查询、视图等类试题采用静态分析的方法,用正则表达式技术对各考点的答案进行提取并校验。根据各考点的分值比,给考生一个较为合理的分数。对于程序设计题、表单题等题型,由于实现方法多种多样,要做出正确的评判是不可能的或者说是很困难的。因为对于同一个程序设计题目,由于可以使用不同的算法,对同一算法的实现还可以使用不同的结构或不同的语句,因此每个考生所提交的程序答案都不完全相同,再加上考生在编写代码的过程中难免有疏漏或失误,导致程序会存在一些显性或隐性的缺陷,这就使得对程序的准确性判断存在一定的难度,对评判者的能力要求较高。而计算机自动判卷技术则要克服这些困难,给考生的程序一个较为合理的分数。本系统采用先动态分析,模拟运行环境,运行考生的程序,若能得到正确结果,则给考生结果分;若未得到结果分再对考生的程序进行静态分析,分析结构、语句是否符合试题的要求,给考生一个结构和语法分。结果分加语法分就是考生该题的最终分数,这样就避免了要么满分要么零分的极端情况出现,分值比较合理。 Java Web Start技术是一个Java应用程序部署的创造性技术,应用该技术学生通过校园网在自己的计算机上可以进行VFP的练习和考试。通过两个学期的试用本系统达到了预期的目的:学生通过网络进行考试和练习,能够考客观题也能考主观题,对考生的操作和编程题的评判做到了较为准确合理。 摘要:文章论述了VFP考试系统的设计与应用,该系统应用了Java Web Start技术,包括考试、教师、教务三大模块,使用了静态分析与动态跟踪相结合的方法对操作与编程题进行评判,使考生成绩比较准确客观。 关键词:Java Web Start,静态分析,自动测试,VFP 参考文献 [1]Laura L,Rogers C.Teach yourself java2 in 21 days[M].潇湘工作室译.北京:人民邮电出版社,2001. [2]周松.Visual Foxpro上机操作考试自动阅卷系统的设计与实现.淮海学院学报[J].2003,12(6):22-23,31. [3]龙琼.用Java Web Start软件进行客户端软件部署[J].湖南工程学院学报.2004,14(3):69-71. 计算机二级考试科目分为d e l p h i、C++, VB, VFP, ACCESS等几个科目, 任选其一。针对该校学生的特点, 学生选择VFP (数据库) 的比较多, 通过几年的二级数据库的培训, 摸索了一套适合学生的培训办法, 学生的过级率确实提高很多, 达到了60%以上, 是学生拿到全国计算机二级证书没有想象中的那么困难。此种培训方法可以运用在日常教学当中, 快速的掌握理论知识要点, 增加实际动手操作能力, 并可以应对日后的各种考试。 现在的计算机二级考试全为上机操作, 笔试和操作题都通过电脑完成, 共计100分, 其中40分为笔试题, 60分为上机操作。两项得分60为合格, 其中上机操作必须过36分才行, 所以操作题为重中之重。笔试题其中前10分的题为计算机的公共基础知识, 是所以二级科目都考的, 剩下30分为专业知识。 为了提高学生的过级率, 根据二级数据库考试的特点, 培训时间为60学时, 采取如下的培训方法。 1 笔试公共基础知识 通过对历年真题的深入研究, 公共基础考试主要其中在数据结构与算法, 程序设计, 软件工程基础, 数据库设计基础四个方面。内容繁多, 学起来费事, 尤其很多学生掌握不好这部分知识, 丢分严重。虽然知识点多, 但是也不是不能拿到分的。在培训这部分知识的时候, 不需要每门课程都掌握, 只要把握几个关键点, 时间、空间复杂度, 线性表的特点, 对应的存储机构的特点, 栈和队列的特点, 二叉树的特点, 度、叶子、深度等算法, 前序遍历、中序遍历、后序遍历的算法。常用的顺序查找、二分查找, 直接插入排序、冒泡排序、快速排序的特点, 程序设计的三种基本结构, 结构化程序设计的特点, 面向对象的程序设计特点, 软件工程的生命周期, 每个周期的特点, 软件设计分为概要设计和详细设计, 每种设计用的方法, 软件测试、调试的目的, 数据库的特点, 数据库系统的核心, 数据模型、传统的关系运算、专门的关系运算等, 把历年经常考的试题拿出来, 不花费较多的时间在这部分, 让学生做专门的练习, 只要是死记硬背, 2 笔试VFP基础知识 首先熟悉常量, 变量, 函数, 表达式等部分, 记住各种类型常量, 变量的特点及简写, 例如日期型常量:字符为D, 书写格式为{^2001/01/02}, 函数:数学函数、字符函数, 日期函数等等, 在培训过程中用例题来讲解每个函数的含义, 记住每种函数返回的数据类型。VFP的理论部分, 主要是建立项目、数据库、表、查询、报表、表单、菜单, 编写程序、S Q L语言 (结构化查询语言) 的使用, 这部分知识不仅理论考, 上机也是必考的, 培训中通过建立一个学生管理信息系统来讲解各部分的知识点, 及其如何相互配合使用, 其中每种文件的扩展名必须要记住。对于表来说, 主要考的是数据库表, 熟悉数据库表的特点, 有效性规则的设置, 参照完整性的设置, 索引的类型、特点, 记录的查找, 修改、删除等。查询、报表、菜单等主要用于上机操作, 表单部分主要是常用控件的一些属性设置例如, 给命令按钮设置标题的属性caption。笔试最重要的一部分就是SQL语言, 笔试、上机必考, 对于学生来说很有难度。根据SQL语言的特点, 记住此语言的规则, 关键字必须记住, 例如order by排序, group by分组等, 在讲解知识点的同时, 反复做习题, 通过历年试题的练习, 也可以寻找出一些规律, 学生即使不会写出相应的SQL元, 到那时通过SQL语言的设计规则, 也可以利用排除法来选择正确的答案。此部分习题举例如下。 3 上机操作题 基本操作题主要涉及是项目、数据库的建立, 为数据库表设置有效性规则, 建立索引, 参照完整性等。这部分相对简单18分基本能到手。简单应用主要涉及建立查询、视图、SQL语言, 利用向导生成报表、表单, 程序修改等, 其中用SQL语言做题比较难, 但是这部分是可以解决的, 学生即使对SQL语言使用的不熟练, 也可以使用查询设计器做, 查询设计器做查询, 只要按照要求一步一步操作就可完成查询, 然后生成相应的SQL语言。此部分主要设计到程序修改题, 修改的部分也主要是SQL部分, 只要把SQL规则关键字记住, 就能完成程序改错。综合应用主要涉及表单建立和为其编写程序, 这部分难度较大, 满分难拿, 但是10几分还是可以到手的, 其中的编程部分主要涉及的还是SQL语言, 因为一些SQL语言是可以用查询设计完成的, 所以通过多次的练习, 只要最后能生成所需要的表, 不管你中间是否有代码, 最后都会有一个很高的分值。上机操作部分死记硬背是没有用的, 必须做大量的习题, 熟能生巧。历年的培训我校都使用的是无忧考试模拟盘, 里面有100套题, 考试题基本上都是题库的题, 所以学生在考试之前一定要大量的做模拟题。 4 结语 计算机二级中的VFP本身是理论性和实践性很强的一门语言, 考生培训过程中要认真听辅导教师授课, 因为辅导教师都是在经历了好多轮的培训, 知道考试的重难点, 学生要做好笔记, 在自己考试复习时, 大量做模拟题, 只有这样才能顺利通过全国计算机二级的考试。 摘要:随着就业形势日趋严峻, 大学生普遍认为除了毕业文凭外, 谁掌握的证书多, 谁就能在就业竞争中获得优势。根据该院学生的现状, 如何找出一种有效的办法, 制作一套完整的全国计算机二级培训流程, 以提高学生的过级率, 争取毕业之前拿到全国计算机二级证书是该研究者研究的目标。 关键词:VFP,基本操作题,简单应用,综合应用 参考文献 [1]郑月锋.基于网络的三本院校NCRE:二级VB教学改革与实践[J].中国教育信息化:高教职教, 2011 (9) :67-68. [2]郑德义.全国计算机等级考试二级公共基础知识试卷分析[J].湖北大学成人教育学院学报, 2008 (3) :79. 关于无纸化考试的微机实现,是探讨得比较多的一个话题,以前曾有一少作者提出过见仁见智的方案,然而大都是建立在DOS这个早期操作系统环境下的,且离不开UCDOS汉字系统,这种利用Foxbase或FoxPro编写出来的程序不但代码冗长、界面粗糙,而且操作不方便。而今在Windows环境下,利用功能强大的面向对象开发工具如Visual FoxPro可以十分方便地开发出界面美观、操作方便的考试系统,并且我们还可以利用VFP的动态链接库foxtools.fll给系统加上美妙的背景音乐。 1 背景音乐的实现 在利用Visual Foxpro编制应用程序时,如果能给应用程序添加背景音乐,无疑是件锦上添花的事,背景音乐能给应用程序增色不少。不般的方法是利用OLE(对象嵌入与链接)进行嵌套。具体方法是选择“表单控件”上的“OLE容器控件”,将其拖到表单上,再在“插入对象(Insert Object)”窗口中选择“媒体剪辑”,调用“媒体播放机”,利用它来播放出音乐,同时把播放任务条隐藏起来。利用这种方法要占用大量系统资源,且要利用到外部程序“媒体播放机”,不是一个好方法。其实我们可以利用VFP的动态链接库foxtools.fll来轻松实现背景音乐,而且极少占用系统资源。foxtools.fll位于VFP的安装目录中,默认安装时可以在C:Program FilesVFP5目录下找到它,你可以把它单独拷贝到你的考试系统项目的主目录内,这里我们假定C:Quiz为我们考试系统的主目录,把foxtools fll拷贝到其内。接着要准备一WAV格式的背景音乐文件(这里以back.wav这例),放于主目录C:Quiz中;现在我们可以为系统添加背景了,在考试系统项目的第一个表单(这里为Form1)的Activate事件中加入如下代码: 同理你可以为系统内的任一个表单添加不同的背景音乐,方法是在表单的Activate和LostFocus事件中分别加入以上的代码,如果指定音乐文件back.wav为其它wav,则可以播放出不同的背景音乐了。 2 考试系统的前期准备———数据库准备 系统中要建立两类数据库:考生名册库与题库。每个考试班级应建立单独的考生名册数据库,注意它在Visual foxPro中称为表,即DBF文件。接着把考生班级放在登录界面的下拉列表框中供考生选择。这里建立三个样例班级考生名册表:97建经.DBF、97水电.DBF和97计中.DBF,每班人数不限,库结构如下表所示: 接着建立题库,本无纸化考试系统包括三种题型:单项选择题、多项选择题、是非判断题,故系统应包括这三个测试模块,三种题型的数据库结构如下: 建立完了数据库后,输入班级学生名册和各类题目,准备工作即告结束。这里以20个单项选择题(每题2分)、10个多项选择题(每题4分)、10个是非判断题(每题2分)为例进行考试,当然你也可以改变各类题目数量,但评分标准亦要进行相应改变。 3 总体设计 首先要确定设计目标:系统能实现考生登录、题目读取、答题、成绩统计和显示等。 其中单项选择和多项选择同属于选择题型,但因多项选择有多个正确答案,所以在设计上应有所区别,刚好在Visual FoxPro中有单选框与复选框等控件与之相对应。 各模块功能如下: 1)登录模块:考生登录功能;选择班级、输入学号后,系统打开考生名册库,把指针定位到与输入学号相符的考生记录,同时显示该考生的姓名供考生核对,无误后随即进入测试模块。 2)测试模块:分为“单项选择”、“多项选择”、和“是非判断”三个标准模块。每个模块界面大同小异,有“上一题”、“下一题”等按钮,同时显示题目总数和剩余量。 3)成绩模块:成绩的统计与显示功能。考生一旦登录系统,首先初化成绩(Scores)为0,随后每做一题即自动累加计分,待到考生按下“交卷”按钮后,弹出一个显示该考生成绩的表单窗口,然后退出系统,考试即告完成。 4 源代码举例 4.1 Form“考生登录”(Activate事件)代码 4.2 登录模块窗口中,输入学号显示考生姓名,核对无误,按“正确无误”按钮进入测试模块 对此按钮设置代码如下: 4.3 Form“单项选择”(Activate事件)代码 4.4 各模块中的“下一题”按钮不但能更新题目,同时具有分数累加功能 其源代码如下: 4.5 为了使考生能修改前面做过的题目,设置“上一题”按钮 其源代码如下: 4.6 当考生做完了三种类型的题目后,就可以交卷了,故设置一个“交卷”按钮 代码如下: 4.7 为了显示考生成绩,单独设计一个“成绩单”表单 设计代码如下: 以上程序在中文Windows XP环境,Microsoft Visual Foxpro 6.0中文版下调试通过。 摘要:该文给出了一种在Windows环境下利用Visual Foxpro编制无纸化考试系统的实现方案,同时介绍了利用系统的一个动态链接库Foxtools.fll巧妙地为系统添加背景音乐的技巧,一改以往使用OLE控件嵌套的繁琐方法,效果更好,占用资源更少。 关键词:背景音乐,动态链接库,数据库,控件,表单,Visual FoxPro(VFP) 参考文献VFP等级考试 篇3
VFP等级考试 篇4
VFP等级考试 篇5
VFP等级考试 篇6
VFP等级考试 篇7
VFP等级考试 篇8