算 法 在 几 何 画 板 的 实 现
[摘要] 高中数学新增内容中引入了算法,也引入了几何画板这一数学软件的使用。本文详细介绍算法在几何画板中如何实现。
[关键词]算法、语句、参数、符号函数、迭代
广义地说,算法就是为解决问题而采取的一种方法和步骤,它是让计算机去自动进行的一种可行的,一步一步去实施的有穷操作过程。在信息化高度发达的今天,算法思想已成为现代人必备的一种数学素养。而几何画板是一种基于算法的,可以自定义规则的专门化的数学软件,能轻松地实现算法,检验算法,促进学生算法思想的形成,并能让学生借助于软件自主研究数学。那么,在几何画板应当如何去实行这个算法呢?本文就这一论题谈谈在几何画板中如何实现高中数学教材中提到的三种语句:赋值语句、条件语句、循环语句。
一、赋值语句的实现
几何画板中变量的赋值有两种方式。其一是依靠新建参数功能来实现,单击[图表]菜单——新建参数即可,如图
,以后可以通过双击参数来修改其值。其二是对一个对象进行度量(如度量一个点的横、纵坐标,线段的长度,图形的面积、体积,角的角度等)。
二、条件语句的实现
几何画板不是一种程序语言,没有相应的IF条件语句,
??1sgn?x???而是使用符号函数
?1就能轻松实现。
x?0x?0来替代IF条件语句,运用这一函数
?x2x?1y??例1、设计算法求
2x?1x?1?该算法的流程图为
y=2x-1 Y X<1 N y=x2 begin Input x Print y end 用心 爱心 专心
- 1 -
伪代码为 Input x
If x<1 then y=2x-1 Else y= x
EndIf
2
Print y
在几何画板中可轻松实现,并验证它。由于函数
1?sgn(x?1)21?sgn(x?1)2?1???0?0???1x?1x?1x?1x?1
所以构造函数y=f(x)=
1?sgn(x?1)22过新建参数而来,点[度量]菜单下的计算功能按钮可计算得出y的值。如x是通过X轴上
? x2+
1?sgn(x?1)?(2x-1) 如x通
动点的横坐标的度量来实现,y值的输出通过计算相应的函数值即可实现。如果再以x,y来绘制点(x,y),则让动点运动就可绘出相应函数的图象(点[图表]菜单下的绘制新函数功能也能直按作图)。如右图:
更为神奇的是借助于符号函数的嵌套就能轻松地实现IF条件语句中复杂的条件语句的嵌套。
例2、把上例函数改为
?x2x?1??2?x0?x?1y??22?x?1?x?0 ??2x?1x??1? 则
由于函数
?0sgnx()?sgnx(?1)???12?0?x?10?x?1x?0
?0sgnx?(1)?sgnx)(???12?0?所
以
相
应
的
构
x?0?1?x?0x??1造
函
数
修
改
为
用心 爱心 专心 - 2 -
y=f(x)=
1?sgn(x?1)2?x+
2sgn(x)?sgn(x?1)2??2?x?+
sgn(x?1)?sgn(x)2?(2?x)+
21?sgn(x?1)2?(2x?1)就OK了。如图图象
三、循环语句的实现
几何画板中循环的实现是借助于[变换]菜单上的“带参数的迭代”功能。
例3、编程求出Faibonacci数列:1、1、2、3、5、8、11、??的前40个数。 算法分析:从第三个数开始每个数都等于其前面2个相邻两个数的和,因此可设需要求的当前项为f,它的前一项为lastf,前二项为pref,则伪代码如下:
Pref=1; Lastf=1; n=3;
Print pref, lastf; Do while (n<41) f=pref + lastf; Print f;
Prevf = lastf; Lastf = f; n=n+1;
Enddo
算法实现如下:
1、[新建参数]pref , lastf, n 其值分别1,1,39。 2、[计算]pref + lastf 并把度量结果标签改为f
3、先后选中pref,lastf,n,按住shift键,单击[变换]菜单,点按[带参数的迭代],作从pref , lastf到lastf,f的选代。
4、选代中“显示”菜单中选择完整选代,选代“结构”菜单中选择生成选代数据表,从而可实现此算法。如下图。
用心 爱心 专心 - 3 -
通过这些语句在几何画板中的实现,把它们综合起来,就可用几何画板来实现很多较复杂的算法了.
例4、用二分法求方程2+3x-7=0的近似解。 算法伪代码: pricision=0.01 IntialValueofA=1 IntialValueofB=2
MeanValueofAandB= ( IntialValueofA+ IntialValueofB)/2 Do while abs(b-a) If f(IntialValueofA)*f( MeanValueofAandB)<0 IntialValueofB= MeanValueofAandB Else If f( MeanValueofAandB )=0 IntialValueofA= MeanValueofAandB Exit Else IntialValueofA= MeanValueofAandB EndIf EndIf Enddo Print x=IntialValueofA 算法实现如MeanValueofAandB=(ao+b0)/2 下 : (IntialValueofA=a0,IntialValueofB=b0, x 1、新建参数:n、a0、b0,其值分别为0、1、2 2、新建函数:g(x)?1?sgn(x)2、f(x)?2x?3x?7 用心 爱心 专心 - 4 - 3、由于a???a0f(a0)*f((a0?b0)/2)?0f(b0)*f((a0?b0)/2)?0?(a0?b0)/2 b???b0f(b0)*f((a0?b0)/2)?0f(a0)*f((a0?b0)/2)?0?(a0?b0)/2?? 所以点[计算]:a?a0*g??f?a0?*f? b?b0*g??f?b0?*f?????a0?b0??a0?b0?a0?b0?????*g?fb0*f???????? 222?????????a0?b0??a0?b0?a0?b0?????*g?fa0*f???????? 222???????4、点按[计算]:(a+b)/2 , f((a+b)/2) f(a) f(b) |b-a| 5、先后选中a0,b0,n,按住shift键,单击[变换]菜单,点按[带参数的迭代],作从 a0 , b0到a,b的迭代。 这样通过新建参数实现赋值,通过sng(x)函数实现IF语句,通过迭代实现循环 总之,几何画板作为一款专门的数学软件,具有独特的面向对象的优势,教师和学生不必花大量时间来学习编程,就可以利用几何画板轻松实现算法,检验算法,为学生学习算法,理解算法思想提供了另外一个平台。 参考资料:谭浩强、田淑清编著的《pascal语言程序设计》高等教育出版社 几何画板的帮助文件 用心 爱心 专心 - 5 - 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库高中数学教学论文 算法在几何画板的实现在线全文阅读。
相关推荐: