算法的概念的教学设计杭二中分校海玲一.容和容解析算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤解决问题而建立的可重复应用的计算过程。
(概念的涵广义)在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
现在,算法通常可以编成计算机程序,让计算机执行并解决问题。
(概念的涵狭义)算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础。
(容及在本章的地位)算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的容能为以后学习本章程序框图、基本算法语句以及选修1-2第四章“框图”容奠定基础.由于程序框图体现的是算法的思想,故其思想方法可运用到数学的各个领域之中.(在学科中地位)算法也是数学及其应用的重要组成部分,算法是连接人和计算机的纽带。
是计算机科学的基础,利用计算机解决问题需要算法。
首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节。
(体现其应用性)二.目标和目标解析本节课通过对解决具体问题的过程与步骤的分析,让学生体会算法的思想,了解算法的含义。
具体目标为:1.要求学生了解算法的含义,体会算法的思想。
2.在分析实例的基础上了解算法的基本特征。
3.能够用自然语言描述一些具体问题的算法。
本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法.三.教学问题诊断本节算法对学生来说并不陌生。
生活中很多问题是按照指定的要求一步步解决的;小学的四则混合运算所遵循的先乘除、后加减的规则,括号的处理规则等,都是学生最初接触到的算法实例。
初中学习的方程组的解法等,也是算法的典型体现。
高中学习的必修1中求函数零点的二分法的解题步骤、必修5中线性规划的解题规律等更成了算法的经典问题。
还有数列的求和、质数的判定、最大公约数和最小公倍数的求法等,都涉及到算法。
同时,在其他学科、甚至生活中也离不开算法。
算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序。
这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤。
不过这种经验并没有得到应有的升华。
只有在完整地学习了算法后,学生才能把这些知识提升到新的高度来认识。
算法是对解题方案的准确而完整的构造性的描述。
算法并不是容易理解和掌握的容。
教学难点是对算法概念的理解和对算法的描述,尤其是对循环问题的递归语言表达,由于学生初次接触,更加难以掌握。
教师可以首先通过实际生活中的生动有趣的例子帮助学生了解算法的含义,明白算法是规则系统一种循序渐进解决问题的过程。
在此基础上通过引导学生在具体情境之下回顾特殊的二元一次方程组的求解,自然展示求解的“步骤”,从而帮助学生进一步明白算法是在有限步骤解决问题而建立的可重复应用的计算过程,并能够编成计算机可以执行的程序让计算机执行并解决问题的。
在建立了算法的概念以后,教师可以通过进一步介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想。
接着通过例1和例2设计算法,帮助学生学会用自然语言描述算法,质数的判断是学生小学就接触过的,用二分法求近似解在必修1中学生也已经学习过,因此这两个问题学生都是熟悉的。
这里重点是通过设计理解算法概念,而不在于算法所涉及问题本身。
教学时可以先让学生回顾问题的解题过程,再让他们整理出步骤,并有条理的用自然语言表达出来。
通过这样的教学使学生体会算法设计的基本思路。
在例题之后,借助课本中的思考,得出算法的特征,并通过练习促进对算法概念的理解与掌握。
通过案例的运用,引导学生体会算法的核心是一般意义上的解决问题策略的具体化。
本节课教学,要围绕算法概念,立足于用自然语言描述解决问题过程中的明确顺序。
根据这节课的教学容、教学目标,结合以上分析,本节课建议采用以教师引导分析讲授为主,着重一个“导”字,并通过适量的练习加以巩固。
四.教学支持条件分析为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法。
通过计算机演示帮助学生体会算法研究的价值。
五.教学过程设计(一)结合章头图对学生进行数学史教育,同时让学生认识算法研究的价值。
1.看章头图,介绍图中在春秋时期盛行的算筹;明朝时期已广泛使用直至今日仍在发挥作用的算盘;当今时代已进入各个领域的计算机。
2.提出问题:是什么把这三这联系在一起?引出算法。
3.从古到今算法始终扮演着重要的时代角色。
我国古代数学在世界数学史中曾一度占领先地位。
通过介绍我国古代部分数学成就,加强对学生进行爱国主义教育,同时体会算法的研究价值。
4.从为了了解计算机的工作原理,引出课题——算法的概念。
(二)问题情境,引出算法概念:问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.设计意图:通过这个学生容易感兴趣的问题,让学生有一个对算法的初步认识。
师生活动:教师可以在学生看后引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法。
第一步,农夫带羊过河.第二步,农夫独自回来.第三步,农夫带狼过河.第四步,农夫带羊回来.第五步,农夫带蔬菜过河.第六步,农夫独自回来.第七步,农夫带羊过河.当然,也有可能学生提出第二套过河方案.第一步,农夫带羊过河.第二步, 农夫独自回来.第三步,农夫带蔬菜过河.第四步,农夫带羊回来.第五步,农夫带狼过河.第六步,农夫独自回来.第七步,农夫带羊过河.在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础是整理出一个解决问题的步骤即可.(三)解决问题,建立算法概念“鸡兔同笼”是我国隋朝时期的数学著作《子算经》中的一个有趣而具有深远影响的问题,从学生熟悉的鸡兔同笼问题解决引出数学中的算法问题:问题1:一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94只脚,问鸡和兔各有多少只?设计意图:通过学生熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法。
为下面学习复杂问题中用自然语言描述算法打好基础。
师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案。
1.小学里解决方法:兔的只数,(94235)212-⨯÷=351223-=可以得到鸡的只数。
在此基础上归纳出一般结论。
2.中学解决方法:设立未知数,建立方程,解方程。
解:设有x 只鸡,y 只兔,则35(1)2494(2)x y x y +=⎧⎨+=⎩ (1)2(2)⨯-得:224(3)y -=-,解(3)得12y =将12y =代人(1)求得23x =。
答:笼子里有鸡23只,兔12只。
3.从上述解决问题的过程看,解决以上问题可以分若干步完成:第一步,设有x 只鸡,y 只兔,第二步,列方程:35(1)2494(2)x y x y +=⎧⎨+=⎩ 第三步,解方程求得:23x =,12y =第四步,答:笼子里有鸡23只,兔12只。
教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法。
同时指出:第一步,设. 第二步,列. 第三步,解. 第四步,答.这四个步骤构成了一般的列方程解应用题的算法。
问题2:你能写出求解二元一次方程组: 35(1)2494(2)x y x y +=⎧⎨+=⎩的步骤吗?设计意图:在上述“鸡兔同笼”问题中涉及解具体二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤.自然过渡得到解一般的二元一次方程组的步骤,为建立算法概念打下基础。
师生活动:教师先提出问题,让学生对求解过程一步步表达出来。
解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,教师引导学生用加减消元法写出它的求解过程,然后让学生尝试用代入消元法表达出解决问题的步骤。
解:第一步:(1)2(2)⨯-得:224(3)y -=-第二步:解(3)得12y =第三步:将12y =代人(1)求得23x =。
无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲. 教师只要和学生共同整理出一个解方程的步骤即可. 教师在学生回答的基础上指出:1.以上求解的步骤就是解二元一次方程组的算法.2.本题的算法也适合一般的二元一次方程组的解法.3.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.问题2:写出求方程组()1111221222(1)0(2)a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩的解的步骤设计意图:在复习解具体二元一次方程组基本步骤的基础上.进一步分析解一般的二元一次方程组的步骤,并指出上述步骤构成了解二元一次方程组的一个算法,从而加深学生对算法的了解。
通过教师事先编好的程序的演示,让学生感受算法研究的价值。
师生活动:教师在提出问题后,可以让学生来说出其解题步骤,教师用投影给出求解过程步骤。
解:第一步:(2)×1a - (1)×2a ,得:()12211221a b a b y a c a c -=- (3)第二步:解(3)得 12211221a c a c y ab a b -=-; 第三步:将12211221ac a c y a b a b -=-代入(1),得21121221b c b c x a b a b -=-. 在完成求解一般的二元一次方程组步骤的基础上教师指出:1.本题的步骤就是求一般的二元一次方程组的解法的算法.2.在写出此步骤基础上,我们将上述步骤进一步用计算机能够识别的语言表达出来并输入计算机就可以解决用计算机求二元一次方程组的解了。
这里老师事先按照上述步骤编写了程序,同学们可以跟老师一起来看看。
3.让学生输入数据,计算机直接给出方程组的解。
(四)分析归纳,得到算法概念问题3:到底什么是算法?如何表达算法的含义?设计意图:在提出算法这一概念后,学生自然想进一步了解到底什么是算法。
教师在此处设问,目的不是要求学生直接作答,而是为了自然过渡到对算法的更进一步研究上。
用上面几个学生熟悉的问题来帮助学生建立算法的概念,降低难度,有利于学生正确理解算法的概念。
培养学生体会发现、抽象、总结的能力。
师生活动:教师在提出问题后,可以先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师进行归纳帮助学生建立算法的概念。