设为主页
加入收藏夹
   教师中心      资源下载      最新文章      高中数学B版论坛
当前位置:首页>>高中数学B版>>教师中心>>教学研究
 

  数学软件Scilab伴随着算法首次加盟我国的高中数学课程,使得我国高中数学课程增加了现代数学的元素。在给数学教学带来了新的生机的同时,也给高中数学的教学带来了新的要求,新的挑战和新的机遇。如何适应新的要求,如何应对新的挑战,如何把握新的机遇,已成为我们数学教师和广大数学教育工作者亟待解决的三大问题。本文就在使用数学软件Scilab进行数学教学的过程中如何解决这三大问题谈以下几点思考,以抛砖引玉。

 

    一、正确定位

 

    算法是使用数学软件Scilab的理论基础,Scilab程序是算法思想的具体体现。

 

    在数学中,算法可以理解为由基本运算及规定的运算顺序所构的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题。每一个Scilab程序的设计都要以解决该类问题的算法为基础,应该具体形象地体现出解决该类问题的算法思想。这样的Scilab程序才有正确合理的理论支持,才有其科学性和严密性。

 

    使用数学软件Scilab进行数学教学,重点在于体会算法的基本思想,理解掌握算法的三种基本逻辑结构(顺序结构、条件分支结构和循环结构),并能利用案例中的算法解决具体问题。在教学中可以通过以下几个具体的案例体会所学算法的基本思想:程序1.sci(求点到直线的距离)重点体现顺序结构;程序2.sci(求一元二次方程的根)重点体现条件分支结构;程序3.sci(求1+2+3+……+1000=?)和程序4.sci(求平方值小于1000的最大整数)重点体现循环结构;程序5.sci(输出1~9的乘法口诀表)是用算法思想解决具体问题。

 

  程序1.sci

 

      x0=input("x0=")

 

      y0=input("y0=")

 

      A=input("A=")

 

      B=input("B=")

 

      C=input("C=")

 

      z1=A*x0+B*y0+C;

 

      z2=A*A+B*B;

 

      d=abs(z1)/sqrt(z2);

 

      print(%io(2),d)

 

  程序2.sci

 

      a=input("a=")

 

      b=input("b=")

 

      c=input("c=")

 

      d=b*b-4*a*c

 

      if d<0

 

         disp("no solution")

 

      else t=sqrt(d);

 

           x1=(-b+t)/(2*a)

 

         x2=(-b-t)/(2*a)

 

     end

 

  程序3.sci

 

       S=0;

 

       for i=1:1:1000

 

       S=S+i;

 

      end

 

      S

 

  程序4.sci

 

     j=1;

 

     while j*j<1000,j=j+1;end

 

     j=j-1;

 

     print(%io(2),j)

 

   程序5.sci

 

        for i=1:9

 

           for j=1:9

 

            A(1,1)=0;

 

            A(1,j+1)=j;

 

            A(i+1,1)=i;

 

           A(i+1,j+1)=i*j;

 

           end

 

        end

 

       disp(A)

 

    二、激发兴趣

 

兴趣是学习的原动力。有了兴趣,学习才有动力,教学过程才有生机。

 

    在算法教学的第一节,教师就可以就学生们普遍感兴趣的一些能够体现算法思想的问题,展示一些事先设计好的程序,使学生对算法,对数学软件Scilab有一个感性的认识,并产生浓厚兴趣,进而达到理论的升华。

 

    如:随机点名(按学号)程序5.sci,用刘徽割圆术求的近似值的程序6.sci等等。

 

  程序5.sci(随机点名程序)

 

    a=input("班级总人数=")

 

    b=rand();

 

    c=a*b;

 

    d=ceil(c)

 

  程序6.sci(刘徽割圆术求的近似值的程序)

 

n=6;

 

x=1;

 

s=6*sqrt(3)/4;

 

for i=1:1:5

 

    h=sqrt(1-(x/2)^2);

 

    s=s+n*x*(1-h)/2;

 

    n=2*n;

 

    x=sqrt((x/2)^2+(1-h)^2);

 

end

 

print(%io(2),n,s)

 

    、师生共学

 

    由于是新内容,教师也是新接触,不免有许多地方理解得不是很到位。教师可以在课前充分学习的基础上,与学生共同探索学习,形成一种师生合作学习的良好氛围,使教师的主导作用,学生的主体作用充分发挥出来。况且,学生处于学习高峰期,理解问题的能力和反应速度都明显高于教师,所以师生共同学习不失为一种好的教学形式。师生合作学习也有利于锻炼学生的自主学习意识,有利于锻炼学生的合作意识,更有利于教学活动的开展。教师不再是“权威”,而是和学生一样,成为共同学习的合作学习者,这样学生就能更认真地思考,更积极的探索,更有利于所学知识的理解与记忆。

 

    四、操作为主

 

    由于学生是初次真正意义上接触计算机语言,不免有些陌生,一定想办法给学生一个上机操作的环境,不然就有点纸上谈兵的意味。没有上位知识(计算机编程)的支持,学生很难对书本上写的,教师讲的数学软件Scilab有深刻的认识,更谈不上理解应用、编写程序了。如果能够亲自编写程序解决问题,学生的自信心会大大地增强,自主探究习惯将进一步强化,对数学的学习兴趣也会得到拓展。因此,如果有条件的话,一定要让学生进行上机操作;没有条件的话,也要想办法创造环境让学生进行上机练习。

 

    五、发掘潜能

 

    学生的潜能是巨大的,教学过程中充分发掘学生的潜能是十分必要的。世有伯乐,然后有千里马。学生自身的潜能也许学生自己并没有发现,而一位优秀的教师应该在教学过程中充分发掘人才,这样才能使一些有这方面天赋的学生脱颖而出,成为这方面的人才,就会有数学教学的进一步发展和一批批优秀的Scilab软件展现给我们大家。而且,这不仅对这些同学是一种激励,一种认可,还有利于在班级体里树立科研的榜样。我们还可以进行Scilab程序设计的小竞赛,让同学们的竞赛的过程中,互相学习,互相鼓励,更好的体会数学软件Scilab的奥妙,更好的体会算法的精髓。

 

    对数学软件Scilab给予正确的定位,才能适应新课程的要求;激发学生对数学软件Scilab的学习兴趣,师生共同学习Scilab语言,才能应对新的挑战;让学生以操作动手为主,充分发挥学生的潜能,才能把握住新的机遇,培养出具有高学识,高素质的高科技人才。以上是笔者在使用数学软件Scilab进行数学教学的几点思考,由于学识有限,若有纰漏之处,敬请各位专家,同行批评、指正。

 

    参考文献:

 

    1、《普通高中数学课程标准(实验)》,人民教育出版社,2003年4月第1版,中华人民共和国教育部制订。

 

    2、《科学计算自由软件──Scilab教程》,清华大学出版社,2003年1月第1版,胡包钢、赵星、康孟珍编著。

 

    3、《普通高中课程标准实验教科书数学3必修B版》,人民教育出版社,2004年5月第1版,人民教育出版社课程教材研究所、中学数学教材实验研究组编著。

 

    4、《计算技术在数学中的应用──Scilab软件及算法的教学》,人民教育出版社,http://www.pep.com.cn,狄少华 周显明编著。

 
【上一篇】
【下一篇】