發(fā)布時(shí)間:2021-12-02 14:05:44來(lái)源:轉(zhuǎn)載
C++和信息學(xué)奧賽到底是什么?近年來(lái),編程在國(guó)內(nèi)外都很火爆,創(chuàng)客教育及STEAM已成為素質(zhì)教育的核心,3D打印、機(jī)器人等新技術(shù)也走進(jìn)了中小學(xué)。在我國(guó)浙江省,更是把編程納入信息技術(shù)高考。
畢竟,作為一門面向未來(lái)人工智能時(shí)代的世界性語(yǔ)言,編程是培養(yǎng)人才的關(guān)鍵。
作為五大聯(lián)賽之一的NOI信息學(xué)奧賽的宗旨在于通過(guò)競(jìng)賽活動(dòng)培養(yǎng)大批計(jì)算機(jī)愛(ài)好者,選拔的計(jì)算機(jī)后備人才。
信息學(xué)奧賽重要性不言而喻,而要學(xué)好則必須學(xué)會(huì)使用程序語(yǔ)言。具體到信奧使用的重要工具——C++語(yǔ)言——作為編程中的明星語(yǔ)言,C++是信息奧賽的基礎(chǔ)語(yǔ)言。
C++:靈活且重要的參賽語(yǔ)言
1.少兒編程C++語(yǔ)言是什么?
從C到C++
計(jì)算機(jī)誕生初期,用機(jī)器語(yǔ)言或匯編語(yǔ)言編寫程序,第一種高級(jí)語(yǔ)言FORTRAN誕生于1954年。BASIC語(yǔ)言(1964)是由FORTRAN語(yǔ)言的簡(jiǎn)化而成的是為初學(xué)者設(shè)計(jì)的小型高級(jí)語(yǔ)言,C語(yǔ)言是1972年由美國(guó)貝爾實(shí)驗(yàn)室的 D.M.Ritchie 研制成功的,它是為計(jì)算機(jī)專業(yè)人員設(shè)計(jì)的。
大多數(shù)系統(tǒng)軟件和許多應(yīng)用軟件都是用C語(yǔ)言編寫的。隨著軟件規(guī)模的增大,用C語(yǔ)言編寫程序漸漸吃力了,于是便創(chuàng)造出了C++語(yǔ)言。
C++的特點(diǎn)
C++是由 AT&T Bell實(shí)驗(yàn)室 于20世紀(jì)80年代初在C語(yǔ)言的基礎(chǔ)上成功開(kāi)發(fā)出來(lái)的。C++是C語(yǔ)言的繼承,它保留了C語(yǔ)言原有的所有優(yōu)點(diǎn),并增加了面向?qū)ο蟮臋C(jī)制。
C++是由C語(yǔ)言發(fā)展而來(lái)的,與C兼容,用C語(yǔ)言寫的程序基本上可以不加修改地用于C++。從C++的名字可以看出它是C的超集,C++既可用于面向過(guò)程的程序設(shè)計(jì),又可用于面向?qū)ο蟮某绦蛟O(shè)計(jì),是一種功能強(qiáng)大的混合型程序設(shè)計(jì)語(yǔ)言。
C++語(yǔ)言靈活,運(yùn)算符的數(shù)據(jù)結(jié)構(gòu)豐富、具有結(jié)構(gòu)化控制語(yǔ)句、程序執(zhí)行效率高,被認(rèn)為是一種中級(jí)語(yǔ)言,同時(shí)具有高級(jí)語(yǔ)言與匯編語(yǔ)言的優(yōu)點(diǎn)。
2.信息學(xué)奧賽未來(lái)只考C++!
根據(jù)國(guó)際信息學(xué)奧林匹克競(jìng)賽(IOI)的相關(guān)較新決議,CCF做出以下決定:
2020年開(kāi)始,除NOIP以外的NOI系列其他賽事(包括冬令營(yíng)、CTSC、APIO、NOI)將不再支持Pascal語(yǔ)言和C語(yǔ)言;
從2022年開(kāi)始,NOIP競(jìng)賽也將不再支持Pascal語(yǔ)言。
即從NOIP2022開(kāi)始,NOI系列的所有賽事將全部取消Pascal語(yǔ)言。在無(wú)新增程序設(shè)計(jì)語(yǔ)言的情況下,NOI系列賽事自2022開(kāi)始將僅支持C++語(yǔ)言。
C++語(yǔ)言為何如此重要?
1.C++語(yǔ)言更適合競(jìng)賽
首先,c++語(yǔ)言完全兼容c語(yǔ)言。
其次,c++語(yǔ)言可以使用標(biāo)準(zhǔn)模板庫(kù),極大方便程序設(shè)計(jì),如競(jìng)賽中經(jīng)常用到的排序,如果用c語(yǔ)言考生需自己編寫排序函數(shù),但c++提供標(biāo)準(zhǔn)的排序算法,其時(shí)間復(fù)雜度為O(NlogN),這已相當(dāng)了。
再次,競(jìng)賽中使用C++語(yǔ)言,并不需要選手學(xué)完C++語(yǔ)言的全部,一些較難的內(nèi)容并不學(xué)習(xí),適合青少年學(xué)生。
其實(shí)就是c語(yǔ)言+標(biāo)準(zhǔn)模板庫(kù),所以在信息學(xué)競(jìng)賽學(xué)習(xí),選用C++也是必然趨勢(shì)?,F(xiàn)在絕大多數(shù)學(xué)生也會(huì)選擇c++作為信息學(xué)程序語(yǔ)言。
2.C++語(yǔ)言有助于培養(yǎng)計(jì)算思維
C++可以培養(yǎng)孩子的計(jì)算思維,幫助孩子形成處理問(wèn)題的正確思維方式,提高創(chuàng)新意識(shí)和動(dòng)手實(shí)踐能力。
C++課程中,需要學(xué)習(xí)組合數(shù)學(xué)、圖論、基本算法、數(shù)據(jù)結(jié)構(gòu)、搜索算法及數(shù)學(xué)建模等知識(shí),可以加深學(xué)生對(duì)數(shù)學(xué)的理解,提升孩子的邏輯思維,而這些又能幫助其更好地學(xué)習(xí)其他學(xué)科。