信息学竞赛用C++不用Python的原因是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信息学竞赛用C++不用Python的原因是啥?相关的知识,希望对你有一定的参考价值。

我个人认为原因主要有两点,一是因为信息学竞赛主要考验的是数据结构和程序设计;二是Python过于简单,并且需要搭建环境,执行效率也慢,不如C++好。

先来说第一点。想要知道信息学竞赛为什么用C++而不用Python,首先要知道,信息学竞赛本身就是考验你对数据结构的掌握以及对程序设计的理解。这就意味着,你是不需要过多的熟悉编译软件的,只要注重你软件的执行效率就行了。怎么说呢,其实C++并不难,只是相较于Python这种小学生型编译软件难而已。Python自带太多库了,而且很多程序设计的过程都简化了,压根无法体现出你对程序设计的理解,而且因为没有内存操作这方面的功能,对你的数据结构考验也有所限制,不能完全发挥出实力,所以才会用C++,而不是Python。

再来说第二点,在我这个职业码农眼里。Python真的和垃圾差不多,Python只适合在大数据、人工智能等这些领域使用,因为这些领域主要是用编译软件来跑那些算法程序的,说白了就是科研人员使用的,对于科研人员来说,这种工具越简单肯定越好了。除吃之外,Python还要搭建环境,对于你来说简单,但对于整个比赛平台来说呢?最重要的是执行效率,也许在你个人看来,两者执行效率差不多,但到总控制端那里就不一样了,Python写的程序会出现各种问题,这也就是为什么很多追求执行效率的软件,不是C语言写的,就是C++写的的原因。

总的来说,信息学竞赛不用Python的主要原因是Python对于比赛人员的编程技能要求太低,同时执行代码效率太慢,很可能导致比赛途中出现各种问题。

参考技术A 可能是因为C++普及性更强一些, python是比较困难的,这个竞赛人群年龄不同,用后者不太公平。 参考技术B 过时了,已经不可能很好的取代现在的技术应用,所以,需要新的技能才可以。 参考技术C 就是因为C加加现在是很流行的,而且Python容易出现问题,主要是因为系统太老了。

全面解读信C++息奥赛

众所周知,名校自主招生一直是学生和家长重点关注的升学捷径,作为自主招生中最吃香的学科奥林匹克竞赛,多年来一直是很多学生开启名牌大学之门的另一把钥匙。

近几年来,学科竞赛中相对冷门的赛事——信息学奥赛,正在受到学校、学生和家长的更多青睐。

那么究竟什么是信息学奥赛?参加信息学奥赛有哪些好处?信息学奥赛都考些什么?可能很多家长对此仍然有很多疑问。好习惯机器人就带大家一起来了解一下。

1.C++信息学奥赛到底是什么?

信息学奥赛是全国中学生学科奥林匹克“五大学科竞赛”中的一门,其他四个学科为数学、物理、化学、生物学,学科奥赛是由国家认可的权威性比赛。信息学,主要是指利用计算机及其程序设计来分析和解决问题的学问。信息学奥赛由中国计算机学会主办,主要考察信息学,即编程的相关知识和能力,主要包括三级赛事:

全面解读信C++息奥赛

NOI的官方网站为http://www.noi.cn/。

2.C++信息学奥赛对升学和择校有何帮助?

作为理科五大学科竞赛之一,信息学的认可度和含金量极高,最直接的好处就是有助于升学,无论是小升初、中考、高考、海外留学,还是申请奖学金、保送研究生,获得信息学奥赛的好成绩都会有重要的助力作用。

① 升学择优录取

信息学奥赛获奖可以享受名牌大学降分录取等优惠,初中阶段参加NOIP获奖也可作为特长生被重点高中录取。

② 参加自主招生

③ 名牌大学保送

获得NOI奖牌的选手可以直接保送清华北大等一流名校。

全面解读信C++息奥赛

④ 当地学校录取分数线降低

部分省市NOIP普及组和提高组其他名次可以享受当地学校降低分数线录取。

⑤ 增强出国留学竞争力

所以信息学奥赛是帮助孩子圆名校之梦的一个较好选择。

3.C++信息学奥赛对能力拓展和职业发展有何帮助?

信息学竞赛能给孩子带来逻辑思维能力、知识结构和学习能力的巨大提升,学习竞赛的过程对于学生的锻炼远比学到的知识重要。经过信息学竞赛锤炼的孩子,其思维的深度及思考问题的能力更强,更具备在具体学科钻研和探究的能力。

在人工智能时代,编程或许将成为像开车一样基本的技能,提前具备信息学知识和编程能力,可以更好地面对即将到来的智能时代。在中国12类紧缺人才中,排在第一位的就是“电子信息类”。当前人工智能相关行业发展如火如荼,人才需求火爆,包括谷歌、阿里、百度、Facebook在内的巨头企业以及人工智能领域的创新先锋都在疯抢信息学人才,甚至开出百万年薪,而这种红利期还仅仅是刚开始。所以信息学奥赛不仅能提供一块不错的升学敲门砖,还可以对孩子整个人生轨迹产生积极影响。

2018年初教育部公布高中新课标,将信息学竞赛必学内容纳入了必修和选修的范畴,更是将“数据和计算”列为必修,提出了“学会一种编程语言”的要求,编程普遍进入高考或许只是时间问题。

4.C++信息学奥赛现在的报考情况如何?

信息学奥赛当前最突出的现状为:由于信息学不是中学阶段的关键学科,家长的认知率仍然不高,有些家长甚至都没有听说过。所以竞赛参与人数相对少,且获奖比例较高,因此竞争相对不激烈。另外,信息学奥赛还有“比赛多、机会多”的特点,只要有一次考得好,就有机会获得高校“直接录取”、“降一本线录取”、“降分录取”等相关优惠政策。下面是八大名校在信息学奥赛方面的自招优惠政策。

全面解读信C++息奥赛

另外,信息学竞赛的报考情况在全国各省份很不均衡。以全国2018年NOIP提高组竞赛省一等奖分数线为例,浙江为375分,而河南只有275分,差距有一百分之巨。所以,对于信息学奥赛普及率较低的省份,学生的获奖机会也更高。

5.C++信息学奥赛相比于其他竞赛有何优势?

首先是难度。五大学科竞赛中,数学和物理奥赛都太“难”,北京数学奥赛金牌教练汪老师曾表示:只有不到5%的学生适合学奥数,其很大程度是拼天赋;而物理则需要学生具备浓厚的兴趣和探索精神,而且动辄百万的报考人数也使难度攀升。化学和生物奥赛一定程度上是考知识积累,由于专业就业较难,已日趋边缘化。

信息学奥赛则相对容易一些,有初一的数学基础就完全可以学习,而且学生基础水平相当,成绩不会有较大差别,所以越早接触信息学越容易出好成绩,而且只要肯下功夫,多半孩子都能拿奖。相比其他学科,信息学是目前发挥个人潜力最广,发展空间最大,专业选择面最全的课程。

第二是竞争压力小。虽然近年来报考人数不断攀升,但与全国数百万学习“奥数”的中小学生相比,2018年全国参加信息学奥赛的考生仅为15 万,形成强烈的反差。以辽宁省为例,数学奥赛每年5万人左右参加,而信息学奥赛报考人数只有不到3000人。由于参赛人数上差异大,信息学奥赛在部分省份获奖率甚至超数学奥赛十数倍。

全面解读信C++息奥赛

从中可以看出,NOIP信息学一等奖获奖人数在2017年就已接近一等奖总人数的三成。

6.C++信息学奥赛的赛制和赛程是什么?

信息学竞赛主要分为NOIP(全国青少年信息学奥林匹克联赛/分区联赛)NOI(全国青少年信息学奥林匹克竞赛)冬令营选拔赛IOI(国际信息学奥林匹克竞赛)这几个级别的比赛,竞赛的层级次序如图:

全面解读信C++息奥赛

全面解读信C++息奥赛

NOIP虽然为信息学奥赛的第一站,但其实优秀的获奖者已经有被名校录取的资格了。比如,今年有3个NOIP高于400分的初中生被清华提前录取,十几个被北大提前录取(只要高考过一本线即可)。

国家范围内的NOI竞赛,除了省选选手,每个省也会分配一些非正式参赛选手,不参与评奖,但会发成绩证书,也能够现场和大学签约。总体来看,签约有越来越多、年龄越来越小的趋势。

另外,一些城市也会组织区级赛(如海淀区信息学奥赛)和市级赛(如北京市小学生信息学科普日),有志于在奥赛获奖的孩子可以提前感受考试。

下图是信息学奥赛的竞赛时间表:

全面解读信C++息奥赛

由此可见,信息学奥赛有三个特点:比赛流程较长,前后持续两整年;赛事较多,层级不断提升;机会多,只要有一次发挥较好,就有机会享受大学录取优惠。

7.C++信息学奥赛考什么?

信息学奥赛主要考的运用计算机分析问题、设计算法以及上机编程、调试程序的能力。其中对C++的掌握能力是核心,信息学奥赛首先需要学习的就是C++

具体来看,NOIP初试形式为笔试,侧重考察学生计算机和编程基础知识。复试形式为机考,侧重考察学生对问题的分析理解能力、数学抽象能力、驾驭编程语言的能力及编程技巧、想象力和创造性。信息学考试的特点和魅力,在于每一次做题都是在“设计”,而不仅仅是被动的测试和做答,每个问题都有实际意义。对于孩子解决问题能力的提高,是其他科目都无法相提并论的。

目前NOIP可以使用C、C++和Pascal三种编程语言,而2022年后,NOIP比赛中C和Pascal语言将不再可用,只能使用C++。所以,学信息学,很大程度上就是学习C++。

8.哪些孩子适合学习信息学?

如果没有竞赛这个前提,编程是谁都可以学的。但是如果是竞赛,肯定对学生有一定要求。首先需要对计算机感兴趣,兴趣是最好的老师,沉浸其中的孩子总会坚持下去;再就是本来成绩较好、知识全面发展的学生更适合学习信息学,因为竞赛初衷是让学有余力的学生拓展学习领域,因为信息学现在不属于学校教育的科目,如果文化课本身不好,很难花时间学习另一门新的学科。有自控力的孩子也更适合,能坐得住,静下心来学习是重要基础,因为信息学学习需要付出心血和汗水。较强的逻辑思维能力虽然不是学习信息学的基石,但会是获奖的重要元素。

9.应该怎样着手准备C++信息学奥赛?

首先是何时开始学习及从什么学起的问题。五年级以下的孩子可以从Scratch学起,早点接触编程,培养对计算思维和编程的兴趣。5-6年级开始学习C++,这时相对复杂的数学和逻辑问题可以更好地理解,并且可以尝试参加NOIP普及组的竞赛,为将来取得更好的成绩积累经验。

由于获得大学保送只有高一、高二才有机会,因此在初中阶段一定要参加NOIP普及组并尽早参与到提高组比赛,以积累实战经验,如果初中阶段竞赛获奖,也有助于进入重点高中。另外,有一些省份是允许初中生同年同时参加普及组和提高组比赛。下图是准备信息学奥赛的时间节奏:

10.如何报名参加C++信息学奥赛?

信息学奥赛没有年龄限制,也就是小学、初中、高中阶段的学生都可以报名参加NOIP赛事。初赛一般都是以学校为单位通过指导教师报名(每年9月份开始报名),由指导教师汇总本校学校报名情况并提交给NOI各省特派员,若学校因故不能统一报名,家长可直接联系特派员报名(各省特派员的联络方式请见http://www.noi.cn/newsview.html?id=81&hash=C6F26A&type=9),由省特派员在报名截止日期前统一提交至中国计算机学会(CCF)。其中NOIP初赛时间是每年10月份复赛为每年11月份。通过NOIP初赛的考生可以在10月末报名复赛。

由于没有年龄限制,所以如果孩子从小学开始进行编程培训,并开始参加信息学奥赛,那么这将是无比领先的起点优势。

以上是关于信息学竞赛用C++不用Python的原因是啥?的主要内容,如果未能解决你的问题,请参考以下文章

oi是啥意思?

信息学编程求学记2入学C++竞赛班

暑假班C++信息学奥赛 暑假选拔班 重磅出击!

C++强化 | 13 结构体入门

数据结构前导课 | 2 披荆斩棘——只学C++,可以做哪些竞赛题

学C++,80%都是为了搞竞赛凑一门语言?网友:莫钓鱼