一、教学目标
1.理解算法的概念;
2.知道两种算法的描述方法—语言描述法和流程图的区别
3.能初步利用算法解决简单的问题。
4.培养学生的理论联系实际能力和动手操作能力。
二、教学重难点
1.重点:算法的描述
2.难点:算法的描述
三、教材分析
本节所讲算法主要是指计算机解决问题的方法和步骤。美国著名计算机科学家克努特教授提出了”计算机科学就是研究算法的科学”的著名论断,说明了算法在设计程序中的重要性,解决任何问题都必须设计算法,所以本节内容起来统领全章的作用。
但是,对于初学者而言,本节内容属于理论知识,具有一定的抽象性。建构主义理论认为学习是新旧知识的联系,是学习者主动建构内在心理结构的过程。而在初学者原有的认知结构中没有关于算法的认知。如果直接讲算法,学生很难实现新旧知识的联系,无法做到意义建构和有意义的学习,对于算法的含义就难以做到真正理解。按照从感性到理性、从已知到未知的认知规律,我从学生的感性认知入手,从学生的兴趣出发,将第一节和第二节调整了顺序,先教VB的基本操作,在学生能掌握VB的基本操作,并能用VB解决简单问题的基础上,通过对具体问题的讨论,使学生明白解决任何问题都需要有清晰的解决思路和解题步骤,再通过人-机解决问题方法的比较,得出计算机解决问题和人解决问题一样都需要有明确的解题步骤,而计算机的解题步骤就称为算法,这样就很自然地引入了算法的概念。易于学生接受和理解。
对于本节内容的重难点,即算法的描述,主要是通过对实际问题的解决来突破的。本节所讲算法的实例,不在于程序的难易,而在于要易于学生接受。为了便于学生理解第一个算法-交换两个变量的值。我加了交换两个杯中液体的算法设计,通过这个简单的算法的设计,可以让学生了解变量的概念及计算机内部存诸数据的原理,这样,学生对于书中的例子就很容易接受了。关于语言描述算法及流程图描述算法的特点,我的做法是通过学生对二者的比较,既掌握了二者的区别,也知道了二者的优缺点。在突出重点、突破难点的基础上,我对本节内容进行了提升,学习算法不是为了单纯的学习概念,而是为了应用,为了理论联系实际,做到用理论解决实际问题。所以我将第三种算法的描述方法—程序向学生作了介绍,三种算法的描述方式的比较,使得学生对于算法的做用有了进一步的理解,根据算法可以写出代码,并解决问题。这样既解决了学理论难的问题,又做到了对同学们的引导,最后留一些时间给学生进行上机操作,让他们有成功的体验,学了就可以致用,而且用VB编程并不象他们想象的如此难于接受。这对于学生来说,可以帮助他们减少学习VB的畏惧心理,又可以提高学习的兴趣。对于学VB的语言规则起着承前启后的作用。
四、教学方法您现在访问的是中国学科吧旗下教案网http://www.jsfw8.com/jafs/
讨论、讲解、操作相结合。
五、教具:多媒体电脑配合课件
六、教学过程
(一)算法的概念
【教师】通过前面的学习,我们已经会用VB来解决简单的问题,请同学们将下面问题的解决步骤写出来
【问题1】两个大人和两个小孩一起渡河,渡口只有一条小船,一次只能渡过一个大人或两个小孩,他们四人都会划船,但都不会游泳。请写一写你的渡河方案。
〖学生〗学生讨论回答。
【问题2】展示课件:写出求一元二次方程ax2+bx+c=0的实数根的解题步骤。
〖学生〗学生讨论回答。
【答案展示】
【问题3】如果让计算机来解决这个问题应该怎么做呢?
〖学生〗学生讨论回答。
【答案展示】
1、让计算机根据a、b、c的值,求出△(delta);
2、让计算机判断△(delta)的值;
3、让计算机求出x1;
4、让计算机求出x2。
5、让计算机输出x1、x2的值
【教师】由此可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。而对于计算机而言,这种解题步骤就称为算法。
【课件您现在访问的是中国学科吧旗下教案网http://www.jsfw8.com/jafs/
展示】算法的概念:
我们解决问题都需要遵循一定的方法和思路并正确的列出各个求解步骤。计算机解决问题的求解步骤叫做算法。
或:
计算机处理程序的过程与我们平时解决问题的过程是十分相似的,也就是在规定的条件下完成一定的操作序列。而这样的操作序列对于计算机而言就是算法。
【课件展示】美国著名计算机科学家克努特教授(D.E.Knuth)提出了“计算机科学就是研究算法的科学”的著名论断
二、算法的描述
1、语言描述
【算法描述1】描述交换两个杯中液体的算法
〖学生〗学生讨论
【课件展示】动态显示交换过程。并展示文字描述。
【算法描述2】交换两个变量中的数据。
【教师】讲解计算机内部对于数据存储的原理。即按地址保存。
〖学生〗学生讨论
【课件展示】展示文字描述。并配以教师的讲解分析。
已知变量x和y中分别存放了数据,现在要交换其中的数据。为了达到交换的目的,需要引进一个中间变量m,其算法如下:
①将x中的数据送给变量m,即x→m;
②将y中的数据送给变量x,即y→x;
③将m中的数据送给变量y,即m→y。
【算法描述3】输入三个不相同的数,求出其中的最小数。
〖学生〗学生讨论
【教师】引导学生讨论解题思路:
先设置一个变量min,用于存放最小数。当输入a、b、c三个不相同的数后,先将a与您现在访问的是中国学科吧旗下教案网http://www.jsfw8.com/jafs/
b进行比较,把小者送给变量min,再把c与min进行比较,若c
【教师】引导学生讨论语言描述的特点:易于理解和接受。但对于复杂的问题描述太麻烦。
【教师】请说出下面这句话的含义:“这个人连老张也不认识”
〖学生〗学生讨论回答
【教师】由此可以看出语言描述有时有岐义,但计算机解决问题时每一步必须有清楚的定义,不能有二义性或模棱两可的解释,我们可以用另外一种方法来描述算法
2、流程图
【课件展示】算法2、3的描述流程图:
【课件展示】
流程图的概念:
流程图是用一组几何图形表示各种类型的操作,在图形上用简明扼要的文字和符号表示具体的操作,并用带有箭头的流线表示操作的先后次序。
【课件展示】算法描述方法的比较:
(1)第一个算法描述方法的比较(语言描述法、流程图、程序)
您现在访问的是中国学科吧旗下教案网http://www.jsfw8.com/jafs/
【教师】引导学生讨论出算法的特点,并初步理解。
(2)第二个算法描述方法的比较(语言描述法、流程图、程序)
【教师】请同学们利用VB将这两种算法实现。
【思考题】输入三个不相同的数,求出其中的最大数。请分别用语言、流程图、程序进行算法描述。
〖学生〗学生上机操作实践
【教师】教师辅导
【教师】总结、下课。
作者简介:刘群,女,江苏省丰县中学一级教师,研究生在读。曾获市优质课一等奖、市优秀电教课一等奖、市教学技能比赛个人全能二等奖、市职工计算机比赛个人第五名、团体一等奖。
您现在访问的是中国学科吧旗下教案网http://www.jsfw8.com/jafs/