第七届蓝桥杯全国软件和信息技术专业人才大赛竞赛大纲(个人软件类)
1.组别
竞赛分为:C/C++程序设计大学A组,C/C++程序设计大学B组,C/C++程序设计大学C组,Java软件开发大学A组,Java软件开发大学B组,Java软件开发大学C组共6个组别。每位选手只能申请参加其中一个组别的竞赛。各个组别单独评奖。一本院校(985、211)本科生只能报大学A组。所有院校研究生只能报大学A组。其它本科院校本科生可自行选择大学A组或大学B组。其它高职、高专院校可自行选择报任意组别。
2.竞赛时间
省赛时长:4小时,6个组别同时进行。
决赛时长:4小时。决赛详细赛程安排另行通知。
详细赛程安排另行通知。
3.竞赛形式
个人赛。
一人一机,全程机考。
选手机器通过局域网连接到各个考场的竞赛服务器。选手答题过程中不允许访问互联网,也不允许使用本机以外的资源(如USB连接)。
以“服务器-浏览器”方式发放试题、回收选手答案。
4.参赛选手机器环境
机器配置:
X86 兼容机器,内存不小于1G,硬盘不小于60G
操作系统:
WindowsXP或Windows7
c/c++ 语言开发环境:
·Dev-cpp 5.4.0 支持ANSI C,ANSIC++,STL
·c/c++ API 帮助文档(中文,chm格式)
Java 语言开发环境:
·JDK 1.6
·Eclipse Helios for JavaSE
·API 帮助文档(中文,chm格式)
5.试题形式
竞赛题目完全为客观题型。
根据选手所提交答案的测评结果为评分依据。
5.1结果填空题
·题目描述一个具有确定解的问题。要求选手对问题的解填空。
·不要求解题过程,不限制解题手段(可以使用任何开发语言或工具,甚至是手工计算),只要求填写最终的结果。
5.2代码填空题
·题目描述一个具有确定解的问题。
·题目同时给出该问题的某一解法的代码,但其中有缺失部分。
要求选手读懂代码逻辑,对其中的空缺部分补充代码,使整段代码完整。只填写空缺部分,不要填写完整句子。
不要写注释、说明或其它题目中未要求的内容。
5.3编程大题
题目为若干具有一定难度梯度、分值不等的编程题目。
这些题目的要求明确、答案客观。
题目一般要用到标准输入和输出。要求选手通过编程,对给定的标准输入求解,并通过标准输出,按题目要求的格式输出解。题目一般会给出示例数据。
一般题目的难度主要集中于对算法的设计和逻辑的组织上。理论上,选手不可能通过猜测或其它非编程的手段获得问题的解。
选手给出的解法应具有普遍性,不能只适用于题目的示例数据(当然,至少应该适用于题目的示例数据)。
为了测试选手给出解法的性能,评分时用的测试用例可能包含大数据量的压力测试用例,选手选择算法时要尽可能考虑可行性的问题。
6.试题涉及的基础知识
·Java软件开发大学C组
解题所涉及的知识:基本语法、面向对象、网络编程、接口、集合、IO、多线程、内部类、异常与保护,基本数据结构。(不涉及swing等图形界面,不涉及html、JSP、Tomcat、开源框架等web开发方面,不涉及JDBC、SQL等数据库编程方面)
解题允许使用的特性:JDK1.6支持的特性
·Java软件开发大学B组
解题所涉及的知识:Java大学C组全部知识 + 数据结构(高校《数据结构》教材中出现的经典结构,及其通过组合、变形、改良等方法创造出的变种)+ 大学程度的基本数学知识(含:解析几何、线性代数、微积分、概率、复平面基本性质)
解题允许使用的特性:同Java软件开发大学C组
·Java软件开发大学A组
解题所涉及的知识:Java大学B组全部知识 + 设计模式,反射,XML,多核与并发,软件测试。
解题允许使用的特性:同Java软件开发大学C组
·C/C++程序设计大学C组
解题所涉及的知识:结构、数组、指针、标准输入输出、文件操作、递归、基本数据结构(在代码填空中不会出现c++知识,不会出现ANSI C/C++ 之外的windows API调用) 。
解题允许使用的特性:选手可以使用c风格或c++风格或混合风格解答编程大题
允许使用ANSI C(99) / ANSI C++(98) 特性。允许使用STL类库。
·C/C++程序设计大学B组
解题所涉及的知识:c/c++大学C组全部知识 + 数据结构(高校《数据结构》教材中出现的经典结构,及其通过组合、变形、改良等方法创造出的变种)、函数指针、位运算 + 大学程度的基本数学知识(含:解析几何、线性代数、微积分、概率、复平面基本性质)。
解题允许使用的特性:同 C/C++程序设计大学C组
·C/C++程序设计大学A组
解题所涉及的知识:c/c++大学B组全部知识 + 函数模板、宏替换、汇编知识
解题允许使用的特性:同 C/C++程序设计大学C组
7.涉及的领域知识
除了编程语言的基础知识,大赛很少用到特定领域的知识。比如:电信、医药、地质、银行等特定领域。如果偶尔用到,会详细解释概念,并给出足够的示例。
但“数学领域”是个例外。大赛假定选手具有足够的中学数学知识。
具体包括:
·算数:素数,整出,余数,求模,不定方程 …
·代数:函数,方程,多项式,…
·解析几何:笛卡尔坐标系,点到直线的举例,极坐标,…
·复数:模,夹角,矢量的合成和分解
8.评分
全程机器阅卷。必要环节有少量人工介入。
·结果填空题:
答案唯一。
只有0分或满分(格式错误为0分)。
·程序填空题:
按选手填写的代码代入程序中能否得出正确结果为判据。
测试数据与题面中的数据可能不同。
只有0分或满分(格式错误为0分)
c/c++组选错了编译器类型可能得0分。
·编程大题:
主要以选手所提交的程序的运行结果为依据(大于95%);同时会参考选手程序的编码风格、逻辑性、可读性等方面(小于5%)。
多个测试用例单独计分。通过则该用例得分。
c/c++选手选错了编译器类型可能得0分。
c/c++选手主程序没有return 0 可能得0分。
java选手使用了package语句按0分处理。
java选手主类名字不是Main按0分处理。
其它题目中明确告知的规则如不遵守,都可能导致0分。
9.其他注意事项
(1)选手必须符合参赛资格,不得弄虚作假。资格审查中一旦发现问题,则取消其报名资格;竞赛过程中发现问题,则取消竞赛资格;竞赛后发现问题,则取消竞赛成绩,收回获奖证书及奖品等,并在大赛官网上公示。
(2)参赛选手应遵守竞赛规则,遵守赛场纪律,服从大赛组委会的指挥和安排,爱护竞赛赛场地的设备。
(3)竞赛采用机器阅卷+少量人工辅助。选手需要特别注意提交答案的形式。必须仔细阅读题目的输入、输出要求以及示例,不要随意添加不需要的内容。
(4)使用java语言时,注意主类名必须是:Main,不能使用package语句;使用c/c++语言时,注意主函数需要return 0。
(5)c组与c++组选手提交答案时,一定要注意选择c或c++(即编译器类型)。因为使用机器阅卷,很可能会因为选手选择了错误的编译器,而使自己代码无法编译通过
PS:来自百度贴吧