Beyond the Void
BYVoid
考前准备秘诀
考前准备秘诀

<>程序习惯注意

一、LinuxWindows的区别

a) 大小写敏感

i. Windows下,文件名大小写不敏感,例如A.PAS a.pas A.pas a.PaS没有区别。

ii. Linux视文件名为二进制数据,所以区分大小写。

iii. 考试时一定要看清题目上要求,区别大小写。

iv. Turbo Pascal生成的.pas 文件默认大写,Free Pascal 默认小写,注意修改文件名,尤其是在重新调试编译后。

b) 关闭文件

i. Windows在程序退出时默认自动关闭已打开的文件,会把缓存中数据写入硬盘。

ii. Linux下必须由程序关闭文件,否则没有被写入硬盘。

c) 回车符与换行符

i. Windows下,两行文本间有回车符 (ASCII 13) 换行符 (ASCII 10)

ii. 而在Linux下,只有换行符 (ASCII 10)

d) Read Readln

i. 由于回车与换行在Windows Linux下存在有区别,编程时要格外注意。

ii. 尤其读字符串时,尽量采用Readln,而不要 While not eof readWhile not eofln read

e) 多余字符过滤

i. Arbiter评测系统有多个插件,分为整数比较(过滤无效字符)和逐字节比较。

ii. 由于评测插件的原因,注意输出结果时,尽量不要有多余空格或换行。

iii. 对于一个整数,使用write输出。

iv. 对于多个整数,输出最后一个时不要有多余空格或换行。

v. 对于一个字符串,尽量使用write整体输出。

二、保存文件

a) 注意文件名,保存要求,目录结构等问题。

b) 某些省份(如 河南)要求同时提交.exe文件,注意不要漏交。

<>考前十点提醒

一、一定要想好了算法,思路清晰了再编。分析问题时遇到一些即兴问起的情况,马上要深入下去,看已有的算法思路是否有问题。经验证明,这种即兴提起的问题往往是决定算法正误的关键问题。这是一种本能的质疑,本能的差错,一定不要想:我一会再来看这个问题。一定要立即想清楚,看算法怎么样处理才能解决这样一个问题。确认算法没有什么错误了再编。如果思路没清晰,算法不对,编到一半时才发现错了,这种情况没有考虑到,浪费了很多时间,或者编完了都还不知道算法是错的,最后由于样例特殊,过了样例,以为对了,但实际上只得10分,或者根本不得分。

二、对于简单的题,一定要考虑全面,不是编好了程序再来考虑全面,而是想算法的时候就要考虑全面。不要知道个大概就开始写,后来发现一些特殊数据要作特殊处理,又把程序改过去改过来,改得面目全非,最后老是改不对,不但影响心情,而且还是错的。

三、看题要灵活,不要绊死在一道题,不要怕。NOIP的题不想就做出来,怎么可能,肯定是需要想的。但是最好先写好写的题,不一定是前两道题。其实很多时候你是有能力做起的,只是你一看就怕了,也没有去认真想,随便敷衍想了一点特殊情况的算法,认为可以骗到分。但经验证明最后基本是没有分,即使有,最多不过10。时间是3个小时,要积极一点,经验证明,很多题想到一定时候便想出来了。并且很简单。

四、一定要认真读题,读的时候积极思考,看看这某句话到底是个什么意思,要会转换。特别是对于有时间的问题,到底把时间看成一个点,还是一个区间,具体题目具体分析,一定要符合题意。题没读懂就开始做,100%是错的。题错,思路也就错,时间浪费了, 数据还是1个都不过。

五、思考算法的时候,一定要考虑到特殊数据,或一些特殊情况。想好算法,写下各个变量的意义,明确使用的时候都是遵照这些意义的。写下关键的句子,分清各种情况,这个阶段最重要,一定要仔细,不要急着编程。写完了,还要再看各变量是否带对,是否有笔误。等到这些做完了,重复看下整个算法实现过程,等自己解题思路清晰的时候,才开始编程。

六、理清了思路再编程,写好了关键句子再编程,弄清楚了变量再变成,速度会很快,而且正确率也很高。

七、一定要先思考清楚。很多人就是犯不思考就编程这个错误,最后自己就昏了。于是浪费大量时间,而且题也做不出来。一定要避免这种情况。这样就能胜于别人。

八、程序按照思路编完之后,查编译错误。经验证明,刚刚完成的程序不出编译错误的几率基本为0。编译全部修正后,千万不要测样例。经验证明,第一次就把样例过了的几率很低,即使过了,在测自己的特殊数据的时候也会出错。所以,编译完后一定要静态查错。经验表明,静态查错是很有效果的。基本上每次静态查错都可以找到变量代错的错误。特别是快排的IJ是否带错,DECINC是否搞错,SWAP是不是加了VAR等等。试想:如果没有静态查错,就去测样例,如果程序有错,样例不过,影响心情;即使样例过了,因为程序有错,特殊数据也不一定能过;即使特殊数据也过了,程序有错,评测的时候绝对会错。发现错了,影响心情了,还是要来静态查,心情不好,肯定效率低。那还不如一开始就静态查,即使发现错误,获得成就感,心情很好。千万不要慌着去测。要保证程序无错,思路清晰,结构清晰了,然后再去测样例,再去测特殊数据。样例过了不要得意,特殊数据过了不要得意,很有可能还有很多特殊情况你没有想到。

九、做好心理准备,也许做了两道自己认为会全对的,还做了一道自己认为能过几组的。可能只得50。这也是有过的事情。除了做好那几个步骤,没有其他的办法。认了吧。搬块石头砸天,也是没有用的。

十、树立正确的成败观。体验第一,拿奖第二。往往能从失败中学到更多的东西,得到更多的感悟。成功固然好,失败也不错。成事在天。做到了自己做到的,就是另一种意义上的成功。

<>考前时间利用

一、考前几分钟时间,往往能决定成败,所以一定要做好心态调整。不要去想结果,只看过程,努力了就一定不会白费。

二、在别人紧张、坐立不安的时候,你不妨把时间利用起来。依照惯例,考试前几分钟是可以先调试电脑的,所以这时候一定要做些准备:

a) 设置FP

i. 默认路径

ii. 窗口大小

iii. TAB宽度

iv. 重启FP

b) 准备文件

i. 创建.in .out

ii. 创建模板

1. Program ***;

2. Var

3. fi,fo:text;

4. Begin

5. assign(fi,’*.in’);reset(fi);

6. assign(fo,’*.out’);rewrite (fo);

7. close(fi);

8. close(fo);

9. End.

iii. 熟悉计算机

c) 休息,等待开考

最后祝愿大家在NOIP中取得好成绩。

CmYkRgB123

20071116


上次修改时间 2017-05-22

相关日志