合肥
合肥奥数网

合肥站
奥数网

信息学竞赛中如何加强调试技能

合肥奥数网整理 2011-09-30 16:31:28

  经常有学生表示,一个题目本来是可以运行的,但最后交上去之前修改后就不能运行啦。其实出现这个问题的原因关键是调试。有时候只要稍作改动,就可以变0分为100分。建议学生在运行前自己通读自己写的程序,尽量仔细,重点查全局变量、局部变量和几个比较容量打错的字母,然后充分运用下面的一些常用技巧。

  1.Ctrl+F9:这是每一个初学者都会的,能够显示结果或错误,比较适合新手,但仅仅只能说你的程序语言是对了,最后的结果不一定正确。

  2.F8能够逐步显示程序的运行过程,适合一般人逐步检验自己的算法,以改正其中细微的错误。但相对比较繁琐,尤其是对于子程序和过程,本方法无效。

  3.Debug中的Watches命令。键入回车后,用右键单击New watch输入新的要查看的变量,然后用F8运行。

  4.直接在程序中用Wrtie命令输出某些步骤中的结果(前提是自己预先算出结果),进行比较,然后分步修改,直到输出正确的解。用这种方法的同学一定要记住,如果先用文件重定向input的,要先把这个语句打上括号,调试结束后先删去不必要的输出语句,再取消括号。

  5.投机取巧。有些同学检查了很多次,却始终得不到正解,于是只好放弃,白白地失去了100分。其实,有时只要将其中的符号改反、添加一些赋初值的语句、修改数据类型等即可。

  6.设计合理的测试数据。主要包括极限值和特殊值。极限值包括最大值和最小值。有些题目有特殊值,根据实际题目而定。

  7.改变算法时先备份。有些同学根据自己水平,可能会采用保守的算法,过部分点,然后觉得自己还有时间,就去做优化算法,这时候记得一定要做备份。同时提醒大家,最后作修改时一定要备份。防止出现因修改而出现的调试出错,程序无法运行等情况。

  8.在信息学竞赛允许范围内充分应用自己的知识。有些题目没有思路的情况下尽量用搜,或者用数学方法套出一些特殊情况值,直接用case语句输出。实在不行,输出样例或者你认为最有可能出现的情况用程序表达出来。

  总之,信息学奥赛为广大同学提供了展示自己才华的舞台,只要掌握了基础的算法和数据结构知识,调整好自己的心态,认真审题,并对题目进行充分的调试,就能在信息学竞赛中获取好成绩。事实证明,世上无难事,只怕有心人。

推荐阅读:

信息学竞赛如何掌握比赛要求

参加信息学竞赛如何调整心态

合肥市“讯飞”杯信息学竞赛(小学组)考试大纲

合肥“讯飞杯”青少年信息学(计算机)竞赛通知

相关推荐

点击查看更多
重点初中
首页 导航