CSP初赛知识点讲解(一)

信息学竞赛

全国青少年计算机程序设计竞赛(NOI)是从1984年开始的。 CCF CSP非专业级别的软件能力认证(CSP-JS)是从2019年开始的。 NOI系列赛事从2022年开始只能使用**C++**语言

哈夫曼树

带权路径最短的二叉树,又称最优二叉树,其树中的结点只有叶 子结点和度数为2的结点。哈夫曼树的构建采用了贪心的原理。

哈夫曼编码

哈夫曼编码原理和合并果子类似,每次选择两个最小的节点合并, 合并成一个新的节点,然后继续选择当前最小的两个结点合并, 直到合并成一个结点为止。 连接左儿子的边记为0,连接右儿子的边记为1,这样从根节点到 任意一个结点就得到了一串01编码(对于任意一个结点左右儿子的 编码可以交换)。 通过这种方式构造的树,离根节点越近的边是被访问频率越高的 点,离根节点远的点是访问频率低的点,这也是电脑上的压缩软 件的压缩原理

冯.诺依曼理论

计算机硬件设备由存储器,运算器,控制器,输入设备,输出设备5个部分组成。CPU既是运算器又是控制器。 存储器 存储器分为主存储器(内存)和辅助存储器(外存),主存储器是临 时存储器,辅助存储器是永久存储器。内存存取速度快,容量小, 内存分为ROM,RAM,cache,其中cache(高速缓存)读取速度最快, 最接近CPU。寄存器在CPU中,所以寄存器的速度最快。

外存 → \rightarrow 内存(RAM) → \rightarrow cache → \rightarrow CPU

计算机奖项

属于计算机科学领域的奖项有图灵奖,王选奖,图灵奖被称为 “计算机界的诺贝尔奖”,是美国计算机协会(ACM)为了纪念**英国人“艾伦.麦席森.图灵”**所创立的

例题训练(一)

  • 【NOIP2003】图灵(Alan Turing)是()。

    A.美国人 B.英国人 C.德国人 D.匈牙利人 E.法国人

    答案:B

    题解:上文有讲述,图灵是英国人。

  • 【NOIP2004普及组】美籍匈牙利数学家冯•诺依曼对计算机科学发展 所做出的贡献是()。

    A.提出理想计算机的数学模型,成为计算机科学的理论基础。

    B.是世界上第一个编写计算机程序的人。

    C.提出存储程序工作原理,并设计出第一台具有存储程序功能的计算 机EDVAC。

    D.采用集成电路作为计算机的主要功能部件。

    E.指出计算机性能将以每两年翻一番的速度向前发展。

    答案:A

    题解:冯·诺伊曼是提出了计算机的模型,但是没有造出来真正的计算机

  • 【NOIP2006】在下面各世界顶级的奖项中,为计算机科学与技术领域作 出杰出贡献的科学家设立的奖项是

    A. 沃尔夫奖 B. 诺贝尔奖 C. 菲尔兹奖 D. 图灵奖 E.南丁格尔奖

    解析:D

    题解:略

操作系统

常见操作系统有Windows,Unix,Linux,Mac OS

软件分为系统软件和应用软件

计算机系统由硬件和软件两部分组成。硬件系统是计算 机的“躯干”,是物质基础。而软件系统则是建立在这个 “躯干”上的“灵魂”。
在这里插入图片描述

内存中含有很多存储单元,每个单元可以存放1个8位二进制数,即1个字节(B),1B(字节)=8b(位)

存储器的容量换算值为1024(210)

1KB=1024B 1MB=1024KB 1GB=1024M 1TB=1024GB

字长:字长是指一台计算机所能处理的二进制代码的位数。计算机的字长直接影响到它的精度、功能和速度

运算速度:运算速度是指计算机每秒钟所能执行的指令条数

主频:主频是指计算机CPU的时钟频率,它在很大程度上决定了计算机的 运算速度

例题训练(二)

  • 【NOIP1999】微机内的存储器的地址是以()编址的。

​ A.二进制位 B.字长 C.字节 D.微处理器的型号

​ 答案:B

​ 题解:字长表示一个存储单元由多少位二进制数组成,八位机的一个字长就 是一个字节,十六位机的一个字 长是两个字节,三十二位机的一个字长可以表 示四个字节。字节位的多少,表明可访问存储器的地址多少。

  • 【NOIP2000】某种计算机的内存容量是640K,这里的640K容量是指()个字节。

    A.640 B.640$\times 1000 C . 640 1000 C.640 1000C640\times 1024 D . 640 1024 D.640 1024D640\times 1024 1024 1024\times$1024

    答案:C

    题解:1KB=1024B,B为字节

  • 【NOIP2000】在外部设备中,绘图仪属于()。

    A.输入设备 B.输出设备 C.辅(外)存储器 D.主(内)存储器

    答案:B

    题解:绘图仪属于输出设备。输出设备是计算机系统的一部分,用于将处理过的信息从计算机传送到用户或其他设备。绘图仪通常用于绘制图形、图表、设计等,并将它们输出到纸张或其他媒介上,因此属于输出设备的范畴。

  • 【NOIP2000普及组】RAM 中的信息是()。

    A.生产厂家预先写入的

    B.计算机工作时随机写入的

    C.防止计算机病毒侵入所使用的

    D.专门用于计算机开机时自检用的

    答案:B

    题解:RAM表示的是读写存储器,可其中的任一存储单元进行读或写操作,计 算机关闭电源后其内的信息将不再保存。

  • 【NOIP2000】计算机主机是由CPU 与()构成的。

    A.控制器 B.运算器 C.输入、输出设备 D.内存储器

    答案:B

    题解:计算机主机由CPU和运算器构成。CPU负责控制整个计算机系统的运作,而运算器则负责执行实际的运算和逻辑操作。

  • 【NOIP2001】在计算机硬件系统中,cache是()存储器。

    A.只读  B.可编程只读 C.可擦除可编程只读 D.高速缓冲

    答案:D

    题解:Cache是一种高速缓存存储器,用于临时存储处理器频繁访问的数据,以提高数据访问速度。

  • 【NOIP2002提高组】微型计算机中,()的存取速度最快。

    A.高速缓存 B.外存储器 C.寄存器 D.内存储器

    答案:C

    题解:寄存器是微型计算机中存取速度最快的存储器,用于临时存储指令、数据等信息。

  • 【NOIP2003提高组】下列哪个不是个人计算机的硬件组成部分()。

    A.主板 B.虚拟内存 C.电源 D.总线

    答案:B

    题解:虚拟内存是指用外存(如硬盘)来模拟内存,是一种存储器管理的方 式,而不是硬件组成。

  • 【NOIP2007普及组】以下断电之后仍能保存数据的有()。

    A. 硬盘 B.高速缓存 C.显存 D. RAM

    答案:A

    题解:硬盘是用来存储计算机内部资料的硬件

计算机语言

计算机语言分为机器语言,汇编语言,高级语言,机器语言就是 计算机能直接识别的语言,又称二进制语言,是最早期的语言。 后面出现了汇编语言,不能被机器直接识别,必须要使用某种特 殊软件转换成机器语言,属于低级语言。现在人们常用的是高级语言,高级语言就是我们人们常用的语言,目前一般是英文。比 如现在常用的C++,C,pascal,VB这些都是高级语言。高级语言 需要用编译器转换之后才能被电脑识别。

程序设计语言可以分为两种,面向对象程序设计,面对过程程序设计。

注:面向对象可以理解成使用已经封装好了的函数进行编程,但是面对过程就需要自己写所有的函数

比如C++,C#,JAVA,python,VB是面向对象语言,面向过程的语言比较少,常见的就是C语言,Pascal。

除此之外,还可以分为编译性语言和解释性语言。

C,C++,Pascal都是编译性语言,修改源程序后必须要重新编译。

其他的ASP,PHP,python都是解释性语言

例题训练(三)

  • 【NOIP2004普及组】下列哪个程序设计语言不支持面向对象程序设计方法()。

    A. C++ B. Object Pascal C. C D. Smalltalk

    答案:C

    题解:C为面向过程不为面向对象,但是Object Pascal是在Pascal的基础上的扩展,增添了面向对象的特性

  • 【NOIP2002普及组】下列哪一种程序设计语言是解释执行的()。

    A.Pascal B.GWBASIC C.C++ D.C E. Java

    答案:B

    题解:可以直接排出A,C,D,其中的java为半解释半编译的语言,而GWBASIC是纯解释性语言

  • 【NOIP2006普及组】在下列关于计算机语言的说法中,不正确的是()。

    A. Pascal和C都是编译执行的高级语言

    B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上

    C. C++是历史上的第一个支持面向对象的计算机语言

    D. 与汇编语言相比,高级语言程序更容易阅读

    答案:C

    题解:历史上的第一个支持面向对象的计算机语言是Simula,他是在20世纪60年代末由挪威的Ole-Johan Dahl和Kristen Nygaard开发的,而C++是在20世纪80年代初由Bjarne Stroustrup在贝尔实验室开发的

  • 【NOIP2007普及组】在下列关于计算机语言的说法中,正确的有()。

    A. 高级语言比汇编语言更高级,是因为它的程序的运行效率更高

    B. 随着Pascal、C等高级语言的出现,机器语言和汇编语言已经退出了 历史舞台

    C. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计 算机上

    D. C是一种面向对象的高级计算机语言

    答案:C

    题解:高级语言比汇编语言更高级是因为他们是我们人们常用的语言;机器语言和汇编语言从来没有退出历史舞台,他们是计算机的基础;C是一种面向过程的高级计算机语言

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值