当前位置:   article > 正文

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

算法创意实践挑战赛:c++编程
一、 比赛简介
国务院发布《国务院关于印发新一代人工智能发展规划的通
知》,明确实施全民智能教育项目。教育部印发《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”。

 

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号