蟒蛇

注册

 

发新话题 回复该主题

学Python编程为什么会对学好数学有帮 [复制链接]

1#
北京白癜风哪个医院治得好 http://pf.39.net/bdfyy/bdfzj/

Python编程和数学有什么关系呢?Python的起源是怎样的呢?

我们先来简单认识一下Python,和Python交个朋友。

Python的全拼是P—Y—T—H—O—N,发音是Python,汉语解释是蟒蛇的意思。

我们再来看Python的图标,下图Python的图标,Python的图标看上去也是蛇。

同学们可能会感到比较奇怪,Python是一门编程语言,编程语言和蟒蛇有什么关系呢?

把编程语言和蟒蛇联系起来的是荷兰人吉多·范罗苏姆,英文读音是GuidovanRossum,他是一名计算机程序员。

在年的圣诞期间,吉多休假在家,吉多不是一个可以闲得住的人。他一直在考虑如何对ABC语言进行改进,ABC语言是由荷兰数学与计算机科学国家研究所研制的编程语言,它主要用于编程教学使用,吉多想对ABC语言进行改进,改进的语言不但能用于教学,而且可以用于应用开发。

于是他在年开始编写Python语言。到年第一个Python解释器诞生,吉多整整用了两年左右的时间研发Python语言。

对外发布新的编程语言,需要给编程语言起个名称,当时吉多迷上了英国肥皂剧《MontyPython飞行马戏团》,他就从这个肥皂剧的名称中选择了Python。MontyPython是英国六人喜剧团体,他们制作的肥皂剧在七、八十年代特别受欢迎,吸引了众多的粉丝,吉多就是其中的粉丝之一。因此,新的编程语言被吉多命名为Python,也就不足为怪了。

下图是MontyPython飞行马戏团的海报。

前面我们知道了Python的创始人是荷兰人吉多·范罗苏姆,Python语言是在ABC语言的基础上创建的新的编程语言,由此可见Python语言本身就与数学密切相关。

我们再来看一看编程与数学的关系。

1、数值计算与编程

同学们现在接触最多的数学知识就是四则运算,四则运算也称为数值计算,不过同学们现在接触的都是简单的数值计算,很容易利用笔算或口算来完成数值计算。

复杂的数值计算包括解多元方程组、积分、微分等运算,这些复杂的数值计算,同学们在高中和大学才能接触到。这类复杂计算有时依靠人的脑力很难计算,需要借助于计算机并编写计算程序才能完成,一些运算量比较大的简单四则运算也需要借助程序来完成运算。

下面我们来看一个随着n的增大,运算量越来越大的四则运算。

现在我们做个简单的乘法运算,我们先从2开始:

先做2X1运算,运算的值是2;

再做3X2X1运算,运算的值是6;

继续做4X3X2X1运算,运算的值是24;

再做5X4X3X2X1运算,运算的值是;

一直到nX(n-1)X(n-2)X3X2X1的运算,这里的n是指自然数1、2、3、4、5、6、……

类似上面的运算也称为阶乘运算,阶乘运算是所有小于及等于该数的自然数的积。例如自然数6的阶乘运算是/p>

6X5X4X3X2X1=

当n的值超过20时,依靠人力运算已经很困难了,这时就需要借助计算机程序来完成运算了。

下面的Python代码用于求阶乘运算,factorial(n)是求阶乘运算的函数,n是要求阶乘的自然数,n是指自然数1、2、3、4、5、6、……。

同学们可以先不用理解这段代码及factorial(n)函数,在后面的课程我们会详细讲述,在这里主要是理解用编程来实现数值计算的意义。

deffactorial(n)ac=1foriinrange(1,n+1)ac=fac*ireturnfac

下图是在PythonShell窗口编写的factorial(n)函数代码,并利用factorial(n)函数分别计算了自然数6、10、20、的阶乘。从计算结果可以看出,20的阶乘计算结果已经是天文数了,的阶乘结果有上百位数,是一个非常大、非常大的数了。可见,复杂的数值计算或运算量很大的数值计算都需要通过编写计算机程序来完成计算。

2、数学模型与编程

同学们有没有想过,我们为什么要学习数学,学习数学的目的是什么呢?

学习数学仅仅是为了认识数字,会写会算吗?我相信大多数同学不会赞同我的回答。我们学习数学不只是要认识数字,会写会算,还要能通过学过的数学知识解决现实中存在的问题,将现实生活中的问题转化为数学问题并予以解决。

这就要求对现实生活中的问题进行数学建模,并验证模型的正确性。数学模型的实现与验证一般都是通过计算机编程来实现。

一个完整的数学建模过程主要有三部分组成:

1、用适当的方法对实际问题进行描述;

2、采用各种数学和计算机手段求解模型;

3、验证模型运行的正确性。

同学们来看一个简单的数学建模案例。

问题描述:给出任意一个年份,如年、年等,判断出该年份是否是闰年?

要解决这个问题,首先要找出年份与闰年的规律,即年份与闰年有什么规律可遵循,然后将规律转换为数学模型。规律已经被总结出来:一是年份可以被整除的是闰年;二是年份被4整除但不能被整除的是闰年。这就建立了数学模型,也就是求解模型。

有了数学模型,我们就可以利用数学模型来求解问题,也就是验证模型的正确性。

例如,我们来判断年是否是闰年,根据判断闰年的数学模型,首先判断是否能被整除,不能被整除。再判断是否能被4整除,并且不能被整除,我们发现既能被整除,并且不能被整除,因此是闰年。

如果每次都需要人工运算,就比较麻烦了,可以通过编写程序来求解模型。

下面就是根据判断闰年的数学模型编写的Python代码,同学们现在暂时可以先不用理解代这段代码。

defleapyear(year):ifyear%==0:return闰年elifyear%4==0andyear%!=0:return闰年return不是闰年

下图是在PythonShell窗口编写的leap(year)函数代码,并利用leap(year)函数分别判断年、年、年、年是否是闰年。

3、数学实验与编程

用编程可以求解数学模型,解决现实问题。同学们也可以通过编程建立数学实验,帮助同学们提高抽象思维和空间想象能力。

抽象能力和空间想象能力对学好数学非常重要,尤其对小学的同学们来说,是培养抽象能力和空间想象非常重要的阶段。

要提高抽象能力和空间想象能力,数学实验是很重要的方法。

例如:在我们不识数的时候,爸爸妈妈会让我们数指头,数苹果、数人数等等,这就是数学实验。通过数数我们逐渐理解了1、2、3、4、5、6等数字的概念,数字是个抽象的概念。说它抽象,是因为数字是看不见、摸不着的,虽然可以把数字的符号写在纸上,但这个数字符号并没有和我们所熟知的自然界的事物联系起来。

通过数数这个数学实验,同学们就会把数字符号和对应的几个苹果、几个手指、几个人等联系起来,也就自然理解了数字的概念。

现在不少初中要学的数学知识,已经提前渗透在了小学各个年级。例如:各类平面图形的认识、各类立体图形的认识、四边形的周长计算、旋转平移等,也会在这个阶段出现,这些数学知识都需要具备抽象思维和空间想象能力才能学好。

但在一些同学头脑当中,还根本没有建立起抽象思维和空间想象能力,这对于打好数学基础,进而在初中乃至高中学好数学,是十分不利的。

在这种情况下,数学实验就非常重要了。这是就需要借助计算机编程建立数学实验室,用图形、简单动画、计算过程步骤的展现来理解前面所说的数学知识。

给同学们看一个简单的物体平移的动画例子,来理解数学实验对学好数学的重要性。

笑脸当前在A点,现在让笑脸由A点移动到B点。通过动画,同学们很容易理解图形平移的概念。

这种图形的平移动画就是图形平移的数学实验。

同学们学会编程后,可以通过编程实现这样的动画,编写类似的数学实验。

编程是学好数学的重要工具

同学们,编程是学好数学的一个非常重要的工具。

通过编程可以提高人的逻辑思维和抽象思维,而逻辑思维和抽象思维是学好数学的前提。

同学们在学习数学的过程中,可以通过学到的编程知识,来求解和验证数学模型,也可以构建数学实验,将抽象的数学知识通过动画、图形展现出来,在感知和抽象中架起一座桥梁,用于更好地理解数学概念。

分享 转发
TOP
发新话题 回复该主题