APP下载

青少年编程和数学模型整合探究
——以Kitten源码编辑器实现“一元二次方程求根器”为例

2022-11-01甘肃省武威市凉州区长城镇九年制学校王建鹏

黑龙江教育(教育与教学) 2022年10期
关键词:判别式脚本一元二次方程

甘肃省武威市凉州区长城镇九年制学校 王建鹏

日常生活中我们常会听到“模型”,如航模、车模等,一些能直观看得见的模型,还有一类直观上看不到的模型,如在做一些重复性或解决一类特定问题时,用到的思想、方法等。日常生活中我们常会做一些重复性的工作或面对一类特定问题,在完成这些工作或解决这类问题时,都有一些固定的思路和方法。当我们理清工作思路、掌握解决问题的方法、确定主要影响因素后,通过建立模型并应用模型就可以大大提升工作效率。在初中数学教育教学中常会遇到一些数学模型,选择一款合适的青少年编程语言可以把模型中用到的思路、方法、式子转化为计算机中的程序指令,把直观看不见的数学模型转化为可视化、易操作的计算机程序。数学是一门基础性学科,有很多鲜活的数学模型实例为青少年编程提供了素材,编程和数学模型相整合将进一步助力数学的发展。

一、青少年编程简介

随着现代科学技术的高速发展,我们的生活中已经出现了很多智能化、智慧化的人工智能科技产品,人工智能已成为引领未来科技的新领域,计算机编程则是人类的思维和智慧向人工智能传递的桥梁。青少年的认知有限,计算机操作能力不强,对计算机编程缺乏基本的认识,直接学习C++、Python等高级程序语言会使他们对编程失去兴趣[1]。编程猫是一款专门针对4~16岁学龄儿童设计的编程套装,其中的Kitten源码编辑器中包含很多青少年看得懂的积木脚本和丰富的动画、声音、背景等资源。编程界面和积木脚本是全中文的,初学者只需要会简单的键盘操作,能输入字母、数字、汉字,用鼠标能进行单击和双击。当学习者做好编程准备,明确编程意图后,就可以很容易地用鼠标拖拽积木脚本块到脚本区搭建程序来实现编程的目的[2]。例如,要实现小车在公路上行驶的动态效果,同时键盘上的A键、D键能分别控制小车的左右移动。可以这样来设计编程策略:让小车静止不动,公路不停地向后移动,人的视觉效果就是小车在不停地向前行驶。然后把这一策略翻译成Kitten源码编辑器能听懂的语言,若把舞台看成一个坐标平面,在舞台区添加公路和小车两个角色,当开始被点击时,重复执行公路的纵坐标增加“-10”,横坐标不变,就可以实现公路在竖直方向向后移动,人的视觉效果为小车向前行驶。若要改变小车行驶速度,只需要改变公路纵坐标的增加值。要实现小车的左右移动,则需要保持纵坐标不变,使横坐标增加值为正数或负数就可以了。表1是实现上述效果的程序脚本。

表1 实现小车在公路上行驶的程序脚本

二、数学模型

数学模型是依托生产实践中事物的内在特性或数量关系,用数学符号、数学式子、图形等描述事物的客观本质,突出主要影响因素概括地或近似地表述出特性和数量关系的一种数学结构。数学模型包括数学中的各种概念、各种公式和各种定理、推理及专题。因为它们都是由现实世界的原型抽象出来的,从这意义上讲,整个数学也可以说是一门关于数学模型的科学。中学生接触的都是一些简单的数学模型,系统中各量之间的关系是不随时间的变化而变化的静态的数学模型,一般都用代数式、方程、图形来表达。例如,在行程问题中满足:路程=速度×时间,n 边形一共有条对角线,一元二次方程的求根公式等,这些都是简单的数学模型。数学模型可以很大,也可以很小,教师在教学中要善于引导学生发现和整理学习中遇到的数学模型。

三、编程在数学模型中的应用

在编程的过程中会涉及到很多数学方面的知识,要求学习者具备严谨的数学思维,编程是一种数学能力的综合展现和提升,编程和数学是密不可分的,它们有着非常相似的思维逻辑。数学知识是编程的基础,数学模型为编程提供了素材,编程可以巩固数学知识,升华数学知识[2]。编程可以将数学模型从纸面上的式子、图形转化成生活中的一个个实例,将理论转化成可见的程序演示效果,实现数学思维的可视化,将数学从抽象的公式转化成具体的实用工具,提高了运算效率及实用性。在Kitten源码编辑器编程平台上,很多积木脚本包含数学知识,如角色的长度、大小、旋转角度、方向、移动步数、画图等基础要素,还有三角函数、乘方、开方等数学运算知识。还有文字、语音的输入、输出、翻译等交互积木脚本。青少年在创作过程中,需要数学知识的支持,无形中对数学知识也是一个巩固和提升,实现了运算过程的可视化。例如,在勾股定理数学模型中,直角三角形两条直角边的平方和等于斜边的平方,即:a2+b2=c2(其中a、b为两条直角边,c为斜边),如图1是用勾股定理解决这类实际问题时,任何一个正方形的面积都可以分成两个小正方形的面积之和。按照这个思路,在Kitten源码编辑器编程平台上创建一个如图2所示的“勾股树”函数模块,参数为边长,用画笔积木块画出一个正方形,然后用计算机程序设计中常用的递归方式画出大正方形顶部左侧和右侧的小正方形,通过调整参数边长,就可以画出如图3中茂密程度不同的勾股树。

图1 勾股定理在求正方形面积中的应用

图2 绘制“勾股树”函数模块

图3 茂密程度不同的勾股树

四、编写“一元二次方程求根器”实例

(一)准备模型

初中数学中学到了一元二次方程,其一般形式是ax2+bx+c=0(a≠0),其中ax2是二次项,a是二次项系数;bx是一次项,b是一次项系数;c是常数项。若给a,b,c三个系数赋特定的实数值,那么一元二次方程也就随之确定。 如,把 1,2,3 分别赋给 a,b,c,就会得到一元二次方程x2+2x+3=0。用公式法解一元二次方程时,先要用根的判别式Δ=b2-4ac,判断一元二次方程根的情况,当Δ>0时,方程有两个不相等的实数根;当Δ=0时,方程有两个相等的实数根;当Δ<0时,方程没有实数根。当方程有实数根时,就可以直接用求根公式求出方程的根。上面提到的一般形式、根的判别式及求根公式都是用代数式表示的数学模型,也为青少年编程提供了素材,促进了学生对该内容的深度学习。为了能让学生理解创作“一元二次方程求根器”背景和意义,录制了一段微课,微课中讲解了一元二次方程的一般形式、根的判别式、求根公式,保证学生先能认识一元二次方程、明白根的判别式的作用。通过笔算会用求根公式求一元二次方程的根,并把微课放在了程序舞台界面,使用程序前先看微课,基本掌握一元二次方程的相关知识。

(二)从模型中的字母到程序中的变量

用字母的加、减、乘、除、乘方及开方等运算表示的式子称为代数式,代数式中的字母在初中数学中通常用实数给其赋值。针对上面代数式数学模型中提到的a,b,c三个系数,在编程时分别新建三个数值变量,当发出输入系数指令后,通过Kitten源码编辑器编程平台中的“询问”和“获得回答”两个积木脚本可以实现给三个系数赋值,同时再新建Δ、x1、x2三个变量,用来分别存储根的判别式的值和方程的根。在编程中新建变量的过程中,使学生体会到代数式的意义,感受到数学中字母、数字一般和特殊之间的关系,动和静之间的关系。

(三)从数学语言表示的式子到程序语言表示的积木脚本

在程序中给三个系数分别赋值后,依托Δ=b2-4ac用运算积木块中的各种运算关系给“Δ”赋值,积木脚本如图4所示。新建一个“根的情况”数据列表,用来打印输出结果。根的判别式是用来判断一元二次方程根的情况,当Δ>0时,方程有两个不相等的实数根;当Δ=0时,方程有两个相等的实数根;当Δ<0时,方程没有实数根。此时要用到控制积木块中的条件判断语句“如果”脚本积木。这样的“如果”条件语句要放置三层,在每一层“如果”条件语句中,分别把判断的结果通过“根的情况”数据列表打印出来。若方程有根,通过运算积木块中的脚本积木,编写出求根公式的程序脚本,并将值存储到“?”中,再通过数据列表打印出来。如图5所示为Δ>0时,“如果”条件语句中的程序脚本。

图4 根的判别式程序脚本

图5 Δ>0时,“如果”条件语句中的程序脚本

(四)验证程序

程序脚本编写完成之后,点击“讲解视频”按钮,学生可以观看一段微课,接着点击“输入系数”按钮,程序会自动提示依次输入三个系数,得出一个一元二次方程,在“根的情况”列表会打印出经过判断根的情况和具体的根,同时会语音播报打印的内容。若分别将1、4、-12赋值给三个系数,得到的一元二次方程为x2+4x-12=0,打印的内容如图6所示。“一元二次方程求根器”完整的编程策略如图7所示。

图6 输入系数1、4、-12后,根的情况数据列表打印内容

图7 “一元二次方程求根器”编程策略

数学模型是经过数学建模从实际生活中抽象出的数学结构,在产生的过程中经历了高度提炼和归纳,是数学深度学习的产物,其舍弃影响很小的因素,比较简化、规范化、程序化,逻辑关系较强,很容易编写为程序使其智能化。程序本身就源于0、1和建立的二进制数据结构抽象世界,编程是在这个抽象世界里解决抽象的数学问题,编程所用的一些算法常常应用于数学模型问题的解决,数学模型与编程有着相辅相成、互相促进的关系。研究数学模型有利于锻炼人的思维能力,对于编程是有利的,对于提高我们的编程水平,提高我们用计算机程序解决实际问题的能力是大有益处的[3]。

猜你喜欢

判别式脚本一元二次方程
酒驾
运用判别式解题时应避开的几个误区
判别式在不定方程中的应用
自动推送与网站匹配的脚本
分分钟,帮你梳理一元二次方程
例说“一元二次方程”在中考中的应用
中考里的“一元二次方程”
巧用一元二次方程的“B超单”
根的判别式应用“大超市”
愚公移山