【2024 信息素养大赛c++模拟题】算法创意实践挑战赛(基于 C++)

CSDN 2024-07-31 12:05:03 阅读 81

一、 比赛简介

国务院发布《国务院关于印发新一代人工智能发展规划的通

知》,明确实施全民智能教育项目。教育部印发《2019 年教育信息

化和网络安全工作要点》,推动在中小学阶段设置人工智能相关课

程,逐步推广编程教育。本赛项是在贯彻落实中小学生核心素养教

育基础上,通过竞赛方式,提升中小学生创新创造能力、探究协作

能力、动手实践能力和解决问题能力。

本竞赛项目要求参赛选手在 C++软件编程环境下,通过赛题分

析、程序设计、创意实现,完成比赛目标。

特别声明:

根据 2022 年 3 月教育部等四部门印发《面向中小学

生的全国性竞赛活动管理办法》,本竞赛项目与任何培训服务、商品

销售、升学促进、等级考试、食宿旅行等活动无关,赛事组织单位

不面向本竞赛项目收取任何费用。欢迎社会监督。

二、 比赛主题

比赛主题为“算法创想,科技创新”。

三、 比赛内容

(一)通用内容

比赛过程将全面检验参赛选手基于 C++软件编程语言的技术实

现能力,鼓励参赛者动手创造,提升中小学生创新创造能力、探究

协作能力、动手实践能力和解决问题能力

【小学组】

-2-

程序基础

 

顺序结构:理解程序流程、基本输入输出。

分支结构:if 条件句、简单逻辑运算。

循环结构:for 循环、while 循环来解决重复任务。

 

数组:使用数组存储和访问数据集合。

 

字符串:字符串操作基础,如连接、搜索字符等。

数理知识

 

代数: 整式加减乘除运算。

几何: 了解坐标系内点和线段表示方法。

 

函数: 认识一次函数及其图像。

算法

 

模拟:按照题目描述直接实现功能。

枚举:使用 loops 穷举可能性来找到答案。

【初中组】

程序基础

上述内容加深:

 

分支结构与循环结构涉及更复杂逻辑判断与嵌套使用;

 

数组进阶应用如多维数组;

 

字符串处理进阶,包括子串提取等高级操作;

-3-

u

结构体定义与使用;

多关键字排序以及去重排序技巧;

 

自定义函数以及递归调用概念强化;

文件操作入门。

数据结构

 

set/map/pair: 掌握关联容器 set/map 以及数据对 pair;

 

栈/队列: 使用标准库中 stack/queue 完成特定任务;

 

链表: 基本链表节点创建与遍历;

数理知识(在小学组已有基础上增加)

 

函数: 包括二次函数和反比例函数;

方程: 解二次方程以及方程应用问题;– 组合计数初步了解

排列组合概念.

算法

在模拟和枚举之外增加:

高精度操作入门;

 

分治思想;

 

贪心算法简单应用;

 

排序算法包含但不限于归并排序与快速排序;

(二)分级/分组内容

1.本赛项晋级过程包括初赛(在线预选赛)、复赛(地区选拔

赛)和决赛(全国总决赛)三个级别。

2.选手报名组别按参赛选手在读学段分为小学组(全年级)、初

中组。

3.本赛项以个人形式报名

四、 比赛规则和得分

(一)比赛规则

1.本次比赛的原则为非禁止即许可;

2.比赛要求参赛选手在规定的平台使用编码的方式,完成赛事

中的指定题目;

3.现场提前完成比赛的选手可提前离场;

4.每个参赛选手只有一次比赛机会,规定时间未进场的个人视

同放弃;

5.比赛准备阶段要求参赛选手可用于调试代码生成器,但不予

许提前编辑程序;

6.比赛阶段,待裁判发出指令后,参赛选手开始编写代码;

7.比赛期间,参赛选手不得离开参赛区;

8.比赛阶段,参赛选手不得抄袭他人、不得作弊、不得直接与

其他参赛选手的电脑直接接触、如有发现该选手计 0 分;

9.比赛过程中,不得采用恶意手段干扰其他参赛选手的编程过

程,一经发现,勒令退赛;

参赛技术要求

(一)初赛

自备电脑。电脑操作系统:Mac OS、Win 10 或以上操作系统;

浏览器采用谷歌浏览器(69.0 版本以上)、firefox,IE11 以上,

推荐使用谷歌浏览器。

(二)复赛和决赛

复赛:自备电脑或使用大赛组委会统一提供的电脑。电脑操作

系统:Mac OS、Win 10 或以上操作系统; 浏览器采用谷歌浏览器

(69.0 版本以上)、firefox,IE11 以上, 推荐使用 Chrome。

.

初赛样题示例

一、 小学组

(一) 单选题

1、下列代码,能够输出 hello world 的是_____

A. cout (hello world)

B. cout << hello world

C. cout:hello world

D. cout << "hello world";

2、在 C++中,可以存储浮点数 35.16 的数据类型是

_____

A. double

B. int

C. long long

D. bool

3、在 C++程序中,8 % 2 的结果是_____

A. 2

B. 4

C. 1

D. 0

4、下列输出结果为 7 的语句是_____

A. cout << 3 + 4;

B. cout << "3 + 4";

C. cout << 3 * 4;

D. cout >> 2 + 5;

5、在 C++语言中,表示大于等于的运算符是____

A. <=

B. <

C. >

D. >=

(二) 判断题

1、在 C++语言中,一个程序只能有一个 main 函数。

2、在 C++语言中,变量可以命名为 9_num。

3、在 C++语言中,可以使用 int 类型存储 5.1478。

4、在 C++语言中,/运算符可以用来求两个数的余数。

5、在 C++语言中,逻辑运算符&&表示逻辑与,只有两

个操作数都为真时才返回真。

二、 初中组

(一) 单选题

1、现有数组定义为 int array[5] = {1};,数组 array

中的元素分别是_____

A. 1 2 3 4 5

B. 0 0 0 0 1

C. 0 0 0 0 0

D. 1 0 0 0 0

2、在 C++语言中,下列符合数组命名规则的是_____

A.9n

B. cnt6

C. a_1#

D. %d

3、在 C++语言中,想定义一个可以存储 8 个元素的数

组,数组长度最少应该为_____

A. 5

B. 6

C. 7

D. 8

4、在 C++程序中,可以将一个两位整数的个位数提取

出来的表达式是____

A. num / 10

B. num % 10

C. num / 10 % 10

D. num % 10 / 10

5、以下结果为 true 的表达式是____

A.!( 1 && 0) && 1 < 0

B.(!0 && 1) < 7 || 6 < 7

C.!1 || 0 > 1

D.1 >= !6 && 0 < !1

(二) 判断题

1、在 C++语言中,逻辑运算符||表示逻辑或,只有两

个操作数都为真时才返回真。

2、int a[4] = {11,22,33},输出 a[1]结果为 11 。

3、在 C++语言中,二维数组的行下标从 0 开始,列下

标从 1 开始。

4、若 int a[5] = {1,2,3,4,5},则 a[a[2]]的值为

0。

5、double a[100];数组 a 中最多可以存储 100 个浮点

数。

1. 以下不属于计算机输入设备的有(   )。A.键盘

B.音箱C.鼠标D.传感器

2. 计算机系统中存储的基本单位用 B 来表示,它代表的是(   )。

A. Byte

B. Block

C. Bulk

D. Bit

3. 常量 7.0 的数据类型是()。

A. double

B. float

C. void

D. int

4.  下列关于 C++语言的叙述,不正确的是()。

A. 变量定义时可以不初始化

B. 变量被赋值之后的类型不变

C. 变量没有定义也能够使用

D. 变量名必须是合法的标识符

5.  以下不可以作为 C++标识符的是()。

A. x321

B. 0x321

C. x321_

D. _x321

6.  以下哪个不是 C++语言的关键字?

A. int

B. for

C. do

D. cout

7. 如果 a、b 和 c 都是 int 类型的变量,下列哪个语句不符合 C++语法?

A. c = a + b;

B. c += a + b;

C. c = a = b;

D.  c  =  a  ++  b;

8. 如果用两个 int 类型的变量 a 和 b 分别表达长方形的长和宽,则下列哪个表达式不能用来计算长方形的周长?

A. a + b * 2

B. 2 * a + 2 * b

C.  a  +  b  +  a  +  b

D.  b  +  a  *  2  +  b

9. 表达式((3 == 0) + 'A' + 1 + 3.0)的结果类型为()。

A. double

B. int

C. char

D. bool

10. 如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a *= 3;之后,a 的值会是()。

A. 3

B. 6

C. 9

D. 18

11. 如果 a 和 b 均为 int 类型的变量,下列表达式不能正确判断“a 等于 0 且 b

等于 0”的是()

A.  (a  ==  0)  &&  (b  ==  0)

B.  (a  ==  b  ==  0)

C. (!a) && (!b)

D.  (a  ==  0)  +  (b  ==  0)  ==  2

12. 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于a 且是 4 的倍数”的整数中最小的?

A. a * 4

B. a / 4 * 4

C. (a + 3) / 4 * 4

D.  a  -  a  %  4  +  4

13. 在下列代码的横线处填写(),可以使得输出是“20 10”。

 

A. i++

B. i *= 2

C. i += 2

D. i * 2

15.  执行以下 C++语言程序后,输出结果是()。

A. 210

B. 113

C. 98

D. 15

1. 在 Windows 系统中通过键盘完成对选定文本移动的按键组合是先 Ctrl+X,

移动到目标位置后按 Ctrl+V。

2.  程序员用 C、C++、Python、Scratch 等编写的程序能在  CPU  上直接执行。

3.  在 C++语言中,注释不宜写得过多,否则会使得程序运行速度变慢。

4.  在 C++语言中,标识符中可以有数字,但不能以数字开头。

5. '3'是一个 int 类型常量。

A.  a  +  b

B. (a + b) * 100

C. b * 100 + a

D.  a  *  100  +  b

14. 在下列代码的横线处填写(),可以使得输出是“1248”。

 

 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。