计算机二级程序填空一定要调试吗,浙江省计算机二级考试程序调试题的解题技巧.doc...

浙江省计算机二级考试程序调试题的解题技巧

浙江省计算机二级考试程序调试题的解题技巧

林永兴

(浙江理工大学公共计算机教学部,浙江 杭州 310012)

摘 要:本文针对浙江省非计算机专业学生计算机等级考试(二级Visual Basic)机试部分的程序调试题介绍了若干解题经验和方法,并探讨了一些解题技巧。

关键词:考试;等级考试;解题技巧

概述

浙江省教育厅每年都要统一组织省高校非计算机专业学生的计算机等级考试,各高校都非常重视自己学校的等级考试成绩,一是关系到考生日后的就业问题,二是关系到学校在各高校中的名次。在二级考试中,Visual Basic几乎是各高校报考人数最多的程序设计语种,因此,选择Visual Basic语种的考生成绩对各高校整个学校最终成绩的影响是非常大的。

众所周知,浙江省的计算机二级考试目前的最终成绩是由两部分构成的:机试占30%、笔试占70%。尽管机试只占了最终成绩的30%,但这部分的成绩好坏对考生的最终成绩还是构成了很大的影响。机试总共由五道题组成,其中第四道题是程序调试题。经过对几届考生的辅导和比较,发现很多考生在程序调试题部分的问题比较多。下面就此道题,谈谈本人在辅导中发现的一些常见问题及本人就此题的一些解题经验和解题技巧。

解决问题

程序调试题事实上是这么样一道题:在一个提供的程序中填空或者修改错误。在浙江省计算机等级考试中,这个已经提供的程序被存放在一个标准模块(Modify.bas)中,然后要求新建一个工程(Modify.vbp),把标准模块添加到工程中,最后对标准模块中的程序进行调试,即进行填空或者修改试题预置错误。

如果只是新建了一个工程,然后把标准模块添加到此工程中,程序是无法直接运行的。这一点大部分考生都知道,因为一个VB工程总是需要一个启动对象,要么是一个窗体,要么是一个Sub Main过程,所以大家都知道还要为这个新建的工程添加一个窗体当作启动对象,通过程序的运行才知道自己的填空或者修改是否正确。

标准模块的作用

很多考生把一切该准备的条件都准备好了,包括该填的空都填了或者该修改的错误都修改了,接下去要做的只是运行程序查看程序的结果,以检测填空或者修改是否正确。可在这一过程中有不少考生都犯了一个错误,其不是在窗体模块的某个事件(本文以Form_Click()事件为例)中调用标准模块中所提供的程序的过程名,而是把该过程的所有代码复制到Form_Click()中,然后调试修改Form_Click()中的代码,完全就忘了标准模块。从这一个操作过程可以看出不少考生对标准模块的作用还不理解。

那么什么是标准模块呢?事实上,标准模块是应用程序内其它模块访问的过程和声明的容器。它可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上Form_Click()中,而是在Form_Click()中调用标准模块中的过程名。其实,在复制的过程中考生可以反问一下自己:如果试题是要求将标准模块的所有代码中复制到Form_Click(),那出题的专家为什么不把代码直接写在Form_Click()中,考生在Form_Click()中调试就行了,何必多此一举把代码放在标准模块中?

调用标准模块中的过程

在上面讲到的不少考生所犯的错误中,不能排除有些考生是没有掌握过程调用方法的可能,而通过与不少考生的交流发现这种可能是确实存在的。

许多考生没有掌握调用过程的方法,很大程度上是还没有理解过程的作用。其实,如果一个程序在一个事件或过程中的多处地方需要完成相同或相似的功能;或者在多个事件或过程中需要完成相同或相似的功能时,就应该把这个功能写成一个过程。好比,一般的手机都有单键拨号的功能,那么在什么情况下会去设置单键拨号功能呢?肯定是某人需要经常联系,在设置单键拨号功能之前,每一次打电话给这个人可能都不得不要拨打长长的一串号码,而这时发现里边有太多麻烦和有太多重复劳动,所以设置了单键拨号功能。事实上这个道理与为某个功能设计一个过程的道理是相同的。当然,设置了单键拨号功能以后,如果需要拨打那个人的电话就不会再拨打此人原来的那个长长的号码,而是使用已经设置的单键。同样,把某个功能设计成一个过程后,以后需要用到这个功能的地方,就只须使用该过程的过程名来调用这个功能即可。

在VB中过程有两种:Sub过程和Function过程。Sub过程的调用方法和Function过程的调用方法是有区别的,正因为此,不少考生才会对过程的调用感到伤脑筋,但是,如果只是掌握Sub过程的调用方法,这对绝大多数的考生来说都是比较简单的。事实上,就程序调试题而言,并不用担心在Form_Click()中会有调用Function过程的情况,至少到现在为止没有出现过,这并不是巧合。众所周知,Function过程是有返

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值