资源描述
第四届软件大赛比赛规则与内容说明,Page2,组别变化,4个组别改为6个组别原来的本科组细分为本科A组、本科B组一本院校只能报本科A组,其它本科院校可自行选择A组或B组。,Page3,c与c+的选择,题面上不会考核c+或面向对象的具体知识仅仅是编程大题允许使用c+解答其它题目中不会出现c+知识虽然推荐使用vc工具,但不能使用非标准的c+类库,因而不能使用微软的MFC或ATL类库,不能使用windowsAPI,Page4,C+涵盖范围,不会在给出的代码中含有类、对象等c+知识不会在题目的描述中强制使用c+对大题的解答允许使用c+编码允许范围:ANSIC+标准类,继承,多态.允许使用STL类库不允许使用MFC类库不允许使用ATL类库,Page5,环境变化(1),Java环境没有变化只允许JDK1.5,6.0以上特性禁止IDE:JCreator2.0,Eclipseheliosrelease2(不含JavaEE特性)请检查IDE连接的JDK是否符合要求检查eclipse是否开启了泛型功能无论用何种工具,提交的结果:只有一个文件不包含任何工程配置文件,Page6,环境变化(2),C语言IDE:Dev-cpp5.4.0,VC+6.0简化版Dev-cpp类似linux下的gcc支持ANSIC+支持STL类库VC为简化版没有安装MFC库,ATL库不可以使用CString等MFC类库不可以使用CFile等类进行文件操作不支持界面编程(规则中不允许调用Windows特定的API),Page7,题型变化,编程大题没有变化仅仅是c/c+组允许使用ANSIC+特性填空题变化代码填空代码填空+结果填空代码填空:读懂已知程序的逻辑,合理填空。难度在于分析逻辑结果填空:不限制实现的手段(可以猜测或手工计算),只要给出结果就可以。举例:1000!中含有多少个数字2?,Page8,必须的基础知识范围,大赛题目的设计本着尽可能需要最少的基础知识的原则比的是组织逻辑的能力,不是对某个偏僻特性的记忆所需的基础知识是绝大多数学校教材内容的交集A组的少量题目可能会超越课本范围(后面列出),Page9,必须的领域知识,大赛题目的设计本着需要尽可能少的领域知识的原则所有特殊领域知识,一定会在题目中详细描述,一定会有例如的说明语句,以免选手误解。例外:数学领域数学常识性知识不在题目中详述!高中以内的数学知识算数:素数,整出,余数,求模,不定方程代数:函数,方程,多项式,解析几何:笛卡尔坐标系,点到直线的举例,极坐标,复数:模,夹角,矢量的合成和分解,Page10,Java组别基本,基础:变量,操作符,选择,循环,递归面向对象:类,对象,引用,构造方法,参数传递,this引用,static,继承,多态,接口,内部类,匿名类异常与保护I/O:读写文件,File类,文本操作与二进制操作(字节流,字符流)多线程:线程的排斥(synchronized),协作(wait,notify)网络:只限于Socket通信不会出现:AWT,Swing界面类的编程或填空问题JSP,Servlet,HTML,CSS,XML,JavaScript等web编程相关Struts,Spring等开源框架JavaEE规范,容器(例如:JNDI,javaBean等)JDBC,SQL等数据库编程相关内容,Page11,Java组,Java本科B组增加对多种数据结构的灵活运用Java本科A组增加设计模式,反射,XML,多核与并发,测试理论,Swing界面仅限于少量题目中可能涉及,Page12,c/c+组基本,基本:变量,运算符,选择,循环,数组,指针,递归I/O:读写文件,标准输入输出,文件属性不会出现:含有窗口的Windows界面编程多线程网络编程、Web应用数据库编程调用底层中断或硬件相关的编程其它一定需要非ANSIC标准调用的编程,Page13,c/c+组,c/c+本科B组增加数据结构、函数指针、位运算c/c+本科A组增加函数模板、复杂宏、汇编知识仅限于少量题目中可能涉及,Page14,数据结构与算法,本科组数据结构教材为准可能直接引用其中的术语,不再做解释。比如:题面中可能出现:这是一个平衡二叉树,至于什么是平衡二叉树可以不解释,当作是选手清楚的基础知识。专科组,不会在题面中出现数据结构课程中才有的特定术语;如实在无法避开,会给出那个概念的详细解释。但允许选手使用任何数据结构中的技巧或实现。C+允许使用STLJava允许使用JDK1.5范围内的API,Page15,算法,穷举法(暴力破解)回溯法(试探,返回,试探,返回)分治法动态规划算法不是死的,可以有各种灵活的“杂合”或“变种”程序填空题中可能含有某个算法的思想,需要能读懂专科组除了“穷举法”,其它不会在题面代码中出现,Page16,关于递归,递归是解决复杂问题的重要手段需要掌握递归与循环的转化关系有些结果填空题或大题完全放弃递归会很吃力取球问题举例,Page17,评分方法(1),阅卷方式:程序自动+少量人工结果填空题与标准答案一致,则得分比对时会去掉前后多余的空白字符,Page18,评分方法(2),代码填空题与标准答案一致,得分不一致的带入测试程序,结果正确得分选手理解错误:不需要填写其它,只填写缺少的部分选手粗心:分号已经存在了,中西文符号问题粗心会按统一标准扣分,将来全自动机器阅卷可能完全不给分C代码填空举例,Page19,评分方法(3),编程大题主要依据程序自动测试运行结果编译不通过的直接按0分记多个测试用例,每个用例单独测试,单独计分最后求累计分数存在问题测试用例与题面举例不同,不能用printfSystem.out.println蒙混使用标准输入、输出。便于重定向测试。严格按题目要求,不要画蛇添足。输出的内容不要有多余的东西。将来用全自动机器阅卷会判负思维要严密。边界条件判断不足,引发异常,会酌情扣分。大数据规模。算法设计不当会导致溢出或速度不可忍受。,Page20,评分标准(4),人工辅助的环节(小于题目分值的5%)大题测试完全通过,如何比拼?依运行时间的加分(体现算法的效率)如果运行时间相仿?依代码的规范性、可读性、可维护性加分,Page21,题目难度,坚持原创性,押题不容易。难度低于ACM有些题目受NOI,IOI,POJ,ACM,TopCode等知名赛事题目的启发注重普及性,让尽可能多的选手参赛本身可以获得启发或收获大赛的目标之一:传播知识难度高于期末考试,更重要的是注重了趣味性。举例-魔方问题不同于纯粹的语法考试,注重在工程应用领域的意义。有些题目原型是高校或研究单位的论文成果。举例-图像面积计数问题,Page22,如何备战,基础知识扎实真正理解,彻底理解,不是一知半解!主要是培养逻辑能力,可以通过各种题目练习数学练习很重要,最有成效!例如:欧拉计划网站国外教材的习题很有挑战性、开放性java大学教程c+大学教程,Page23,题目素材或背景,数学素材,最普遍串的各种变换java允许使用正则,可能会事半功倍文件内容的处理文本文件转换格式,比较,搜索等二进制文件提取某种信息,某种映射仿真问题类似电梯调用,餐厅调用等。各种概率问题求最优解问题博弈问题,
展开阅读全文