随着科学技术的发展,信息技术与人们的社会生活已经深度融合,物联网、云技术、人工智能等技术给人类社会带来了翻天覆地的变化,同时也带来了严峻的挑战。
信息学竞赛以算法和数据结构为核心,要求学生能运用数学知识构建模型,并采用计算机程序设计语言编写程序来解决实际问题。其主要内容包括计算机基础和编程语言基础、枚举算法、模拟问题求解、递推算法、递归算法、回溯算法、排序算法、高精度数值处理算法、查找算法、搜索算法、贪心策略、动态规划等。
本书面向零基础的信息学竞赛初学者,详尽讲解了程序的运行过程和算法的基础思想,帮助初学者完成从0到1的过程;以历年信息学竞赛真题为例,帮助初学者提升编程能力,使初学者形成计算思维,培养初学者良好的编程习惯,为后续进阶学习奠定扎实的基础。全书共分为6章,第1章为C++语言基础,主要讲解数据类型、变量、常量、数据溢出、数据的输入和输出等;第2章为程序设计结构,主要讲解顺序、分支和循环3大结构;第3章为数组和字符串,主要讲解C++的数组基础及字符串应用;第4章为函数和结构体,主要讲解自定义函数的使用、结构体的定义和应用;第5章为基础算法,主要讲解算法的描述方法,以及入门算法、递推和递归算法、排序算法和数值处理方法;第6章为进阶算法,主要讲解查找算法中的顺序查找和二分查找,搜索算法中的深度优先搜索和广度优先搜索,贪心策略的应用,动态规划方法的应用。
本书语言通俗,通过详尽的知识点和算法讲解,帮助初学者掌握信息学竞赛的基础知识和常用解题方法。
本书可作为师范类院校编程专业的教学用书,也可以作为中小学信息技术教师从事编程教育的培训用书,以及信息学竞赛初学者的入门教材。
由于编者水平有限,书中难免存在不足之处,敬请各位同行和读者批评、斧正。
本书免费提供教学大纲、教学课件、案例源代码、微课视频及思考练习参考答案,读者可扫下列二维码获取或学习。
教学大纲 教学课件 案例源代码 微课视频 思考练习参考答案
编 者
2022年5月