首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 考试试题 >

08年4月计算机等级考试二级VF真题和答案点评

2008-10-05 
  主持人:大家好,2008年4月的计算机等级考试笔试已经结束了,相信大家最关心的就是考题的特点 ...

  主持人:大家好,2008年4月的计算机等级考试笔试已经结束了,相信大家最关心的就是考题的特点和答案的解析。和联合金版电子出版社、新思路教育科技研究中心特别邀请到计算机考试二级vf辅导专家谭彪做客嘉宾聊天室,第一时间就2008年计算机等级考试考试二级vf的真题和答案进行全面解析。

  主持人:请谭老师谈下这次的二级vf试题的总体情况是怎样的?

  谭老师:今年是2007年新大纲改版后的第一次全国计算机等级考试,也是第27次全国计算机等级考试。
本次等级考试与以往考试相比,难度上没有太大变化,题型也保持不变,但是识记的内容却明显的比往年考试要增多,特别是对命令语句的记忆,这点可以从填空题中看出。

  主持人:下面请谭老师对这次试题的各个题目的试题和答案进行详细的分析和点评

  谭老师:下面,我们就对本次考试中比较难的或重要的题目做一些详细的讲解,而对于比较容易或纯理论的题,这里就不多做解释,大家基本上可以从参考书中找到原话。

  首先,我们看第11题,本题考查的实体间的联系,判断超市营业过程中顾客、收款口、班组和设备之间,哪两个实体存在1对1的联系。选项a中是顾客和收款口之间的关系,可以明显的看出,一个收款口不可能只为一个顾客服务,因此,它们之间不存在1对1的关系;接着根据题意:每个收款口配备两名收款员,可以看出,收款口和收款员之间的联系是一对多的联系;另外,超市营业过程中,每个时段安排一个班组上班,一个班组中也不可能只有一个收款员,因此选项c中,班组和收款员之间的关系也不是一对一的联系;最后就只有选项d了,题中明显指出每个收款口有两名收款员配合工作,但共同使用一套收款设备,因此,收款口和收款设备之间的联系就是一对一的联系。

  继续看12题,本题考查的是几种专门的关系运算的内容,大家只要理解各个运算的具体含义,就能清楚的知道本题的答案了。根据题意,要求的是从教师表中查找职称为“教授”的教师记录,该操作对象仅针对教师表,是一个单一的表对象,因此,可以首先排除选项c和选项d,因此,连接运算需要两个表作为操作对象;剩下的就是选项a和b了,选择和投影的操作都只是一个表,相当于对一个二维表进行水平或垂直切割,从关系中找出满足给定条件的元组的操作称为选择,以逻辑表达式的形式给出,这里,我们可以把元组看成是表中每条完整的记录。而投影是从关系模式中指定若干个属性组成新的关系,这里的属性可以看成是二维表中字段名。理解选择和投影运算的概念后,就不难看出,本题所进行的操作是选择操作,即从教师表中水平抽取职称为“教授”的教师记录组成新的关系,新关系中所包含的字段名与教师表相同,在列的方向没有产生任何变化。

  第13题考查的是sql查询语句中排序短语的含义,比较简单。

  第14题考查了选择结构和字符串精确比较的知识点。本题有两个关键点,第一个关键点是字符串精确比较与exact设置。在用双等号进行比较两个字符串时,只有当两个字符串完全相同,运算结果才为真,否则为逻辑假,例如,本题程序的第3行,就是对字符串进行精确比较。在使用单等号比较两个字符串时,运算结果与set exact命令设置有关:

  当设置为on时,先在较短的字符串尾部加上若干个空格,使进行比较的两个字符串长度相等,然后在进行精确比较。

  当设置为off时,只要右边字符串与左边字符串的前面部分内容相匹配,即可得到逻辑真。off状态为默认值设置。

  注意,该命令设置状态对双等号没有影响。

  本题第二个关键点是if…else…条件语句的执行流程。
在执行if…else…语句时,首先计算if条件表达式的值,当条件成立时,执行if与else之间的命令语句;否则,执行else与endif之间的命令语句;然后转向执行endif后面的语句。该条件语句中可以继续嵌套条件语句。但要注意各if…else语句的匹配关系,不要与嵌套的if语句混淆了。

  结合以上所讲的两个关键点,我们再来看本题的程序功能,就会觉得非常简单了。

  程序首先设置exact为on状态,即在使用单等号比较两个字符串时,先在较短的字符串尾部加上若干个空格,使进行比较的两个字符串长度相等,然后在进行精确比较。

  接着定义一个字符型变量s,并赋予变量值为"ni"和两个空格,其中,space函数可生成指定数目的空格组成字符串,此时,字符变量s的变量值实际上一个长度为4的字符串。

  接下来,程序开始执行if…else…条件语句的内容。该条件语句中嵌套了两个if条件语句。首先,我们看第一个if条件语句,要求是对字符串进行精确比较,由上一条语句得知,字符变量s的变量值长度为4,而字符串“ni”的长度为2,两个字符串不是完全相等,因此,if条件不成立,转向执行与之匹配的else和endif之间的语句,即,转到执行程序段的第10行,判断s的值是否等于字符串“ni”,由于程序段一开始就设置了exact的状态为on,即在使用单等号比较两个字符串时,先在较短的字符串尾部加上若干个空格,使进行比较的两个字符串长度相等,然后在进行精确比较。此处,不难看出,当字符串尾部增加两个空格后,将与字符变量s的变量值完全相等,此时,接着执行下一条语句,输出字符串three,最后,转到执行endif后面的语句,程序结束。

  回过头来,大家再看看本题程序,可以发现exact状态的设置,不管是on还是off,在本题中并没有起到任何作用,因为即使为off状态时,右边字符串“ni”与变量s的变量值的前面部分内容也相匹配,if条件的判断结果仍然为真。因此,本题中的exact命令放在此处,可能就是用来迷惑考生的。

  第15题可以从高教教材中找到原话,当内存变量和字段变量同名时,系统默认引用的是字段变量,如果要引用内存变量,需要在内存变量前m.或m->。

  第16题我们可以用排除法选出正确答案。在vf中,change和replace命令都具有修改表记录的功能,但是,change命令只能用于交互环境,对当前表记录进行编辑、修改,因此首先排除选项c和d。使用replace命令可直接用指定的表达式或值修改记录,如果使用for短语,则修改逻辑表达式为真的所有记录,选项a使用了all短语,命令执行结果是修改表中所有记录,与题目要求不符。正确答案为b。

  主持人:今天的访谈到此结束,感谢谭老师的精彩点评,感谢大家的收看!最后预祝各位考生能够顺利通过考试!

 接下来的第17、18和19题都是比较基础的题,在高教教材中也有讲到,这里就不在细讲,需要注意的是第18题中,运行查询文件虽然是通过do命令执行,但是在执行查询时,查询文件名的后缀名.qpr是不能缺少的。

  第20题考查的sql排序查询。根据sql查询语句的基本结构,可以很容易发现选项b和选项d中,用来指定查询条件的where关键字错误,首先排除这两个选项,然后,根据题目要求,需要按金额降序排序查询结果,在排序语句中,asc短语表示升序排序,是默认的排序方式,可省略;而desc短语表示降序排序,不可以缺少,选项a和c中,a采用的是降序排序,与题目要求相符,正确答案为a。

  第21题考查的是sql操作语句的删除功能。删除记录命令的标准格式为:
delete from <数据表名> where <逻辑表达式>
from指定从哪个表中删除记录,where指定被删除的记录所满足的条件,如果不使用where子句,则删除表中的全部记录。本题选项a和b都属于语法错误,没有delete table这样的用法,而选项d的where关键字使用错误,,正确答案为c。

  接下来的第22、23和24题考查的是表单的属性、事件或方法,在参考书中可以很快找到答案,这几题也不再细说。

  第25题主要考查的是表单控件中事件的引发。click事件是鼠标单击事件,当为表单或控件设置了click事件代码后,运行表单时,单击该对象将引发click事件。

  选项组是一个容器类控件,它可以包含若干个单选按钮,每个单选按钮都可以看成是一个独立的基本类控件,并设置自己的属性、事件和方法等。用户可以操作其中的单选按钮,也可以操作整个按钮。

  可以通过设置选项组的click事件代码实现对各个按钮的控制,如果选项组和选项组中某个单选按钮都存在click事件代码,那么一旦单击那个按钮,会优先执行为它单独设置的代码,而不会执行选项组的click事件代码,反之,单击没有设置click事件代码的单选按钮,则执行选项按钮组的click事件代码。

  第26题是主要考查的是参数传递。参数传递有按值传递和按引用传递两种方式,按值传递时,形参变量值的改变不会影响实参变量的取值;按引用传递时,当形参变量值改变时,实参变量值也随之改变。

  调用模块程序一般有两种格式:

  格式1通过do命令调用,格式2是在过程名或文件名后面加括号,括号中包括若干个实参变量。本题采用的是利用格式2的方式调用模块程序。采用格式2调用模块程序时,默认情况下都以按值方式传递参数,如果要改变传递方法,必须通过set udfparms命令进行设置。但是,有一点需要大家注意的,不论是设置何种传递方式,凡是用括号括起来的实参,全部都是按值传递,它不受set udfparms语句的影响。

  根据前面所将,现在看第26题,不难看出本题中x和y都是按值传递,形参值的变化不会影响到实参值的,x值等于3,y值等于5。

  第27题考查的是do while循环语句的使用,其中涉及到一个累加的计算,依次对变量x的值,即本题中的12345,从后向前对各位数进行相加,最后输出,即输出5 4 3 2 1的计算值。该程序比较简单。程序功能大致如下:

  首先定义两个变量x和y,并分别赋值。

  然后通过do while循环语句,循环条件是x的值要大于0,每执行一次循环,便对y值进行累加,其中%是求余运算符,每次计算结果等于x的值除10的余数,即x的个位数字。

  同时,没执行一次循环体后,x的值通过表达式x=int(x/10)计算,会相应的缩小10倍。直到x的值等于0时,不满足循环条件,循环才停止,最后输出结果。

  本题中,共执行了5次循环,每次循环中,x和y值的变化情况如下
  第一次循环 y值等于 0 5=5 x值等于1234,注意,此时y的值已经为5了,该值将带入下次计算中。
  第二次循环 y值等于 5 4=9 x值等于123
  第三次循环 y值等于 9 3=12 x值等于12
  第四次循环 y值等于 12 2=14 x值等于1
  第五次循环 y值等于 14 1=15 x值等于0
  再次判断循环条件时,x值已经小于0了,循环结束,输出y值等于15。

  第28题考查的是一个子串替换函数,该函数的功能是在第一个字符串中,从指定位置开始,用第2个字符串替换指定长度的字符。不难看出本题的答案选b,即用bios字符串替换network字符串中,从第4个字符开始的后面4个字符。

  第29题在教材中有原话,答案为a,此处也不再细说。

  第30题是一个比较容易出错的题,注意题目要求,问的是“查询去向”命令指定了查询结果的输出去向不包括的是哪个?在“查询去向”对话框中共有7个选项供输出,分别是浏览、临时表、表、图形、屏幕、报表和标签,并不包括文本文件,因此选择c。
但是,在“查询去向”对话框中,也可以将查询结果输出到文本文件,但要先选中屏幕项,然后再进行设置。因此,个人认为,本题出得并不是太严谨。

  第31题主要考查的表单中,各容器对象的调用顺序,注意要从高向低的层次依次引用各个对象。即最开始引用的是表单,然后是表单中的容器控件,最后才是容器所包含的基本型控件。

  另外,要注意的是,在引用表单对象时,要使用thisform,这里不要使用表单的内部名称,但在引用表单中所包含的容器或基本控件时,一律使用它们的内部名称,即name的属性值。本题的正确答案为c。
选项a和b在引用表单时使用的是表单内部名称,首先排除,而选项d中,capiton属性值和页面对象page3的位置反了,属性名应放在最后。

  第32题是一个基础知识的识记题,比较简单,选择d,在项目管理器的数据选项卡中包含“数据库”“自由表”和“查询”3项。

  第33题考查的是sql定义语句,利用alter table命令修改表结构,4个选项中,只有选项c的命令关键字是alter table,因此,本题可以非常轻松的就知道正确答案为c。

  第34题考查的是sql数据更新语句。该语句的基本命令格式为
  update 数据表名 set 字段名=更新表达式值 where 条件表达式
  当不使用where子句时,则更新全部记录。
  套用update的命令格式,不难看出,本题的正确答案为d

  第35题考查的简单计算查询。求最大值的函数是max(),使用计算函数后,会改变原来的,用语计算的字段名,如果要指定新的字段名,可以在该计算函数后通过as短语指定新的字段名,也可以省略as短语直接输入新字段名做为输出显示的字段名称。

  本题选项c和d中,使用计算函数的表达方式错误;而选项b中,条件短语的关键字出错,应该是where,而不是when,正确答案是a。

  以上所讲的是选择题的考核情况,而填空的考核情况如我们一开始所说,考核知识点大部分是识记的内容,特别是对命令语句的记忆,只要大家对命令语句熟悉,做起来还是很简单的。

  需要注意的是填空题第12题,使用locate all命令查找记录时,会将表中所有记录查找一边,指针最后停在表末尾,而eof()函数的功能是测试当前表文件中的记录指针是否指向文件尾,如果是就返回逻辑真,否则返回逻辑假。本题答案为逻辑真。

  另外,第13题填空题,在运行菜单文件时,可直接使用do命令运行,但菜单文件的后缀名.mpr不可却省,本题与选择题18题类似,那题是运行查询文件时,不可以却省查询文件的后缀名。

  有关这次考试试题的大致分析情况,就讲大这里,如果大家对试题答案还存在某些疑问,可以在论坛留言,我们将及时为您解答。

热点排行