标题 | 调试技术在VB程序设计课程教学中的应用探讨 |
范文 | 李富芸 符谋松 林红燕 摘要:《VB程序设计》是非计算机专业的计算机公共基础课程,笔者在多年的教学实践中发现很多教师对调试技术没有足够的重视和强化训练,导致学生不知道怎样找错和纠错,影响到应用程序设计与编程能力的提高。因此,该文在介绍VB中常用的调试技术后,探讨了调试技术如何在课程教学中应用及发挥作用。授人以鱼不如授人以渔,意在真正促进学生独立调试程序能力的提高。 关键词:调试技术;程序设计;VB 中图分类号:G642 文献标识码:A 文章编号:1009-3044(2018)22-0116-03 1 背景 《Visual Basic程序设计》(简称VB)课程是许多高校非计算机专业理工类学生开设的计算机公共基础课程之一,此课程着重面向对象的可视化编程基础和软件设计技术与思想,培养学生初步的应用程序设计与编程能力,为学生毕业后从事相关专业工作所应具备的基本计算机应用能力打下坚实的基础。此课程实践性强,需要经过大量的上机实践才能真正学好。上机的目的,不仅是为了验证编写的程序的正确性,还要通过上机调试,学会查找和纠正错误的方法。 然而,笔者在多年的教学实践中发现,在教学中教师侧重对问题的分析、算法的设计、程序设计语法知识的讲授,对程序设计中的调试技术却没有足够的重视和强化训练,造成学生在上机实验、编程实践时当程序运行出现问题时往往不知道错误在哪里,不知道怎样改正程序中的错误,往往无从下手、一筹莫展,坐等教师来解决。如若问题得不到及时解决,编写的程序不能正确运行,部分学生往往会在苦恼和迷茫中丧失学习该课程的兴趣,放弃该课程的学习,最终严重影响到该课程的教学质量。 2 VB中常用的调试技术 VB中有三类错误:语法错误、运行时错误、调试错误,语法错误比较容易发现和更正,逻辑错误因为不会产生错误提示信息,一般较难排除。对初学者而言,错误和程序调试是每个初学者必定会遇到的。VB为调试程序提供了一组交互的、有效的调试工具,如图1所示。主要有设置断点、添加监视观察变量的值、逐语句、逐过程等手段。其中,逐语句是使用最多的手段,可以一步步查看程序执行的流程,亦可以观察变量的当前值。 3 调试技术在VB程序设计教学中的应用 调试技术不仅是沟通理论课和实验课的桥梁,亦是重要的教学手段。在辅导学生上机实验、帮助学生查找程序中的错误时不仅可以有效使用调试技术,在教学内容的讲授和演示过程中利用调试技术可以更为直观地帮助学生理解程序设计中抽象的、重点的和难点的内容,比如变量及其作用域,过程的概念、调用及参数传递,程序流程控制等等。 3.1 调试帮助理解事件驱动 VB采用的是事件驱动的编程机制,在图形用户界面的应用程序中,用户的动作(即事件)控制着程序的执行流程,用户对事件驱动的顺序决定了代码执行的顺序。通过直接单击“逐语句”命令(如图1所示)而不是“启动”命令,学习者可以知道执行了哪些事件过程以及执行的顺序。如图2所示的“字体大小变化”程序,可以将“变”字变大、变小或还原为初始字体大小。直接单击“逐语句”命令,从Form_Load()事件过程开始执行,如图3所示;继续单击“逐语句”命令,Form_Load()事件过程执行完后程序将停留下来等待用户单击按钮,如图2所示;如单击了“变大”按钮,将执行Command1_Click()事件过程,如图4所示。 3.2 调试帮助理解程序基本结构 程序基本结构包括顺序结构、分支结构和循环结构,其中后两者是学习者容易出错的,尤其是后两者结合在一起的时候,学习者更不容易理清程序的执行流程。因而需要学习者透彻理解每种结构的执行流程,才不至于在复杂的程序结构中出错。那么,怎样理解这三种结构呢?“逐语句”执行为我们提供了查看程序执行过程的方式。如图5所示的“判断等级”程序,根据学生的成绩,判断出“优秀、良好、中等、及格、不及格”5个等级,利用“逐语句”命令,学习者可以察看到都满足了哪个分支的条件(如图6所示)及执行哪条分支(如图7所示),这对于学习者理解语句逻辑是很有帮助的。 又如对于素数问题,它综合了顺序结构、分支结构和循环结构三种结构,素数问题中对循环终止的判定尤为必要。代码如图8所示,判断7是否为素数时,使用“逐语句”命令,i从2到6时循环体中的If都不成立,因此当i=7时循环终止,循环后面的If条件成立,输出“7是素数”;判断9是否为素数时,使用“逐语句”命令,i=3時执行Exit For,退出循环,循环后面的If条件不成立,输出“9不是素数”。 3.3 调试帮助理解过程的调用及参数传递 VB中过程体现了模块化程序设计思想,通过过程定义,可以封装某一特定的功能,在需要使用这个功能时调用即可。在实际教学中,学生往往容易混淆实际参数和形式参数,难以理解过程的建立及调用、参数传递方式。如图9、图10所示,通过“逐语句”命令,在Command1_Click()过程中调用F1过程,将实际参数x和y的值传给形式参数n和m,其中n是传址方式,相当于传原件;m是传值方式,相当于传复印本;配合添加监视观察变量的值(如图11所示),学生可以深入地理解主调过程和被调过程,调用的流程是如何的,参数是如何传递的,传址和传值又有什么不同。 4 结束语 授人以鱼不如授人以渔。调试技术是学生学习编程应该掌握的重要技能,学生需要在调试过程中积累经验和技巧,在实践中逐渐提高。当学生拥有了调试程序的能力之后,遇到问题独立自行解决或学生间协助解决,这将有助于提高编程的兴趣,极大促进学生应用程序设计与编程能力的提高。因此,教师需要让学生了解到调试的重要性,并在教学中训练学生养成良好的调试习惯。 参考文献: [1] 张标汉. 以调试技术促程序设计课程教学[J]. 教育教学论坛, 2017,7(29):196-197. [2] 王楠, 赵占芳. 调试技术在程序设计实验教学中的应用探讨[J]. 教育现代化, 2017,2(7):46-47, 53. [3] 陈圣磊, 刘林源. 调试技术在C语言程序设计教学中的作用探讨[J]. 电脑知识与技术,2015,11(24): 80-82. 【通联编辑:谢媛媛】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。