1、数学:“算法的概念”教学设计杭州二中分校陈海玲一、内容和内容解析本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法算法是一种解决问题的方法,是数学及其应用的重要组成部分,也是计算机科学的重要基础算法的思想有着广泛的应用性在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤现在,算法通常可以编成计算机程序,让计算机执行并解决问题在算法概念的表述中,有范围限定词 “在数学中”,因此学习的内容均为数学中的问题有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则” 指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有顺
2、序性“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的 算法有多种表示方法,其中自然语言描述与人的表达方式最接近,是学习其它描述方法的基础中国古代数学是以算法为主要特征,并蕴涵着丰富的算法思想现代信息技术的发展使算法唤发出新的生机和活力,并使之成为当代社会必备的基本知识算法进入高中必修内容正是反应了时代的需要算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素
3、材因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系又由于算法的具体实现上可以和信息技术相结合,因此算法的学习有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,在发展学生有条理的思考与表达的能力的同时,可以让他们知道如何利用现代技术解决问题本节课教材提供的内容可以分为三组问题,都是从“特殊到一般”的设计,这提供了解决问题的条件因此,本节课教学重点是,通过一些具体问题,了解算法概念,体会算法思想,会初步用自然语言描述一些具体问题的算法二、目标和目标解析本节课的教学目标是:1借助章头图,给出思考问题,既引出“算法”一词,又留有感悟和疑问,激发学习驱动和兴趣2在解特殊的二次一次方
4、程组到得出一般二元一次方程组的解的过程中,体验算法内涵,导出算法概念3在判定7和35否为质数到判定整数n (n1)是否为质数的过程中,理解算法的概念,学习算法的自然语言描述,初步认识算法的基本逻辑结构、算法的特征、作用4在得出用“二分法”求一元高次方程一个近似解的算法的过程中,进一步理解算法的概念,再次接触算法的三种基本逻辑结构,体会算法自然语言描述的形成过程在实现上述目标的过程中,适时、恰当地借题发挥,使学生体会算法的思想,培养观察、表达能力和逻辑思维能力三、教学问题诊断算法对学生来说并不陌生比如列方程解应用题,证明函数的单调性,求曲线的方程,等,都是学生碰到过的算法的问题但是,在此之前并没
5、有明确提出“算法”的概念,学生原有的经历为算法学习提供了良好的条件由于算法至今没有公认的定义,算法概念的建立需要与认识它的特征相联系,这拉大了算法概念与学生原有知识之间的距离,从而可能会造成学生概念理解上的偏差因此,算法概念的形成需要搭建台阶,使学生运用已知建立新知,与此同时还要特别注意防止算法概念的泛化算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序.这决定了算法概念的形成与学生的观察能力、表达能力和逻辑思维能力有着直接联系在以班级为单位的教学中,面临能力发展不平衡,产生部分学生算法学习有困难,因此,需要在教学中把握好适应面较广、符合学生认知基础的切
6、入点通常,特殊问题的解的过程只是解法而不是算法,它关注的是解这一结果,算法是研究解决一般(一类)问题(要与数学有关)的步骤,即不进入到一般问题的层面就不能得到算法,而一般问题往往远离学生原有的基础,需要通过搭建解决特殊问题这一台阶,帮助学生进入一般问题在这样的情境中,学生的关注点需要由特殊转到一般,这对许多学生来讲是有困难的,需要教师设计问题或情境帮助学生加以克服,因此,这是本节课的教学难点之一解决这一难点需要在教学中设计好问题,并给学生提供思维的时间,实践的空间,在问题引导下,实现关注点的转移算法是一种解决问题的明确的有限的步骤,特别擅长处理具有条件、循环结构的问题,有其特有的作用和价值,这
7、是学生原来没有体会过的,若教学中对此忽视,学生算法学习时的关注会缺少思维量,只停留在低层次上因此,需要教师结合问题创设学生活动情境,促成学生关注算法中存在的逻辑结构,并予以揭示算法的自然语言描述与高中学生具备的表达方式虽有不同但也有联系,相比算法的其它描述方法,自然语言描述最接近学生现有的表达方式因此,对只有顺序结构的算法描述时,学生是容易写出这类问题算法的教师在小结时,只需指出:写算法要按顺序,每步要明确(可执行),总体是有限步即可对涉及条件、循环结构的算法时,由于需要表示算法中存在的结构,而学生原来没有接触过这种表达,因此,这也是本节课的一个教学难点解决这一难点,需要在教学中给学生提供尝试
8、的机会,在他们发生困惑,产生问题后给予指导,帮助他们学会用递归语言描述算法四、教学支持条件分析为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法.通过计算机演示帮助学生体会算法学习的作用和价值.五、教学过程设计(一)课题引入教师:请打开课本,看章头图前景有算筹、算盘、计算机,后景取自宋朝数学家朱世杰的数学作品四元玉鉴,提问:是什么把它们联系在一起?学生思考后,教师:是算法!设计意图:挖掘章头图教学价值,借此介绍:算法有着悠久的历史,我国古代数学中蕴含着丰富的算法思想,现代的计算机与算法密切相关 它至少可以体现:1)算法概念的由来;2)我们将要学习的算法与计算机有关;3
9、)展示中国古代数学的成就;4)激发学生学习算法兴趣5)借问题自然引出课题(二)问题情境,引出算法概念问题1:你能写出求解二元一次方程组: 的步骤吗?设计意图:从学生具备的认识水平出发,归纳解二元一次方程组的求解步骤从而让学生经历算法分析的基本过程,并在此过程中引导学生关注更具一般性解法,形成解法向算法过渡的准备,为建立算法概念打下基础师生活动:让学生解方程组收集学生的不同解答,再与教科书上的解答作比较问题2 你们所写的解答和教科书有什么不同?教科书提供的解答有什么特点?设计意图:旨在引导学生关注书上表达方式的明显地步骤性特征,关注解的过程的逻辑结构,让学生明白解法和算法的差异师生活动:教师引导
10、学生从表达方式上、解的方法上进行对比,让学生对比后回答1同学们写的是解法,关注的是解,书上写的是解题步骤具有明显的步骤性特征2同学们用的是加减代入消元法解方程组,书上两次用的读是加减消元法等教师:投影用加减消元法求解的步骤,问:参照本题解法,你能完成下面问题吗?请一试问题3:写出求方程组的解的步骤.设计意图:在复习解具体的二元一次方程组基本步骤的基础上进一步提出让学生用这样的五个步骤可以实现解决求解一般的二元一次方程组的步骤,目的是让学生明白算法是用来解决某一类问题的,从而提高学生对算法的普遍适用性的认识,为建立算法的概念做好铺垫.师生活动:让学生说出求解步骤后,教师:投影显示解题步骤:.第一
11、步,得.第二步,解,得.第三步,得.第四步,解,得.第五步,得到方程组的解为:教师:1引导学生分析上述解题过程的结构2提出以上步骤就是求一般的二元一次方程组的解的算法.3说明:把它编成程序就可以用计算机来解二元一组方程组了用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.(三)分析归纳,得到算法概念 问题4到底什么是算法?如何表达算法的含义?设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.师生活动:教师在提出问题后,一
12、定要给学生思考时间,让学生先用自己的语言表达对算法概念的理解,在学生思考、交流、回答的基础上,教师引导学生看书,让同学们看看自己所归纳的算法的概念和课本中概念的差异,帮助学生初步认识算法的概念.算法的概念:在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤现在,算法通常可以编成计算机程序,让计算机执行并解决问题 教师:结合问题3你能说说这里面关键词的含义吗?(四)解决问题,促进理解算法概念,学习算法自然语言描述过渡语:联系时事、地域与质数有关的问题,激发学生的好奇心和求知欲问题5,写出判断7是否为质数的步骤.设计意图:由学生已有的认识水平出发,创设学生可以完成的体验情境,认学生
13、认识求解结构中存在“重复”为导出一般问题的算法创造条件,也为学习算法的自然语言表示提供时机.师生活动:教师提问:让学生写算法的步骤,交流并点评学生写的算法步骤.体会如何从算法的角度思考质数的判定,体会算法的特征,知道下列表述的步骤是不明确的,所以都不是算法的正确表达方式(1)因为2至6的整数都不能整除7,所以7是质数.(2)第一步,用2除7,得到余数不为0,所以2不能整除7. 第二步,同理,3至6的整数都不能整除7,所以7是质数.(3)第一步, 第二步, 第三步, 第四步,第五步,所以7是质数.纠正学生所写基本步骤后,得到解决7是否是质数的算法第一步,用2除7,得到余数为1.因为余数不为0,所
14、以2不能整除7.第二步,用3除7,得到余数为1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数为3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数为2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数为1.因为余数不为0,所以6不能整除7所以7是质数教师接着提出问题:问题6 你能写出判定35是否为质数的算法吗?设计意图:35是偶数的代表,为判断任意给定一个大于2的整数是否为质数奠定基础师生活动:让学生试着说说看,可能会出现不同情况.教师有针对性地进行相应讲解.第一步,用2除35,得到余数为1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余
15、数为2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数为3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数为0.因为余数为0,所以5能整除35.所以35不是质数学生完成后;教师提问:判断7和判断35是否为质数的算法有何相同之处?有何不同之处? 教师在学生回答后小结:对7是在试完1到6后才知道是质数,对35在试到5时,也就是在试的过程中,就得出不是质数,故没试完;不管哪个数,判断过程都是按一定规则有序进行的,都存在着“重复”这样的结构问题7 你能写出判定1997是否为质数的算法吗?设计意图:让学生在写判断1997是否是质数过程中理解算法概念中的“明确的”,学习
16、用递归语言表达有循环结构的问题体会算法的结构和特征师生活动:让学生试着说一说,可能会出现不同情况.教师有针对性地进行相应讲解.1997太大,像判定7是否为质数那样去判定1997是否为质数是一件很困难的事情.因此,学生可能会写出下列步骤:第一步,用2除1997,得到余数为1.因为余数不为0,所以2不能整除1997.第二步,用3除1997,得到余数为2.因为余数不为0,所以3不能整除1997.第三步,用4除1997,得到余数为1.因为余数不为0,所以4不能整除1997.第1995步,用1996除1997,得到余数为1.因为余数不为0,所以1996不能整除1997.因此,1997是质数.但是,上述表
17、述的不是算法. 是因为“”表达的步骤不明确.计算机无法识别这样的语言但对于像1997这样大的数,要像判定7是质数那样的写出判定其是质数的所有步骤是不现实的.那么,在不改变“规则”的前提下怎样表达这个算法呢?引导学生分析并认识到,在问题5中,判定7是否为质数的每一个步骤,除了除数不同、余数不同外其余的内容是一致的.如果用i表示除数,r表示余数,那么所有步骤都包含以下内容:“用i除7,得到余数为r.因为r不为0,所以i不能整除7.”在问题6中,只要把被判定的数7改为1997,则每一步均包含以下内容:“用i除1997,得到余数为r.因为r不为0,所以i不能整除1997.”因此,我们可以把判定1997
18、是否为质数的算法写为:第一步,令i=2.第二步,用i除1997,得到余数为r.第三步,判断r是否为0.若是,则1997不是质数;否则把i的值增加1仍记为i.第四步,判断“i1996”是否成立.若是,则1997是质数;若否,返回第二步.问题8 任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断?设计意图:在问题7学生活动的基础上,通过学生活动,得出该问题的算法,从而促进学生对算法概念的进一步理解,体会算法的特征,感受算法的价值 师生活动:让学生将1997改为任意大于2的整数,改写算法,得出“判定整数n(n2)是否为质数”的算法.得出问题8算法(见教材例1算法)后,教师指出:1.用
19、四步就可以解决问题6的算法,虽然没有使我们直接看到结果,但可以由计算机去解决了(理解定义中:算法通常可以编成计算机程序,让计算机执行并解决问题)2在解决问题过程中,对于反复进行的步骤,可以用递归语言进行描述. 此时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.这类问题的背后含有算法的基本逻辑结构问题9.写出用 “二分法”求方程的近似解的算法.设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点通过此例可以让学生进一步了解算法的逻辑结构,体会算法的思想,了解算法的的特征同时也可以达到巩固用自然语言描述的算法,提高用自然语言描述算法的表达水平.师生活动
20、:教师引导学生分析在二分法求方程近似解过程中所包含的基本逻辑结构,尤其关注其中的循环结构和条件结构(如果考虑时间比较紧,可以展示其算法)在设计算法的时候可以先不考虑精确度,在学生活动后,教师提出,在现有条件下,可以得到方程根存在的区间会越来越小,但我们的操作则永远不能停止因此,需要引入能够控制,使算法具备有“有限”的量,这就是精确度教师与学生共同得出本题算法:第一步,令.给定精确度.第二步, 给定区间,满足.第三步,取中间点.第四步,若则含零点的区间为;否则含零点的区间为.将新得到的含零点的仍然记为. 第五步, 判断的长度是否小于或者是否等于.若是,则是方程的近似解;否则,返回第三步在完成上述
21、算法表达的基础上,教师指出:1如果没有精确度要求,该算法将无法终止(通过精确度强调算法的“有限性”)2改变输入的函数表达式,给定精确度后,上面算法可以求所有方程的近似解,从而强调算法通常是针对解决一类问题而言的,具有普遍适用性(五)归纳小结将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的问题1:今天我们学习了算法的概念,从求解二元一次方程组的算法,到判断质数的算法,到二分法求方程近似解的算法,现在你能谈谈你对算法概念的认识吗?设计意图:以此评价他们对算法的概念以及特征的领会情况.师生活动:学生回答,师生共同评价.问题2:与一般解决问题的过程相比,你认为算法最重要
22、的特征是什么?设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、明确、有限的步骤的领会情况同时提高学生的总结、归纳、表达能力.师生活动:在学生回答的基础上,引导他们归纳:与一般解决问题的步骤相比,算法具有有序性、明确性、有限性等特点.六目标检测设计1课堂检测第1题有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:第一步:检验6=3+3第二步:检验8=3+5第三步:检验10=5+5利用计算机无穷地进行下去!请问,利用这种程序能够证明猜想的正确性吗?这是一个算法吗? 第2题课本第6页练习1(如果上课时间紧张,可以在算法分析后让学生作为课后作业完成)设计意图:促
23、进学生进一步了解算法的概念及特征的,体会算法的思想活动方式:学生独立思考,在学生回答的基础上,教师予以评点第1题解答:这不是算法问题,不符合算法概念中提到的“有限性”第2题第一步,给定一个大于1的整数n.第二步,令.第三步,用除,得到余数为,若,则是的一个因数,输出;否则,不输出.第四步,给增加1仍然用表示.第五步,判断in是否成立,若是,则算法结束;否则,返回第三步.2课后检测第1题. 写出求一元二次方程根的一个算法.设计意图:巩固学生已领会的算法的思想,促进学生用自然语言正确表达算法第一步,计算第二步,如果,则原方程无实数解;第三步:输出或无实数解的信息.第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数. 设计意图:检查学生是否会用自然语言正确表达算法,训练学生的应变能力.第一步,给定一个大于1的整数n.第二步,令.第三步,用除,得到余数为,若,则是的一个因数输出;否则,不输出.第四步,给增加1仍然用表示.第五步,判断in是否成立,若是,则算法结束;否则,返回第三步. 注:本文是中学数学核心概念、思想方法结构体系及其教学设计研究课题成果”