- 2021-06-30 发布 |
- 37.5 KB |
- 7页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
算法的概念教案3
算法的概念的教学设计 杭州二中分校 陈海玲 一.内容和内容解析 算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤内解决问题而建立的可重复应用的计算过程. 在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题. 算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础. 算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的内容能为以后学习程序框图、基本算法语句以及选修1-2第四章“框图”内容奠定基础. 算法是连接人和计算机的纽带,是计算机科学的基础,利用计算机解决问题需要算法.首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节. 二.目标和目标解析 本节课通过对具体问题的解决过程与步骤的分析,让学生体会算法的思想,了解算法的含义.具体目标为: 1. 要求学生了解算法的含义,体会算法的思想. 2. 在分析实例的基础上了解算法的基本特征. 3. 能够用自然语言描述一些具体问题的算法. 本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法. 三.教学问题诊断 本节算法对学生来说并不陌生.生活中很多问题是按照指定的要求一步步解决的.初中学习的列方程解应用题的步骤、求二元一次方程组的解的过程等,都是算法的典型体现.质数的判定,高中学习的必修1中求函数零点的二分法的解题步骤、必修5中线性规划问题的解决过程等更成了算法的经典问题. 算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序.这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤.不过这种经验并没有得到应有的升华.只有在完整地学习了算法后,学生才能把这些知识提升到新的高度来认识.算法是对解题方案的准确而完整的构造性的描述.算法并不是容易理解和掌握的内容.教学难点是对算法概念的理解和对算法的描述,尤其是对循环问题的递归语言表达. 当然,由于学生初次接触,要想学生在这节课就完全掌握用递归语句描述算法是很困难的,在后面的程序框图和基本的算法语句中这种表达还将得到进一步强化. 教师可以首先通过实际生活中的例子和复习回顾二元一次方程组的求解过程,自然展示求解的“步骤”,从而帮助学生建立算法的概念. 7 在建立了算法的概念以后,教师可以通过从算法的角度介绍学生熟悉的例子,帮助学生进一步领会算法的思想. 接着通过例1和例2设计算法,帮助学生学会用自然语言描述算法.这里要注意:重点是通过设计帮助学生领会算法概念,而不在于算法所涉及问题的本身.教学时可以先让学生回顾问题的解题过程,再让他们整理出步骤,并有条理的用自然语言表达出来.通过这样的教学使学生体会算法设计的基本思路. 本节课教学,要围绕算法概念,立足于用自然语言描述解决问题过程中的明确顺序.根据这节课的教学内容、教学目标,结合以上分析,本节课建议采用以教师引导分析帮助学生建立算法概念,着重一个“导”字,并通过适量的练习加以巩固. 四.教学支持条件分析 为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法.通过计算机演示帮助学生体会算法研究的价值. 五.教学过程设计 (一)课题引入设计 1.看章头图,介绍图中算筹、算盘、计算机. 2.提出问题:是什么把这三者联系在一起?引出算法. 3.介绍后景朱世杰的《四元玉鉴》,引出介绍我国古代部分数学成就,对学生渗透爱国主义教育. 4.从为了了解计算机的工作原理,让学生体会算法的研究价值.引出课题——算法的概念. (二)问题情境,引出算法概念 问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河. 设计意图:通过这个学生感兴趣的问题,让学生有一个对算法的初步认识. 师生活动:教师可以引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法. 第一步,农夫带羊过河. 第二步,农夫独自回来. 第三步,农夫带狼过河. 第四步,农夫带羊回来. 第五步,农夫带蔬菜过河. 第六步,农夫独自回来. 第七步,农夫带羊过河. 当然,也有可能学生提出第二套过河方案. 第一步,农夫带羊过河. 第二步, 农夫独自回来. 第三步,农夫带蔬菜过河. 第四步,农夫带羊回来. 第五步,农夫带狼过河. 第六步,农夫独自回来. 7 第七步,农夫带羊过河. 在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础上整理出一个解决问题的步骤即可. (三)解决问题,建立算法概念 “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的问题,从学生熟悉的鸡兔同笼问题解决引出数学中的算法问题: 问题1:一个笼子里有一些鸡和兔,现在知道里面一共有个头,只脚,问鸡和兔各有多少只? 设计意图:通过对学生所熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法.为建立算法的概念,以及下面学习复杂问题中用自然语言描述算法打好基础. 师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案. 从解决问题的过程看,解决以上问题可以分若干步完成: 第一步,设有只鸡,只兔, 第二步,列方程: 第三步,解方程求得: 第四步,答:笼子里有鸡23只,兔12只. 教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法.同时指出:“第一步,设.第二步,列. 第三步,解.第四步,答.”这四个步骤构成了一般的列方程解应用题的算法. 问题2:你能写出求解二元一次方程组: 的步骤吗? 设计意图:在上述“鸡兔同笼”问题中涉及解二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤,为建立算法概念做好准备. 师生活动:教师先提出问题,让学生对求解过程一步步表达出来. 解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲. 教师只要和学生共同整理出一个解方程的步骤即可. 教师在学生回答的基础上指出: 1.以上求解的步骤就是解二元一次方程组的算法. 2.本题的算法也适合一般的二元一次方程组的解法. 7 问题2:写出求方程组的解的步骤. 设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,从而提高学生对算法的普遍适用性的认识,使学生认识到算法往往适合解决的是一类问题,为建立算法的概念做好铺垫.通过教师事先编好的程序的演示,让学生感受算法研究的价值. 师生活动:教师在提出问题后,可以让学生来说出其解题步骤. 第一步,,得. 第二步,解,得. 第三步,得. 第四步,解,得. 第五步,得到方程组的解为:. 在完成求解一般的二元一次方程组步骤的基础上教师指出: 1.本题的步骤就是求一般的二元一次方程组的解的算法. 2.用事先编好的程序,让学生输入数据,计算机直接给出方程组的解. (四)分析归纳,得到算法概念 问题3:到底什么是算法?如何表达算法的含义? 设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来. 师生活动:教师在提出问题后,可以先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师进行归纳帮助学生建立算法的概念. 教师指出:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题. 教师可以通过从算法的角度介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想. 例1.写出交换两个大小相同的杯子中的液体 (A水、B酒) 的一个算法. 例2.写出求一元二次方程根的一个算法. 7 (五)算法的应用 问题1设计一个算法,判断7是否为质数. 设计意图:帮助学生学习算法的自然语言描述.然后通过一连串问题的追问,由浅入深,由特殊到一般.学习用递归语言表达有循环的算法问题.通过计算机演示,让学生感受算法研究的价值. 师生活动:教师引导学生回忆质数的概念,提出如下一系列问题帮助学生形成解决问题的基本步骤,也就自然完成了一个算法的设计. 1.什么是质数? 2.如何判断一个数是不是质数? 3.你在回答这个数是不是质数前,你在头脑中经历了怎样的思考、加工过程? 在学生回答这个问题的基础上,教师接着提出问题: 4.计算机如何判断整除呢?从而引导学生用规范的语言来表达算法. 5.能否设计一个算法,判断35是不是质数? 6.判断7是否是质数的算法和判断35是否是质数的算法有什么不同? 7.任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断? 这时候学生知道要判断一个大于2的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数. 有了前面的基础,这里学生多数可能回答用2~(n-1)去除n,于是将判断的过程表达出来就形成了解决问题的这样一个算法: 第一步,给定大于2的整数n. 第二步,用2去除n,得到余数t.若t=0,则2能够整除n, n 不是质数,算法结束;否则,进入第三步. 第三步,用3去除n,得到余数t.若t=0,则3能够整除n, n 不是质数,算法结束;否则,进入第四步. …… 第(n-1)步,用(n-1)去除n,得到余数t.若t=0,则(n-1)能够整除n, n 不是质数,算法结束;否则, n是质数. 教师首先应该肯定学生的做法,但在学生回答的基础上向学生提出这里 从2~(n-1)都在重复同一件事,像这种情况在设计算法时经常遇到,然后教会学生用递归语言进行表达. 在完成上述算法表达的基础上教师指出: 1.用自然语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述,每一步做一件事情.这样描述的算法体现按部就班程序性的特点.对于在解决问题过程中反复进行的步骤,同学们要学习用递归语言进行描述. 用递归语言进行描述时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断. 2.教师用事先按照上述步骤编写的程序演示,判断学生说出的整数是否为质数. 问题2.写出用 “二分法”求方程的近似解的算法. 7 设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.安排这样一个例题既可以让学生进一步领会算法的思想,同时也可以达到巩固用自然语言描述的算法,提高用自然语言描述算法的表达水平. 师生活动:教师先引导学生回顾二分法求方程近似解的方法,然后引导学生说出解决该问题的每一个步骤,形成本例算法. 教师可以通过以下一连串问题的设问,引导学生完成二分法求方程近似解的算法设计. 1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做? 2.二分法分的是什么? 3.如何确定新区间的端点? 4.如何表达出反复二分区间的过程?(引导学生学习用递归语言表达) 第一步,令.给定精确度. 第二步, 给定区间,满足. 第三步,取中间点. 第四步,若则含零点的区间为;否则含零点的区间为.将新得到的含零点的仍然记为. 第五步, 判断的长度是否小于或者是否等于0.若是,则是方程的近似解;否则,返回第三步. 在得到算法后,教师可以带领学生看书,阅读课本第4页上有关内容.并说明按以上步骤,我们将依次得到课本第4页的表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都是满足假设条件的原方程是近似解. (六)归纳小结 将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的. 问题1:你能举出更多算法的例子吗? 设计意图:以举例的形式使学生体会算法的思想,以此评价他们对算法的概念以及特征的领会情况. 师生活动:学生举例,师生共同评价. 问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么? 设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、确定、有限的步骤的领会情况.同时提高学生的总结、归纳、表达能力. 师生活动:在学生回答的基础上,引导他们归纳:与一般解决问题的步骤相比,算法具有程序性、有限性、构造性、精确性等特点. 7 六.目标检测设计 1.课堂检测 课本第6页练习1 2.课后检测 第1题. 一位商人有9枚银元,其中有1枚略轻的是假银元.你能设计用天平(不用砝码)将假银元找出来的算法吗? 设计意图:通过本题评价学生能否结合实际问题,运用本节课所学的算法的思想,会用自然语言表达算法. 解:第一步,将9枚金币平均分成三组,将其中两组放在天平的两边. 如果天平平衡, 则假的金币必定在另外一组;如果天平不平衡,则假的金币必定在较轻的一组. 第二步,将有假金币的一组金币中,取出两枚金币,分别放在天平的两边.如果天平平衡,则假的金币必定是剩余的;如果天平不平衡,则假的金币必定在较轻的一边. 第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数. 设计意图:检查学生是否会用自然语言正确表达算法,训练学生的应变能力. 第一步,给定一个大于1的整数n. 第二步,令. 第三步,用去除,得到余数为,若,则是的一个因数输出;否则,不输出. 第四步,给增加1仍然用表示. 第五步,判断是否成立,若是,则算法结束;否则,返回第三步. 第3题.写出解方程的两个不同的算法. 设计意图:巩固用自然语言正确表达算法,了解算法的不唯一性. 分析:本题是求一元二次方程的解的问题,方法很多,下面分别用配方法、判别式法写出这个问题的两个算法. 算法1: 第一步,移项,得: ① 第二步,①式两边同加1并配方,得: ② 第三步,②式两边开方得: ③ 第四步,解③得: 或. 算法2: 第一步,计算方程的判别式并判断其符号,. 第二步,将代入求根公式.得:或. 7查看更多