NOIP 考前准备秘诀
< < < < 一> > > > 考前 注意
一、Linux 与 Windows 的区别
a)大小写敏感
i. 在 Windows下,文件名大小写不敏感,例如 A.PAS 与 a.pas 与 A.pas 与 a.PaS 没有区别。
ii.Linux 视文件名为二进制数据,所以区分大小写。
iii.考试时一定要看清题目上要求,区别大小写。
iv.Turbo Pascal 生成的.pas 文件默认大写,FreePascal 默认小写,注意修改文件名,尤其是
在重新调试编译后。
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 read 或 While not eofln read。
e)多余字符过滤
i.Arbiter 评测系统有多个插件,分为整数比较(过滤无效字符)和逐字节比较。
ii.由于评测插件的原因,注意输出结果时,尽量不要有多余空格或换行。
iii.对于一个整数,使用 write 输出。
iv.对于多个整数,输出最后一个时不要有多余空格或换行。
v..对于一个字符串,尽量使用 write 整体输出。
二、保存文件
a)注意文件名,保存要求,目录结构等问题。
b)某些省份(如 河南)要求同时提交.exe文件,注意不要漏交。
< < < < 二> > > > 考前十点提醒
一、一定要想好了算法,思路清晰了再编。分析问题时遇到一些即兴问起的情况,马上要深
入下去,看已有的算法思路是否有问题。经验证明,这种即兴提起的问题 往往是决定算法正
误的关键问题。这是一种本能的质疑,本能的差错,一定不要想:我一会再来看这个问题 。
一定要立即想清楚,看算法怎么样处理才能解决这样一 个问题。确认算法没有什么错误了
再编。如果思路没清晰,算法不对,编到一半时才发现错了,这种情况没有考虑到,浪费了
很多时间,或者编完了都还不知道算法是错的,最后由于样例特殊,过了样例,以为对了 ,
但实际上只得10分,或者根本不得分。
二、对于简单的题,一定要考虑全面,不是编好了程序再来考虑全面,而是想算法的时候就
要考虑全面。不要知道个大概就开始写,后来发现一些特殊数据要作特殊处理,又把程序改
过去改过来,改得面目全非,最后老是改不对,不但影响心情,而且还是错的。
三、看题要灵活,不要绊死在一道题,不要怕。NOIP 的题不想就做出来,怎么可能,肯定
的,只是你一看就怕了,也没有去认真想,随便敷衍想了一点特殊情况的算法,认为可以骗
到分。但经验证明最后基本是没有分,即使有,最多不 过10。时间是3个小时,要积极一点 ,
经验证明,很多题想到一定时候便想出来了。并且很简单。
四、一定要认真读题,读的时候积极思考,看看这 某句话到底是个什么意思,要会转换。
特别是对于有时间的问题,到底把时间看成一个点,还是一个区间,具体题目具体分析,一
定要符合题意。题没读懂就开始 做,100%是错的。题错,思路也就错,时间浪费了, 数
据还是 1 个都不过。
五、思考算法的时候,一定要考虑到特殊数据,或一些特殊情况。想好算法,写下各个变量
的意义,明确使用的时候都是遵照这些意义的。写下关键的句子,分清各种情况,这个阶段
最重要,一定要仔细,不要急着编程。写完了,还要再看各变量是否带对,是否有笔误。等
到这些做完了,重复看下整个算法实现过程,等自己解题思路清晰的时候,才开始编程。
六、理清了思路再编程,写好了关键句子再编程,弄清楚了变量再变成,速度会很快,而且
正确率也很高。
七、一定要先思考清楚。很多人就是犯不思考就编程这个错误,最后自己就昏了。于是浪费
大量时间,而且题也做不出来。一定要避免这种情况。这样就能胜于别人。
八、程序按照思路编完之后,查编译错误。经验证明,刚刚完成的程序不出编译错误的几率
基本为 0。编译全部修正后,千万不要测样例。经验证明,第一次就把样 例过了的几率很
低,即使过了,在测自己的特殊数据的时候也会出错。所以,编译完后一定要静态查错。经
验表明,静态查错是很有效果的。基本上每次静态查错都 可以找到变量代错的错误。特别
是快排的 I,J 是否带错,DEC,INC 是否搞错,SWAP 是不是加了 VAR 等等。试想:如果
没有静态查错,就去测样例,如 果程序有错,样例不过,影响心情;即使样例过了,因为
程序有错,特殊数据也不一定能过;即使特殊数据也过了,程序有错,评测的时候绝对会错 。
发现错了,影响心情了,还是要来静态查,心情不好,肯定效率低。那还不如一开始就静态
查,即使发现错误,获得成就感,心情很好。千万不要慌着去测。要保证程序无错,思 路
清晰,结构清晰了,然后再去测样例,再去测特殊数据。样例过了不要得意,特殊数据过了
不要得意,很有可能还有很多特殊情况你没有想到。
九、做好心理准备,也许做了两道自己认为会全对的,还做了一道自己认为能过几组的。可
能只得 50。这也是有过的事情。除了做好那几个步骤,没有其他的办法。认了吧。搬块石
头砸天,也是没有用的。
十、树立正确的成败观。体验第一,拿奖第二。往往能从失败中学到更多的东西,得到更多
的感悟。成功固然好,失败也不错。成事在天。做到了自己做到的,就是另一种意义上的成
功。
三、考前时间利用
一、考前几分钟时间,往往能决定成败,所以一定要做好心态调整。不要去想结果,只看过
程,努力了就一定不会白费。
二、在别人紧张、坐立不安的时候,你不妨把时间利用起来。依照惯例,考试前几分钟是可
以先调试电脑的,所以这时候一定要做些准备:
a)设置 FP
i. 默认路径
ii.窗口大小
iii.TAB 宽度
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)休息,等待开考
需要更多复赛资料可以扣我3220524982免费发
< < < < 一> > > > 考前 注意
一、Linux 与 Windows 的区别
a)大小写敏感
i. 在 Windows下,文件名大小写不敏感,例如 A.PAS 与 a.pas 与 A.pas 与 a.PaS 没有区别。
ii.Linux 视文件名为二进制数据,所以区分大小写。
iii.考试时一定要看清题目上要求,区别大小写。
iv.Turbo Pascal 生成的.pas 文件默认大写,FreePascal 默认小写,注意修改文件名,尤其是
在重新调试编译后。
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 read 或 While not eofln read。
e)多余字符过滤
i.Arbiter 评测系统有多个插件,分为整数比较(过滤无效字符)和逐字节比较。
ii.由于评测插件的原因,注意输出结果时,尽量不要有多余空格或换行。
iii.对于一个整数,使用 write 输出。
iv.对于多个整数,输出最后一个时不要有多余空格或换行。
v..对于一个字符串,尽量使用 write 整体输出。
二、保存文件
a)注意文件名,保存要求,目录结构等问题。
b)某些省份(如 河南)要求同时提交.exe文件,注意不要漏交。
< < < < 二> > > > 考前十点提醒
一、一定要想好了算法,思路清晰了再编。分析问题时遇到一些即兴问起的情况,马上要深
入下去,看已有的算法思路是否有问题。经验证明,这种即兴提起的问题 往往是决定算法正
误的关键问题。这是一种本能的质疑,本能的差错,一定不要想:我一会再来看这个问题 。
一定要立即想清楚,看算法怎么样处理才能解决这样一 个问题。确认算法没有什么错误了
再编。如果思路没清晰,算法不对,编到一半时才发现错了,这种情况没有考虑到,浪费了
很多时间,或者编完了都还不知道算法是错的,最后由于样例特殊,过了样例,以为对了 ,
但实际上只得10分,或者根本不得分。
二、对于简单的题,一定要考虑全面,不是编好了程序再来考虑全面,而是想算法的时候就
要考虑全面。不要知道个大概就开始写,后来发现一些特殊数据要作特殊处理,又把程序改
过去改过来,改得面目全非,最后老是改不对,不但影响心情,而且还是错的。
三、看题要灵活,不要绊死在一道题,不要怕。NOIP 的题不想就做出来,怎么可能,肯定
的,只是你一看就怕了,也没有去认真想,随便敷衍想了一点特殊情况的算法,认为可以骗
到分。但经验证明最后基本是没有分,即使有,最多不 过10。时间是3个小时,要积极一点 ,
经验证明,很多题想到一定时候便想出来了。并且很简单。
四、一定要认真读题,读的时候积极思考,看看这 某句话到底是个什么意思,要会转换。
特别是对于有时间的问题,到底把时间看成一个点,还是一个区间,具体题目具体分析,一
定要符合题意。题没读懂就开始 做,100%是错的。题错,思路也就错,时间浪费了, 数
据还是 1 个都不过。
五、思考算法的时候,一定要考虑到特殊数据,或一些特殊情况。想好算法,写下各个变量
的意义,明确使用的时候都是遵照这些意义的。写下关键的句子,分清各种情况,这个阶段
最重要,一定要仔细,不要急着编程。写完了,还要再看各变量是否带对,是否有笔误。等
到这些做完了,重复看下整个算法实现过程,等自己解题思路清晰的时候,才开始编程。
六、理清了思路再编程,写好了关键句子再编程,弄清楚了变量再变成,速度会很快,而且
正确率也很高。
七、一定要先思考清楚。很多人就是犯不思考就编程这个错误,最后自己就昏了。于是浪费
大量时间,而且题也做不出来。一定要避免这种情况。这样就能胜于别人。
八、程序按照思路编完之后,查编译错误。经验证明,刚刚完成的程序不出编译错误的几率
基本为 0。编译全部修正后,千万不要测样例。经验证明,第一次就把样 例过了的几率很
低,即使过了,在测自己的特殊数据的时候也会出错。所以,编译完后一定要静态查错。经
验表明,静态查错是很有效果的。基本上每次静态查错都 可以找到变量代错的错误。特别
是快排的 I,J 是否带错,DEC,INC 是否搞错,SWAP 是不是加了 VAR 等等。试想:如果
没有静态查错,就去测样例,如 果程序有错,样例不过,影响心情;即使样例过了,因为
程序有错,特殊数据也不一定能过;即使特殊数据也过了,程序有错,评测的时候绝对会错 。
发现错了,影响心情了,还是要来静态查,心情不好,肯定效率低。那还不如一开始就静态
查,即使发现错误,获得成就感,心情很好。千万不要慌着去测。要保证程序无错,思 路
清晰,结构清晰了,然后再去测样例,再去测特殊数据。样例过了不要得意,特殊数据过了
不要得意,很有可能还有很多特殊情况你没有想到。
九、做好心理准备,也许做了两道自己认为会全对的,还做了一道自己认为能过几组的。可
能只得 50。这也是有过的事情。除了做好那几个步骤,没有其他的办法。认了吧。搬块石
头砸天,也是没有用的。
十、树立正确的成败观。体验第一,拿奖第二。往往能从失败中学到更多的东西,得到更多
的感悟。成功固然好,失败也不错。成事在天。做到了自己做到的,就是另一种意义上的成
功。
三、考前时间利用
一、考前几分钟时间,往往能决定成败,所以一定要做好心态调整。不要去想结果,只看过
程,努力了就一定不会白费。
二、在别人紧张、坐立不安的时候,你不妨把时间利用起来。依照惯例,考试前几分钟是可
以先调试电脑的,所以这时候一定要做些准备:
a)设置 FP
i. 默认路径
ii.窗口大小
iii.TAB 宽度
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)休息,等待开考
需要更多复赛资料可以扣我3220524982免费发