导航菜单
首页 >  信息技术奥赛考试范围包括  > 信息学奥赛考试注意事项

信息学奥赛考试注意事项

一、问题解析

1.理解问题:

(1)仔细阅读题目,确保完全理解题目的要求和限制。要求和限制是有区别的,一个侧重目标,一个侧重边界。要求是你必须要做到的标准,它强调的是达成目标;限制是你不能触碰的红线,它强调的是不能越界。

(2)注意题目中的特殊条件、边界情况和输入输出格式。

(3)对于不明确的地方,不要犹豫向监考老师询问。

2.算法分析

(1)算法设计。编程之前,先设计好算法,应根据问题的性质选择合适的算法和数据结构。

(2)算法选择。考虑时间复杂度和空间复杂度,避免使用过于复杂或不必要的算法。

(3)算法表示。可使用伪代码或流程图来输助理解和表达你的算法。

二、代码编写

1.不要有多余代码:题目没要你做的事别做

(1)提示性信息:不要打印提示用户输入的信息(例如“请输入隔壁的泰山的高度:”)。这不仅不会为你赢得“界面友好分”,反而会丢掉大量(甚至所有的)分数,因为这些提示信息会被当作输出数据的一部分。

(2)暂停程序。不要让程序“按任意键退出”(例如,调用system("pause"),或者添加一个多余的getchar()),因为不会有人来“按任意键”的。

2.注意题目细节要求

(1)输出格式。最容易忽略的是输出的格式。输出格式是非常严格的,多一个或者少一个字符都是不可以的! 把Yes打成yes,No打成no的程序只有0分。还有一个比较容易掉的坑就是输出数据用空隔隔开,这指的是数据之间有空格,第一个数据前和最后一个数据后都是不能有空格的。

(2)输入处理。确保你的代码正确地处理输入,包括空格、换行符和其他特殊字符。一般输入矩阵时都要先输入行数、列数,要看清人家要求先输入哪个。有时候题目故意设坑,要求先输入列,后输入行,经常有人会习惯性地在输入矩阵时把第一个输入的数作为外层循环、把第二个输入的数作为内层循环,从而导致输入到数组中的数据就是错的,即便算法再完美,也不可能得到正确的结果。

(3)数据类型、范围和精度。

①数据类型匹配。根据题意为变量选择合适的数据类型,比如不能将温度设为int型。

②数据范围匹配。确保数据类型满足数据范围要求。比如要求输入小于10^10的整数,你就不能用int型(最大值约为2.1×10^9)。这里尤其注意不但要考虑输入数据,过程中产生的数据也可能超限,比如两个不大于10^6的数相乘,乘数虽然都在int范围内,但积却可能超出int范围。

③数据精度。注意浮点数精度问题。

(4)位数要求。比如取整数末n位,保留n位小数。

(5)注意题目对代码的编写限制。比如代码的长度、程序的运行时间、使用的内存量等方面的要求。

3.代码规范

(1)每行输出均应以回车符结束,包括最后一行。

(2)除非特别说明,每行的行首不应有空格,但行末通常可以有多余空格(以防万一,最好也不要有)。

(3)输出的每两个数或者字符串之间应以单个空格隔开。

(4)尽量用const关键字

相关推荐: