新闻中心

机器人编程跟数学的奇妙关系,看完这个你就知道了。

发布于:2020-04-24   热度:2069

相信大家近几年就有所耳闻,部分地区已经将编程题目放入高考数学题目中。

  那么,数学跟编程有什么关联?你清楚吗?

  学不好数学的孩子,是不是就不能学习编程?

  让我们一探编程跟数学的奇妙关系!

  历届高考出现的部分编程题目

  其实这些都是一些基础编题目,学过编程的学生基本是没什么难度的,但是没有编程思维的学生做起来可能会有些难度。

  当高考题目以编程的方式去解决。

  很多人一看到编程题目就感觉是在看天书,更不要谈如何去理解题目的含义了。

  所以很多人都会有这样的想法,数学学不好的人不应该去学习编程。其实恰恰相反,编程和数学之间有很多奇妙的联系。甚至有一些教育专家认为,数学学不好的孩子,通过接触编程学习,有利于数学的进步。

  >>>>

  首先我们看看以下这道小学很常见的数学题目

  请你算出

  从1 2 3 4...... 100=?

  很多学生可能会一开始只想到费劲地一个个去加,但仔细观察我们其实可以发现一个更加快速的方法:首尾两两配对!

  1 100=101

  2 99=101

  ......

  一共有50对,那么就是101X50=5050

  【其实,学过编程的孩子就知道,这就是编程思维中的拆分和模式识别。】

  拆分(decomposition):把一个复杂的大问题,拆解成容易理解的小步骤。拆分问题有一个需要注意的,那就是要注重小步骤要可执行。

  模式识别(pattern recognition):找出相似模式,更高效地解决所有问题。

  更通俗地讲:如果让你画出100个乐贝塔吉祥物,为了更高效率高质量地完成,你肯定是先找出吉祥物的“模式”,它的头,躯干,四肢等基本元素,再改变不同的局部特征即可。

  这种思维,也应用于最近十分火热的“机器学习”!

  当你接触到这两种思考方法,以上的题目,还会做不出来或者很难做吗?

  而编程的思维方式不止这两个,编程是为解决实际问题而生的,它的步骤可以简单地理解为:理解问题再解决问题。

  具体分为四个步骤:拆分-模式识别-抽象-算法。

  抽象(abstraction):学会聚焦最重要的内容,忽略一些无用的细节。

  算法(algorithms):设计可执行的解决步骤,解决问题。

  所以呢,编程思维并不是编写程序的思维,实际上是解决问题的思维。

  数学思维:数学思维是指够用数学的观点去思考问题和解决问题的能力。我国初、高中数学教学课程标准中都明确指出,思维能力主要是指:会观察、实验、比较、猜想、分析、综合、抽象和概括。

  数学,就是关于数和空间的学问,减乘除、平方三次方、指数对数、微分积分、函数等等,给你已知,求解未知。

  解决数学问题就一定离不开——公式以及定理,简单的,复杂的,都是如此。

  但是,却有很多的小学生基本都是死记硬背数学公式和概念,解题的时候也是生搬硬套,这也是为什么做了一道题却不会另一道同题型的题目。

  这样学数学,难度大,更容易让孩子失去对数学的学习兴趣和动力!

  其实编程思维和数学思维的关系

  可以用四个字总结!

  【你中有我,我中有你】

  编程有利于更好地理解抽象的数学问题 

  编程可以将很难的问题化为可视的,会动的画面。这就弥补了数学概念的抽象化。很多数学的概念,原理,公式,函数都可以用编程在电脑上体现出来!

  编程跟数学所要求跟提升的能力极具相通性。

  比尔盖茨曾说:学习编程可以锻炼你的思维,帮助你更好地思考,创建一种我认为在各领域都非常有用的思维方式。要去理解一些比较难的数学算法的时候,没有一定的逻辑思维基础,很容易陷入困惑。那么反过来说,在学习编程跟数学的过程中,其实也是在锻炼跟提升自己的逻辑思维。

  所以,其实编程是可以帮助强化数学思维的。

  因此,不要再说数学不好的孩子不能学习编程了。相反,当孩子在学习数学时遇到困难时,何不尝试着让孩子接触编程,学会将抽象的问题运用可理解可执行的编程思维,去解决。

  孩子们用编写程序解决问题的过程中,计算机是可以直观、具象化演绎数学问题的应用过程的,孩子在这个过程中会从原理和本质上把数学概念吃透,这种情况下的孩子对数学概念的理解完全不同。

  我们经常会听到一些家长说,编程属于理科性的东西,就好像有很多同学不理解,为什么文科生也要学习数学。其实早在美国2006年,编程已经开始变成和读写、数学、科学并列的学生核心能力。因为,学编程的核心,不是学计算机语言,而是学一种解决问题的思维方式。