NOIPCSP-SJ初赛基础知识2
⼀、NOIP / CSP等的历史、⼤事件、参赛要求(每年都考)
NOI:中国计算机学会于1984年(当年,邓⼩平提出计算机要从娃娃抓起)创办全国青少年计算机程序设计竞赛,即全国青少年信息学奥林匹克竞赛,是国内包括港澳在内的省级代表队最⾼⽔平的⼤赛。
NOI 全国青少年信息学奥林匹克竞赛
图标
NOIP:中国计算机学会于1995年创办全国青少年信息学奥林匹克联赛。NOIP在同⼀时间、不同地点以各省市为单位由特派员组织。全国统⼀⼤纲、统⼀试卷,初、⾼中或其他中等专业学校的学⽣可报名参加。联赛分初赛和复赛,初赛考察通⽤和实⽤的计算机科学知识,以笔试为主。复赛为程序设计,须在计算机上调试完成。参加初赛者须达到⼀定分数线后才有资格参加复赛。联赛分普及组和提⾼组两个组别,难度不同,分别⾯向初中和⾼中阶段的学⽣。
从2005年开始,NOIP不再⽀持Basic;从2022年开始,不再⽀持Pascal。
选⼿进⼊考场时,只许携带笔、橡⽪等⾮电⼦⽂具⼊场。禁⽌携带任何电⼦产品或机器设备⼊场,⽆存储功能的⼿表除外;⼿机(关机)、U盘或移动硬盘、键盘、⿏标、闹钟、计算器、书籍、草稿纸及背包等物品必须存放在考场外。如有违规带⼊的,⼀经发现,NOI各省特派员可直接取消违规选⼿的参赛资格。
CCSP:⼤学⽣计算机系统与程序设计竞赛,由中国计算机学会(CCF)于2016年发起的⼀个⾯向⼤学⽣的竞赛,每年举办⼀次,考察的是算法、编程以及计算机系统设计能⼒,旨在进⼀步提⾼计算机教育质量,使学⽣通过竞赛进⼀步学习和掌握计算机系统知识,同时对⾼校计算机教育产⽣引领作⽤。
CCSP⾸页
CSP:中国计算机学会于2014年推出CCF计算机软件能⼒认证,该项认证重点考察软件开发者实际编程能⼒,由中国计算机学会统⼀命题、统⼀评测,委托各地设⽴的考试机构进⾏认证考试。该项认证每年⼤约3、9、12⽉各举办⼀次。认证者不限年龄,不限学历,不限报考次数,不限国籍 ,在报名官⽹注册账户后均可报名参加认证。语⾔:C/C++(Dev-CPP 5.4.0 (Min GW 4.7.2)),Java(Eclipse (Java SDK 1.7.0_15)),Python(3.6.5) 浏览器:Chrome
CCF计算机职业资格认证管理系统
CSP认证考试可以带纸质资料进⼊考场,不过只能是常⽤语⾔的程序设计基础书、数据结构的相关书籍。不允许U盘、⼿机等电⼦设备进⼊考场。
CSP-S/J:认证开始15分钟后,认证者不能再进⼊认证点。如有认证者提前离开认证点,除⾝体特别原因外,须在认证进⾏2⼩时后⽅可准予离开。在第⼀轮认证期间,任何⼈不得将试卷携带出考场。认证者进⼊考场时,监考检查认证者携带物品。认证者只许携带笔、橡⽪等⾮电⼦⽂具⼊场。禁⽌携带任何电⼦产品或机器设备⼊场,⽆存储功能的⼿表除外;⼿机(关机)、U盘或移动硬盘、键盘、⿏标、闹钟、计算器、书籍、草稿纸及背包等物品必须存放在考场外。如有违规带⼊的,⼀经发现,CSP-J/S认证总负责⼈可直接取消违规认证者的参加资格。
⼆、语⾔(NOIP2017、2018提⾼组)
程序设计语⾔⼀般分为机器语⾔、汇编语⾔和⾼级语⾔三⼤类,机器语⾔和汇编语⾔都是低级语⾔,⾼级语⾔⼜称算法语⾔。
机器语⾔:由0和1的不同组合所形成的可为计算机直接识别和执⾏的⼆进制指令代码的集合,是⾯向机器的程序设计语⾔。机器语⾔程序占⽤内存少、执⾏效率⾼,但编程⼯作量⼤,容易出错;依赖具体的计算机体系,因⽽程序的通⽤性、移植性都很差。 速度最快
汇编语⾔:使⽤助记符和有关符合编写的程序称为汇编语⾔程序,⽐机器语⾔更加直观,每⼀条⽤符号来表⽰的汇编指令都与⼀条计算机机器指令对应,是⾯向机器的程序设计语⾔。汇编语⾔的出现⼤⼤降低了记忆难度,占⽤内存较少,运⾏效率较⾼,不仅便于检查和修改程序错误,⽽且指令、数据的存放位置可以由计算机⾃动分配,但对于计算机CPU及其外围硬件设备具有很⼤的依赖性,程序员需要⼗分熟悉计算机系统的硬件结构。⽤汇编语⾔编写的程序称为源程序,计算机不能直接识别和处理源程序,必须通过某种⽅法将它翻译成为计算机能够理解并执⾏的机器语⾔,执⾏这个翻译⼯作的程序称为汇编程序。 速度快
⾼级语⾔:⼈⼯设计的语⾔,对具体的算法进⾏描述,所以⼜称为算法语⾔。⾼级语⾔独⽴于计算机的硬件(即与具体的硬件⽆关),相对于低级语⾔更容易实现跨平台的移植。 速度慢
结构化语⾔:代码和数据分离,专门描述⼀个功能单元逻辑要求。它不同于⾃然语⾔,也区别于任何特定的程序语⾔(如VB、VC 等),是⼀种介于两者之间的语⾔。结构化描述语⾔⼀般采⽤英语,既有⾃然语⾔灵活性强、表达丰富的特点,⼜清晰易读和逻辑严密,还是⼀种⽤于数据库查询和编程的语⾔,已经成为关系型数据库普遍使⽤的标准,对程序设计和数据库的维护都带来了极⼤的⽅便,⼴泛地应⽤于各种数据查询。
Pascal:语法严谨,层次分明,程序易写,可读性强,是第⼀个结构化编程语⾔。它基于ALGOL编程语⾔,是⾯向过程的编译型语⾔程序语⾔。
C:结构化编译型编程语⾔,具有变量作⽤域以及递归功能的过程式语⾔,是⾯向过程、抽象化的通⽤程序设计语⾔,⼴泛应⽤于底层开发。C语⾔具有⾼效、灵活、功能丰富、表达⼒强和较⾼的可移植性等特点,在程序设计中备受青睐。C语⾔的设计影响了众多后来的编程语⾔,例如C++、Java、C#等。
⾯向对象语⾔:以对象作为基本程序结构单位,⽤于描述的设计是以对象为核⼼,⽽对象是程序运⾏时刻的基本成分。语⾔中提供了类、继承等成分,类、对象的思想实现程序共享,适合⼤型程序。Simula是第⼀个⾯向对象语⾔。
VB(Visual Basic):Microsoft开发的⼀种通⽤的结构化的、模块化的、⾯向对象的、包含协助开发环境的事件驱动为机制的可视化混合型(侧重于解释)程序设计语⾔,是⼀种可⽤于微软⾃家产品开发的语⾔。
C++:⾯向对象的编译型程序设计语⾔,最初它被称作“C with Classes”(包含类的C语⾔),是C语⾔的继承,进⼀步扩充和完善了C 语⾔。它是⼀种静态数据类型检查的、⽀持多重编程范式的通⽤程序设计语⾔,⽀持过程化程序设计、数据抽象、⾯向对象程序设计、泛型程序设计等多种程序设计风格。程序设计语言一般可分为三大类
Java:跨平台、分布式、多线索、⾯向对象的混合型(侧重于解释)程序设计语⾔,是⼀种先编译后
解释的语⾔,所以它不如全编译性语⾔快。许多的Android应⽤都是Java程序员开发者开发,Java还⼴泛应⽤于企业级Web应⽤开发和移动应⽤开发。
解释语⾔:应⽤程序源代码⼀边由相应语⾔的解释器“翻译”成⽬标代码(机器语⾔),⼀边执⾏,每条语⾔只有在执⾏才被翻译,每执⾏⼀次就翻译⼀次,因此效率⽐较低,⽽且不能⽣成可独⽴执⾏的可执⾏⽂件 。解释程序的优点是当语句出现语法错误时,可以⽴即引起程序员注意,⽽程序员在程序开发期间就能进⾏校正。⼀般地来说,如果你听别⼈说到动态语⾔,⼤多都是指解释型语⾔。eg.Python
编译语⾔:编译是指在应⽤源程序执⾏之前,就将程序源代码“翻译”成⽬标代码 (机器语⾔),因此其⽬标程序可以脱离其语⾔环境独⽴执⾏,使⽤⽐较⽅便、效率较⾼ 。Java 程序需要编译,但是没有直接编译成为机器语⾔,⽽是编译成为字节码,然后在 Java 虚拟机上⽤解释⽅式执⾏字节码。这种运⾏⽅式带来了⼀些优势,但同时直接导致了复杂的环境、不算很⾼的效率和很多的争议。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。