当前位置:网站首页 > 信息学奥赛 > 信息学奥赛CSP-J的考试内容是什么?

信息学奥赛CSP-J的考试内容是什么?

信息学奥赛CSP-J的考试内容是什么?

入门组CSP-J考查的第一部分:基础知识与编程环境

这部分内容属于基础常识类,对计算机的构成、操作系统、计算机网络以及计算机的发展历史有个基本认识和了解。


其中,对赛事NOI也要有个大致了解。


同时并能知道计算机的程序设计语言的基本概念,程序的开发环境和编译器的使用等。


这部分内容找些视频看看,做些了解。考试的时候大概也就一条左右。


另外,这部分中对于位、字节与字的了解,以及二进制、八进制、十进制和十六进制的理解和相互转化做重点掌握,大概会有2条左右的题目。


 


入门组CSP-J考查的第二部分:C++程序设计

C++是信息奥赛指定的唯一编程语言,所以C++是必学,并且是重头戏!在考试的时候,无论是入门组的CSP-J还是提高组的CSP-S,都是分两次考试。


第一次考试是笔试,全部是选择题,包括C++的程序缺空也是选择,都不需要孩子敲代码,但要能看懂程序。当然也有运气成分,因为不懂的可以盲选。


但当第一次考试的成绩出来后,按照成绩排名划分成晋级的分数线,在分数线上的才能进行第二次考试的报名。


而第二次考试就是进行上机编程考试了,这就是实打实的编程,没有选择填空那么讨巧。所以,C++的能力必须以能解决某问题的编程为最终考验。


和大部分的程序设计编程语言的学习一样,C++的学习离不开这些要点:


程序基本概念,比如常量、变量、字符串,编译和调试等

C++的基本数据类型,比如整数型、实数型、字符型、布尔型等

C++的基本语句,比如输入输出语句、if条件语句、for循环语句等

C++的基本运算,设计到的程序运算有算术运算、关系运算、逻辑运算、三目运算以及位运算等

一些数学库的常用函数,比如绝对值函数、平方根函数等

数组的了解,以及更复杂的二维数组和多维数组

结构化程序设计,也就是三种结构(顺序、分支、循环)的综合运用

字符串的处理

函数与递归

结构体与联合体,都是3星等级的难度,入门组的最高难度不超过5

指针类型,都是4星等级的难度

文件及基本读写

STL模板等

 


入门组CSP-J考查的第三部分:数据结构

数据结构是所有编程学习绕不开的知识,也到了学习的重难点。


入门组CSP-J考查的数据结构主要是四类,分别是线性结构、简单树、特殊树和简单图。


线性结构主要是链表、栈和队列;


简单树主要是对二叉树的学习;


特色树是对完全二叉树、哈夫曼树的学习;


图的学习是对邻接矩阵、邻接表的掌握。


 


入门组CSP-J考查的第四部分:算法

算法是进行整个学习的深水区。


入门的算法包括枚举法、模拟法;


基础的算法包括贪心法、递推法、递归法、二分法、倍增法等;


排序算法包括冒泡排序、选择排序、插入排序等;


搜索算法包括深度优先和广度优先;


图论算法涉及遍历和泛洪算法。


数据结构和算法的结合就是编程,最终的编程写代码的考验也就此开始。


 


入门组CSP-J考查的第五部分:数学与其他

因为编程离不开运算,运算离不开数学知识,涉及到初等数学,也就是初中的代数和几何


其他还有一些初等数论、取整、辗转相除法、素数筛法等,这些概念有助于孩子认识程序或编写程序时学会应用


这部分内容主要是在日常的编程训练中使用,先理解掌握数学点知识,然后掌握在C++中如何应用。


 


这里有一分关于信奥赛入门组CSP-J的考试大纲思维导图,可以点击查看


总之,对于在暑假备考入门组CSP-J来说,优先级排序是:


首先要确保先学会C++,学会运算、结构;


对于基本掌握C++的,要对循环、嵌套循环和数组进行重点练习;


如果c++比较硬了,就对算法进行演练,尤其是贪心和排序;


如果简单算法没问题了,那就进阶高级算法,动态规划(DP)和搜索算法。


标签:CSP-J     

猜你喜欢