当前位置:首页 » 《我的小黑屋》 » 正文

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

20 人参与  2024年05月26日 12:48  分类 : 《我的小黑屋》  评论

点击全文阅读


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

 

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/113825.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1