APP下载

以数学建模为核心算法设计教学中的计算思维实践

2017-09-07白珍王煜

中国信息技术教育 2017年16期
关键词:符号化数学计算落地

白珍+王煜

为了避免学生出现课上练习都会做、课后问题挠破头的现象,普通高中信息技术课程倡导将知识积累、技能培养与思维发展融入到运用数字化工具解决问题和完成任务的过程中,通过培养学生技术应用与问题解决之间的思维连接,引导学生学会分析问题、归纳问题,最终解决问题,而这一思维方式正是高中信息技术核心素养之一——计算思维。具备计算思维的学生,在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中。可见,建模是计算思维的核心之一。在算法设计中,常常接触到两种建模类型:一是数学计算范畴的问题,二是非数学计算范畴的问题。下面,笔者希望通过对数学计算与非数学计算范畴的两个算法设计案例的分析,帮助学生逐渐形成以信息技术的视角思考解决问题方案的思维模式,提升其利用信息技术解决问题的能力。

案例一:高空坠球——通过数学计算问题进行的计算思维培养

一球从100米高度自由落下,每次落地后又反弹回原高度的一半,再落下,求小球在第10次落地时,共经过多少米?第10次反弹有多高?

一般情况下,数学问题的算法设计只要找到相应的数学公式就能完成,而用计算机解题需要按照计算机处理问题的步骤进行。

第1步:用计算机可处理的方式界定问题,确认问题的可计算性。

学生面对数学问题一般会通过数学计算的方式(如等比数列等)思考和解答。对于这种情况,可启发学生进行如下思考:

①小球第一次落下100米,反弹100/2米,第二次落地后反弹100/4米……

那么,第i(反弹计数)次落地反弹高度=100/2^i。

②第一次落地经过的距离为100米,第二次落地经过的距离为100+2×100/2米……

那么,第i次落地时经过的距离=100+2×100/2+…+2×100/2^i。

通过对问题的简单推理,得到解决这个问题的一般规律,以及确认这个问题的可计算性。

第2步:抽象关键要素并符号化。

通过对解题一般规律的分析可以发现:解决高空坠球问题必须使用原始高度、反弹总次数、反弹计数、反弹高度以及经过距离5个重要要素,即关键要素。这5个要素的数据在解题过程中会随着实际情况而发生变化,因此需用变量表示,如表1所示。

第3步:建立各要素间的数学模型。

将符号化的关键要素带入到解决问题的一般规律中,建立如下解决实际问题的数学模型:

第i次落地的反弹高度:t=h/2^i;

第i次落地时经过的距离:s=s+2×t。

第4步:绘制流程图表述算法,并用程序实现。

数学模型建立后,根据解决问题的一般规律,进行算法设计,通过流程图或自然语言等方式表达,最终用程序实现(如图1)。

在数学问题案例分析过程中,学生容易混淆数学计算与算法设计的概念,需要帮助学生明确二者的区别:数学计算是针对某一个数学问题进行的一系列的数学运算过程,注重运算结果的正确性;而算法设计是针对同类问题的归纳性解决方案,注重问题的解决过程,不会由于初始数量的变化导致解决方案的变化。因此,数学计算与算法设计是单一问题的解决与同类问题解决方案的区别。

案例二:我是大侦探——通过非数学计算问题进行的计算思维培养

12月13日凌晨3:13,丹姆斯顿大街上的卡尔一家发生了命案,卡尔先生一家人无一幸免。警局接到报案后立即派人赶往现场,经过现场勘察、取样,确定为有人蓄意谋杀……经过多方取证,最后嫌疑犯锁定在卡尔先生的四名同事身上,经审讯得来的口供,警方确定四人中有一名嫌疑犯在说谎,而说谎的这个人就是杀害卡尔一家的凶手。四名嫌疑人(用甲、乙、丙、丁表示)的口供如下,请你判断找出,谁在说谎?

警官问:“12月13日下午15:00至16:00谁离开过办公室?”甲说:“不是我。”乙说:“是丙。”丙说:“是丁。”丁说:“不是我。”

非数学问题的算法设计在提取抽象特征和构建数学模型两方面都要难于数学问题。首先要将问题中的文字描述转化为数学表达;其次提取关键要素,通过数字或编码的方式将其符号化,即以某种数据类型如常量、变量、数组等方式表示,便于计算机处理;然后寻找关键要素间的关系,推理或归纳出数学模型;最终通过算法思想生成自动化的解决方案。具体操作步骤如下:

第1步:用计算机可处理的方式界定问题,确认问题的可计算性。

启发学生将文字描述转化为数学表达,得到解决问题的思路并确认这个问题的可计算性。

①如果是甲离开房间:

判断可得:甲—假、乙—假、丙—假、丁—真;

结论:共有3个人说谎,1人说真话,因此甲不是凶手。

②如果是乙离开房间:

判断可得:甲—真、乙—假、丙—假、丁—真;

结论:共有2个人说谎,2人说真话,因此乙不是凶手。

……

推论:当某人离开房间时,如果判断得到有3个人说真话,那么离开房间的这个人就是凶手。

第2步:抽象关键要素并符号化。

根据分析问题得到的推论,可知甲乙丙丁4人、离开房间的人以及每次判断后得到的说真话的人数是解决这个问题不可或缺的关键要素。其中,甲乙丙丁4人在参与问题解决过程中始终存在,并且要依次进行判断,可用常量(数字)表示;随着假设条件的不同,离开房间的人与每次判断得到的说真话的人数都会发生变化,这两个要素用变量表示(如上页表2)。

第3步:建立数学模型。

将符号化的关键要素带入到解决思路中,得到判断凶手的条件:

甲说:“不是我” (离开房间的人不是甲) i<>1;

乙说:“是丙” (离开房间的人是丙) i=3;

丙说:“是丁” (离开房间的人是丁) i=4;

丁说:“不是我” (离开房间的人不是丁) i<>4。

判斷以上4个条件,结果为真,则累计说真话的人数,k=k+1。

第4步:用自然语言表述算法,并用程序实现(如图2)。

猜你喜欢

符号化数学计算落地
小学数学教学中渗透“符号化”思想的实践研究
试析如何开展有效的数学计算教学
“511”教学模式对提高农村小学生数学计算能力的实践研究
利用迁移思维 提高小学数学计算课堂效率
小学数学计算易错题的千预和跟进分析
美联储加息终落地沪指冲高震荡走低
关于一阶逻辑命题符号化的思考
午后
合拍片《风筝》的跨文化传播
难忘落地大摆钟