编程如何避免或减少运行错误

来源:百度知道 编辑:UC知道 时间:2024/05/14 15:33:39
最近NOIP快考了,网上做题经常遇到诸如存取非法,堆栈溢出等错误,甚至莫名的错误,查起来颇费劲!
在编写程序时应怎么注意这方面的问题?
有经验的麻烦谈谈
PASCAL语言的

1. 做做以往历年的竞赛题和网上的模拟题,熟悉比赛的题型和要求,找出自己的不
足,加强训练;
2. 增强自己编写代码和调试的熟练程度,提高做题的时间和节奏感;
3. 熟练掌握文件的输入/输出操作,新大纲中对复赛的要求;
4. 提高自己设计测试数据的能力;
5. 提高自己做题的正确率(分数/时间);
6. 算法方面:递推、递归、动态规划、贪心、搜索(初中到回溯就差不多了)基本
上是必考!!!对一些经典问题和算法,一定要熟练的不能再熟练;
7. 数据结构方面:字符串经常考,树(尤其二叉树)、图的基本算法(最短路径、最
小生成树等);

Ø 复赛注意事项
1. 认真审题,尤其要注意问题的规模(数据范围),从某种意义上说,问题规模也暗示了你可能的算法。数据小,也许是搜索派上用场的时候;数据大了,可能只能考虑动态规划,数学方法等高算法了。
2. 正确的估计题目的难度和自己的水平。拿到试题后先从总体上分析一下题目,做到心中有数!注意:题目的难易对所有人是公平的,只要最大限度地发挥自己的水平,不要有包袱,考出自己的最佳成绩。
3. 正确地选择题目去做(最擅长、最简单的先完成),合理地安排时间和解题顺序。
4. 复赛中:一定提高正确率!!!解题速度是其次。
5. 复赛考查的算法并不困难,选手在实现上的问题往往要多一些。建议大家:
1) 充分利用草稿纸,不要对自己的“心算能力”太自信!编程熟练的同学喜欢“一气呵成”,拿到题目就开始编码。我认为这样不好,做信息学竞赛题的思维过程是丰富而曲折多变的,考虑问题必须全面,仅凭一时的“感觉”来编程往往是漏洞百出。比如初学者常常忘记做一些初始化工作(远不止变量赋初值这种最简单的),即使有经验的同学也难免因一时疏忽写出几个错误的语句。最要命的是“第一感觉”的算法是错误的或者效率太低(命题者的陷阱),而程序编了大半才发现,时间浪费了不