CCF软件能力认证上机考试指导书

发布单位: 中国计算机学会 2014-02-20

尊敬的考生:


为了帮助您更好地了解CCF软件能力认证考试平台的特点,以便在参与软件能力认证上机考试时能够准确编制出符合评测要求的程序,考出自己真实的软件开发能力,故整理该指导书供您参考。

在您进入考场,首先按照监考老师的要求,打开考试系统,使用自己的准考证号和证件号登录系统,查看考试说明,等待考试开始。

考试开始后,刷新页面即可看到试题列表。

点开每道试题可以看到考题的详细信息。在阅读问题描述中,除阅读题目的意思外,要特别注意在问题描述中给出的输入格式和输出格式描述。其中输入格式是评测时需要满足的输入格式,你不需要对格式进行检查,读入数据时直接按照格式读入即可。而输出格式是你的程序运行时输出必须满足的格式,你的输出必须严格按照输出格式的要求进行编制,未按要求的将不能得分。

在读题时,一定要特别细致,并通过验算试题中给出的样例等方式确定题目的全部意思。

读完题后,一般使用自己熟悉的编辑器(如Dev-CPP或Eclipse)编写程序,在编辑器里面编译调试。通常的的方法是先使用试题提供的样例来测试,再自己设计一些数据来验证。

在成绩评测时,评测方会使用精心设计的输入数据来运行你的程序,并检查你程序输出的正确性,这些数据通常和样例给出的数据是不一样的。如果用你的程序运行样例不能得到正确结果,一般是因为编制的程序存在错误,该题将不能得分,或不能得到满分。如果样例得到了正确结果,也不代表该程序完全正确,你最好使用多组数据从多角度进行测试。

在测试好自己的程序后,请将整个程序从编辑器中拷贝出来粘贴到考试系统提交窗口里面,再提交即可。每编制与测试好一个程序后要马上提交自己的代码,以免接近考试结束时间,因为网络原因提交不上。如果提交程序之后又有修改,可以再次提交新的版本,考试系统会以你最后提交的为准。

在答题时,有一些经常会出现的问题影响考试成绩。大概归纳如下:

1. 输出了提示语句。有的考生在输入之前编写了一些内容提示下面输入的是什么,比如“请输入n”之类的,或者在输出结果前给出了提示,比如“答案是”之类的。这些语句被当成了程序的输出,导致输出与答案不对应,因此不能得分。

2. 不是从标准输入输出来读入和输出数据。在评测考试结果时,评测方只会通过标准输入来给输入数据,也只会检查标准输出的数据,如果你使用了命令行之类的方式传递数据,那么数据传不到你的程序中,也不可能证明你的程序是正确的。一般而言,C语言使用scanf和printf来读入和输出数据,C++语言使用cin和cout来读入和输出数据,Java语言使用Scanner类读入System.in流,输出到System.out中。

3. C++语言引用了非标准的头文件,比如stdafx.h之类的,这些文件只存在于考生自己的计算机中,而不在评测方的计算机中,因此在评测时会出现编译错误。

4. Java语言没有以Main为主类名称或者使用了package语句定义了包名称。在评测时,评测方会把Java语言提交的代码命名为Main.java,然后调用命令“javac Main.java”来编译,调用命令“java Main”来执行,如果主类没有以Main来命名,或者使用了package,后一条命令就会执行失败,使得评测程序的结果为错误。

5. 程序只能通过样例数据而不能通过其他数据。在测试程序正确性时会使用很多数据来测试,如果你的程序只能通过样例数据而没有测试其他数据,可能会因为程序中隐藏的错误导致运行其他数据时得不到正确的结果。