搜索
热搜: NOIP OIer 神牛
查看: 368|回复: 0

学科融合 | 聊聊信息学中的数学思维!

[复制链接]

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2020-12-2 16:45:14 | 显示全部楼层 |阅读模式
要说起数学思想一直都是解决问题的关键,信息学竞赛的考核中也毫不例外。要说NOIP与数学的结合度,比如离散数学、线性代数、组合数学、组合几何、微积分、初等数论、代数数论、图论、射影几何、微积分、微分几何、拓扑学、机器学习等等……

集合
集合是一种不允许值重复的顺序数据结构。并且集合是由一组无需且唯一的项组成。集合最重要的应用之一是数据库,数据库是大多数程序的根基。集合被用于查询的设计和处理。当我们创建一条从关系型数据库中获取一个数据集合的查询语句时,使用的就是集合运算,并且数据库也会返回一个数据集合。当我们创建一条SQL查询命令时,可以指定是从表中获取全部数据还是获取其中的子集,也可以获取俩张表共有的数据,只存在于一张表中的数据(不存在另一张中),或者存在于俩张表内的数据。这些SQL领域的运算叫作联接,而SQL联接的基础就是集合的运算。
我们可以对集合进行如下的运算:
1、并集:对于给定的俩个集合,返回一个包含俩个集合中所有元素的新集合。
2、交集:对于给定的俩个集合,返回一个包含俩个集合中所有共有元素的新集合。
3、差集:对于给定的俩个集合,返回一个包含所有存在第一个集合且不存在第二个集合的元素的新集合。
4、子集:验证一个给定的集合是否是另一个集合的子集。

矩阵
在NOIP中,这里也可以叫做二维数组,可以做Hash用,判重剪枝记忆化xxxxx。还有就是图论中喜闻乐见的邻接矩阵,可以用来存图结构。高斯消元也要用矩阵搞...总之在数学里矩阵能做的,计算机基本都可以做到。
在实际的应用开发中,就是叫二维数组了,多用于图像处理,例如Android里的bitmap和某第三方库里的BitMatrix,都是图像处理使用的。

欧几里得算法
欧几里得算法(也称辗转相除法)是目前已知求最大公约数的最快通用算法,具有代码复杂度低、易理解、用途广等诸多优点,也是OI中不可或缺的的一种算法。欧几里得有个非常强的定理,即gcd(a,b)=gcd(b,amod b)(mod是取余,gcd是最大公约数,|是能整除)

费马小定理
对于任意互质的a,p(p为质数恒成立)
a^(p-1)≡1(mod p)
费马小定理是欧拉定理在p为质数时的推论,用于降低题目难度,竞赛中常见的质数998244353,1000000009

基础编程Scratch与数学学科的结合
Scratch是一个容易上手、深受学生喜爱的编程工具。它不仅仅可以促进学生对程序设计概念的了解与编程的兴趣,还对学生灵活运用数学知识以及帮助学生理解数学概念有着积极的意义。数学是计算机的基础,准确的说,计算机只不过是数学在特定领域的一种应用。
同样,在Scratch创作中,每一个作品也都与数学有着千丝万缕的联系。无论简单还是复杂的程序,其实背后都体现着数学问题和数学思想,通过开发和使用程序,我们可以直观形象,好玩易懂的理解数学知识,并领会数学的趣味和魅力。Scratch作为一个图形化的编程工具,八大类指令为学生创作提供了支持,其中每一类指令都离不开数学知识,比如简单的大小、角度、粗细值以外,还有逻辑运算,判断指令都与数学有关。与此同时,学生在创作的过程中通过编写脚本,潜移默化地加深了对数学知识的理解与掌握。
让孩子玩乐,因为孩子需要玩乐。教孩子创造,因为创造是最佳的玩乐。人们不大理解夜以继日编程,写作,摄影的工匠,也和埋头科研的教授不太熟,但是当孩子醉心于用积木搭建城堡,沉浸于用乐高制作小车,着迷于用Scratch编写有趣的系统时,无论是游戏还是动画,我们都可以感受到孩子散发的快乐和创造力。学习Scratch编程制作不是为了成为程序员,然而学会编程就能用编程学习更多的东西,如代数,几何,数学,动画,创作,系统构建等等。随着学生编程技能的提升,可以逐步展开Scratch与数学相结合的模式,像“猜数字”,“植树问题”,“鸡兔同笼”等数学问题都可以用Scratch解决。当学生们看到一个个数学问题被Scratch轻松解决时,会被Scratch的神奇所震惊,更进一步激发他们的学习热情。

素质教育已成大势所趋
大多数家长最关心的就是孩子的教育问题。在所有事情面前,孩子才永远是第一位。那么问题来了,我们应该怎样教育孩子?什么样的教育才是真正的素质教育?怎样才能兼顾素质教育和考试成绩?
很多家长在教育孩子的宗旨上都是让孩子在快乐和宽松的环境中成长,孩子的成绩不是唯一的目标,综合素质才是最重要的。但是在现实中却总是遇到了这样的尴尬问题:孩子懂得东西很多,但是对任何事物的理解都只停留在表面,也缺乏独立的思考。这就是所谓的知识面非常宽,学习的东西很多,但是杂而不精,涉猎面非常广但缺乏深入研究。如何处理好应试教育与素质教育的关系?是很多家长的困惑。
可如果一味追求知识的广博,牺牲了深度思考,这样的片面的素质教育还不如应试教育。如果没有深度思考、归纳总结以及提炼升华的能力,想获得高分实际上是不可能的。
但是让孩子增加知识面,广泛地吸取知识,只是素质教育的前提和基础。如果离开了深度思考,离开对问题的深入钻研,仅仅只具有广博的浅层知识是远远不够的,因此,要在孩子的兴趣基础上,引导孩子进行深度思考的过程必不可缺。

信息学引导孩子学会思考
在培养孩子的思维方式上,信息学奥赛也是有一定的帮助的。另外,在孩子有兴趣的基础上,早早接触编程,这样以后再面对问题时,孩子可以养成思考、并主动动手解决的好习惯。在信息学中竞赛中取得好成绩的学生是具有创新思维的典型代表,而信息学的学习过程会是学生创新思维快速提升的关键阶段。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

津ICP备19006949号-1 | 津公网安备12010102000465号

快速回复 返回顶部 返回列表