高中数学 第二章 算法初步 2_1 算法的基本思想教案 北师大版必修31
高中数学北师大版必修3第二章《算法初步》(算法的基本思想)word教案
算法的基本思想一、教学内容:新课程高中数学(北师大版)必修3第二章《算法初步》第一节:算法的基本思想。
二、教学目标:1、通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义及其基本特征;2、通过分析具体问题,抽象出算法的过程,培养抽象概括能力、语言表达能力和逻辑思维能力;3、通过算法的学习,进一步让学生体验到数学与现实世界的关系、数学与计算机技术的关系、提高学生学习数学的兴趣。
三、教学重点:1、了解算法的含义及其基本特征;2、掌握算法的表示形式。
四、教学难点:算法的表示形式。
五、教学方法:任务驱动法。
六、教学过程:(一)情景导入:在与学生的寒暄中引入今天的课题,并让学生来猜猜老师衣服的价格,提出问题:“怎样才能在有限的次数范围内猜中衣服的价格呢?”师:采用对半价格区间去猜数比较合理,在数学上我们称这种方法为“二分法”下节课我们要重点学习这种方法的应用。
师:可见我们在处理一个问题时,若是有一个好的指导思想,我们在具体行动中就不会显得很盲目,按照既定的策略,在有限的步骤内就可以达到目的。
今天我们这节课的课题就是研究有关解决问题的基本思想方法,在数学上,我们称之为“算法”。
这里的“算法”不是指狭义上的计算方法,而是广义范围内一切解决问题的思想方法。
下面我们再通过几个实例来体会一下算法的基本思想及其算法具有哪些特征。
(二)新课:师:我们先看一下书上的例子例:请设计算法,将936分解成素因素的乘积。
师:请同学们在最短的时间内分解好,提问。
=⨯⨯⨯⨯⨯生:9362223313师:请用语言描述你的思路过程。
若是学生很难用语言描述,老师要及时引导。
解:算法步骤如下:1. 判断936是否为素数:否=⨯2. 确定936的最小素因数:2. 93624683. 判断468是否为素数:否=⨯⨯4. 确定468的最小素因数:2. 936222345. 判断234是否为素数:否=⨯⨯⨯6. 确定234的最小素因数:2. 9362221177. 判断117是否为素数:否=⨯⨯⨯⨯8. 确定234的最小素因数:3. 9362223399. 判断39是否为素数:否=⨯⨯⨯⨯⨯10.确定234的最小素因数:3. 936222331311. 判断13是否为素数:是素数,分解结束 .师:以上就是分解素因数的一个算法,其实算法就是解决问题的一系列步骤,依照这些步骤,按部就班就可以完成任务。
高中数学 第二章 算法初步 2_2_2 变量与赋值教案 北师大版必修31
2.2 变量与赋值整体设计教学分析本节教科书通过实例介绍了设置变量和给变量赋值,给变量赋值实质上是算法语句中的赋值语句,是计算机能够识别的一种算法形式.变量的值可以由输入的方式给定,也可以直接以赋值的方式给定.在算法中,我们可以根据需要改变变量的值,也就是说可以给变量重新赋值,取代原来的值.为了加深学生对算法中变量的理解,建议教师采取形象的方式来解释变量.形象地说,变量就像个盒子,可以装不同的数值,但是每次只能装一个,当放入新值时,原来的值就会被取代.变量参与操作时,它表示的是当前代表的值.值得注意的是,在教学中要结合实例来教学,让学生多分析,从而进一步体会算法的思想.三维目标1.掌握变量、赋值的概念,能够根据需要设置变量和给变量赋值,提高学生的应用能力.2.通过给变量赋值,进一步体会算法的思想.重点难点教学重点:设置变量和给变量赋值.教学难点:设置变量.课时安排1课时教学过程导入新课思路 1.变量和函数是中学数学里最重要和最基本的概念,在算法和程序设计中,它们仍然发挥着重要而基本的作用,它们会使算法的表述变得非常简洁和清楚,教师点出课题.思路 2.在生活中,我们会交换两个杯子中的液体,那么怎样交换两个变量的值呢?教师点出课题.推进新课新知探究提出问题1.什么叫变量?2.什么叫赋值?3.怎样交换两个变量的值?讨论结果:1.在研究问题的过程中,可以取不同数值的量称为变量.在算法和程序设计中,变量会使算法的表述变得非常简洁和清楚.2.赋值:把B的值赋给变量A,这个过程称为赋值,记作A=B,其中“=”为赋值符号.注意:赋值符号“=”的右边B可以是常数,也可以是表达式,还可以是变量,但是赋值符号“=”的左边A只能是变量,否则没有意义.3.交换两个变量A和B的程序很多,其中最常见的是:X=A,A=B,B=X,其交换过程可以形象理解为:X=A表示“把A杯中的水倒入X杯中”,这样“A杯”是空杯子,A=B表示“把B杯中的水倒入A杯中”,这样“A杯”中的水换成了“B杯”中的水,此时“B杯”是空杯子,B=X表示“把X杯中的水倒入B杯中”,这样“B杯”中的水换成了“X杯”中的水,即“A杯”中的水,交换结束.其交换过程可以用图1表示:图1应用示例思路1例1 设计一个算法,从5个不同的数中找出最大数,用算法框图描述这个算法.分析:解决这个问题的思路很简单,先选2个数进行比较,去掉小的,留下大的;再取第3个数与留下的数进行比较,去掉小的,留下大的;继续进行,直到每个数都被比较,最后留下的数就是最大数.解:记这5个不同的数分别为a1,a2,a3,a4,a5,算法步骤如下:1.比较a1与a2,将较大的数记作b.(在这一步中,b表示的是前2个数中的最大数)2.再将b与a3进行比较,将较大的数记作b.(执行完这一步后,b的值就是前3个数中的最大数)3.再将b与a4进行比较,将较大的数记作b.(执行完这一步后,b表示的是什么)4.再将b与a5进行比较,将较大的数记作b.(执行完这一步后,b表示的是什么)5.输出b,b的值即为所求的最大数.以上算法步骤如图2所示:图2在上述算法的4个步骤中,每步都要与上一步中得到的最大数b进行比较,得出新的最大数,将其也记作b.b可以取不同的值,通常把b称作变量.比如第1步中,如果a1>a2,则把a1的值赋予b,否则就把a2的值赋予b.这个过程称为赋值.把将a1的值赋予b记作b=a1,其中“=”为赋值符号.上例解中的第1步用赋值语句,可以表示为:如果a1>a2,则b=a1;否则b=a2.下面,我们用变量与赋值来表示例1的算法步骤:1.b =a 1;2.比较b 与a 2,如果b <a 2,则b =a 2;3.比较b 与a 3,如果b <a 3,则b =a 3;4.比较b 与a 4,如果b <a 4,则b =a 4;5.比较b 与a 5,如果b <a 5,则b =a 5;6.输出b ,b 就是这5个数中的最大数.算法框图如图3:图3点评:变量和赋值的概念在算法中十分重要.可以把变量想象成一个盒子,赋值就相当于往盒子里放东西.这个盒子可以装不同的数值,但是一次只能装一个,当赋予它新值的时候,原来的值将被新值取代.当变量参与运算和操作时,它表示的是想象中盒子里装的值. 变式训练用赋值语句写出下列算法,并画出算法框图:摄氏温度C 为23.5 ℃,将它转换成华氏温度F ,并输出.已知F =95C +32. 解:这个算法需要设置两个变量:C 和F ,分别代表输入的摄氏温度和输出的华氏温度.算法可以描述如下:C =23.5;F =95C +32; 输出F .算法框图如图4:图4例2 经过市场调查分析得知,1999年第一季度内,某地区对某件商品的需求量为12 000件.为保证商品不脱销,商家在月初时将商品按相同数量投放市场.已知年初商品的库存量为50 000件,用S表示商品的库存量,请设计一个算法,求出第一季度结束时商品的库存量,并画出算法框图.分析:因为第一季度商品的需求量为12 000件,而且每个月以相同数量投放市场,因此每个月向市场投放4 000件商品.可以用下表表示库存量随着月份的变化情况.还可以用下列赋值语句来表示库存量的变化:S=S-4 000.赋值号左边的变量S可看作盒子,如果它表示的是这个月的存储量,那么右边的变量S 表示的是上个月的存储量.这是对变量S的赋值,赋值的目的是改变变量的值,将变量上次的值减去4 000再次赋予变量S.解:算法算法框图如图5:图5点评:利用了变量和赋值语句,算法的表示变得非常简洁和清晰.变式训练假设我国每年消费品的价格增长率为3%,在这种情形下,某种品牌的钢琴2004年的价格是10 000元,请用算法框图描述这种钢琴今后4年的价格变化情况,并输出4年后钢琴的价格.分析:用P表示钢琴的价格,不难算出:2005年P=10 000(1+3%)=10 300;2006年P=10 300(1+3%)=10 609;2007年P=10 609(1+3%)=10 927.27;2008年P=10 927.27(1+3%)≈11 255.09.年份20042005200620072008钢琴价格P/元10 00010 30010 60910927.2711255.09这个变化情况可以用下列赋值语句来表示:=(1+3%).如果左边的变量P表示的是今年的钢琴价格,那么右边的变量P表示的是去年的钢琴价格.解:算法框图如图6:图6思路2例1 给出下面算法框图(图7):图7当输入A =21,B =36,则输出__________.解析:算法框图的功能是交换变量A ,B 的值.答案:36,21点评:给出算法框图,判断其运行的结果时,要按流程线的指向,依次执行,最后才能得到结果.例 2 一次期末统考中,高一(2)班的张倩同学的语文、数学、英语、物理、化学、生物的成绩分别为135,142,138,97,95,91分,编写程序计算张倩的平均分.分析:先写出解决问题的算法步骤即进行算法分析,再画出算法框图.解:方法一:算法分析:1.计算y =135+142+138+97+95+916; 2.输出y .算法框图如图8所示.图8方法二:算法分析:1.输入张倩的六科成绩a,b,c,d,e,f;2.计算y =a +b +c +d +e +f 6;3.输出y .算法框图如图9所示.图9点评:方法二比方法一更体现算法的普遍性:解决一类问题.方法一的设计仅仅是求张倩的平均分,方法二的设计能求所有学生的平均分带有普遍性.因此方法二是最优算法.知能训练1.下列框图中具有赋值、计算的是( ).A .处理框B .输入、输出框C .循环框D .判断框答案:A2.下面程序框在算法框图中具有计算功能的是( ).答案:C3.阅读算法框图(图10),若输入的a ,b ,c 分别为21,32,75,则输出的a ,b ,c 分别是( ).图10 A .75,21,32B .21,32,75C .32,21,75D .75,32,21答案:A拓展提升阅读算法框图(图11),其输出的结果是__________.图11解析:在题中所给的算法框图中,首先赋给x的初始值为2,再把2x+1=5赋给变量y,则y=5,又把3y-2=13赋给变量b,则b=13,所以易得最后结果为13.答案:13课堂小结本节课学习了设置变量和给变量赋值.作业习题2—2 A组 2.设计感想本节教学设计旨在让学生进一步体会算法的思想,初步掌握设置变量和给变量赋值.在实际应用时,要结合学生的实际来选择使用.备课资料在进行四则运算时,一般的计算器只用到了两个存储数据的装置A,B;0~9的10个数字键是负责输入数据的;“+、-、×、÷”四个键的功能是确定要执行的运算;“=”键的功能是取出A,B中存储的数据,执行已确定的运算,并把相应的运算结果存在A中.在未执行任何运算时A和B中存储的值都是0,并且在完成一次运算后你还可以用CLEAR键,使A和B中存储的值都是0;输入数据时,如果前一个操作不是按的运算键,则输入的数据存储在A中,反之,则将输入的数据存储在B中.如果计算器不能进行混合运算,每次只能执行一种运算,请你运用前面的功能设计出计算C(D+E-F)的操作步骤.操作步骤如下:1.输入数据D给A.2.确定要执行的运算是“+”.3.输入数据E给B.4.按“=”键执行“+”运算,A=A+B,输出A中值在显示屏上.5.确定要执行的运算是“-”.6.输入数据F给B.7.按“=”键执行“-”运算,A=A-B,输出A中值在显示屏上.8.确定要执行的运算是“×”.9.输入数据C给B.10.按“=”键执行“×”运算,A=A×B,输出A中值在显示屏上.欢迎您的下载,资料仅供参考!。
高中数学 第章 算法初步 .2 流程图 .2.2 选择结构教案 必修3
1.2.2选择结构整体设计教材分析在一个算法中经常会遇到对一个条件进行判断,如果条件成立则执行某个操作,如果条件不成立则执行另一个操作.因此在算法的流程图中,根据条件是否成立有着不同的流向.像这种根据条件作出判断,再决定执行哪一种操作的结构称为选择结构(selection structure)(或称“分支结构")。
一个选择结构都包含一个判断框,当条件成立时执行标有“Y”或者“是”的分支,当条件不成立时执行标有“N”或者“否”的分支。
图1的虚线框内就是常见的几种选择结构,在(1)中,当条件“n>3”成立时执行A,否则执行B;在(2)中,当条件“n>3”成立时执行A,否则直接脱离选择结构;在(3)中,当条件“n〉3"成立时直接脱离选择结构,否则执行B。
图1对于选择结构要注意以下几点:(1)在选择结构中不论条件是否成立,只能执行A框或者B框之一,不能既执行A框,又执行B框,即“Y"和“N”两者之中只能选择一个,不能两者都选择;(2)在选择结构中不论条件是否成立,必须执行A框或者B框之一,不能既不执行A框,又不执行B框,即“Y”和“N”两者之中必须选择一个,不能两者都不选择;(3)A框和B框中可以有一个是空的,即可以不执行任何操作直接脱离选择结构,但是不能两个框都是空的;(4)无论走哪条路径,执行完A或者B之后都经过P,然后才脱离选择结构;(5)选择结构可以是嵌套的,即在选择结构之中还可以出现选择结构,这种结构主要是出现在有多个条件判断的算法中;(6)选择结构可以和其他结构嵌套,形成比较复杂的结构;(7)A框或者B框可以不止一个操作,A框本身就可以是一个独立的算法结构.三维目标1。
通过实例的训练,使学生理解选择结构的意义。
2.能用流程图表示选择结构以及能用选择结构的流程图表示简单问题的算法,养成良好的逻辑思维习惯,发展有条理的思考与表达能力,达到提升学生逻辑思维能力的目标.重点难点教学重点:用选择结构的流程图表示算法。
高中数学 第二章 算法初步教案 北师大版必修31
高中数学第二章算法初步教案北师大版必修3整体设计教学分析前面学习了算法、算法框图与几种算法语句,本节课作为本章的小结,旨在和学生一起站在全章的高度,以算法思想为灵魂,以问题解决为主线,以典型例题为操作平台,以巩固知识、发展能力、提高素养为目的对本章作全面的复习总结,帮助学生进一步提高对算法的理解和认识,优化知识结构.三维目标1.对本章知识形成知识网络,提高学生的逻辑思维能力,培养学生的归纳能力.2.熟练应用算法、算法框图与基本算法语句来解决问题,培养学生的分析问题和解决问题的能力,逐步学会用数学方法去认识世界、改造世界.重点难点教学重点:应用算法、算法框图与基本算法语句解决问题.教学难点:形成知识网络.课时安排1课时教学过程导入新课思路1(情境导入).大家都熟悉围棋高手“石佛”李昌镐吧,他曾经打遍天下无敌手.他的技术很全面,但他最厉害的技术是“官子”,他的“官子”层次分明,可以说滴水不漏,堪称世界第一.我们的这次复习也要像围棋中的“官子”,也要做到层次分明滴水不漏.思路2(直接导入).前面我们学习了算法、算法框图与基本算法语句等内容,今天我们对本章知识、方法、数学思想进行全面系统的总结与复习.推进新课新知探究提出问题1.请同学们自己梳理本章知识结构.2.回顾算法的定义及特征.3.回忆算法框图的三种逻辑结构.4.总结算法语句.讨论结果:1.本章知识结构如图1.图12.算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法,等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.算法的特征:(1)确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.(2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣、分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.3.顺序结构、选择结构、循环结构. 4.(1)条件语句:If 条件 Then 语句1Else 语句2End If当计算机执行上述语句时,首先对If 后边的条件进行判断,如果满足条件,那么执行语句1,再执行End If 之后的语句即结束条件语句;如果不满足条件,那么执行语句2,再执行End If 之后的语句即结束条件语句.(2)For 语句:For 循环变量=初始值 To 终值 循环体NextFor 语句适用于预先知道循环次数的循环结构. (3)Do Loop 语句: Do循环体Loop While 条件为真Do Loop 语句适用于预先不知道循环次数的循环结构. 应用示例例1 如图2所示,该语句运行后输出的结果为__________.图2解:该算法框图的运行过程是: A =1 S =1S =1+9=10 A =1+1=2 A >2不成立 S =10+9=19 A =2+1=3 A =3>2成立 输出S =19 答案:19点评:解决同一个问题,可以有多种算法,那么就有多种算法框图和语句,再就是不同版本的教科书算法语句的语言形式也不相同,因此高考试题中通常不会考查画算法框图或编写程序.由于学习本章的目的是体会算法的思想,所以已知算法框图或语句,判断其结果是高考考查本章知识的主要形式,这也是课程标准和考试说明对本章的要求.其判断方法是具体运行所给的算法框图或程序,即可得到算法的结果. 变式训练1.给出语句,那么其功能是__________.i =2 sum =0 Dosum =sum +i i =i +2Loop While i <100 输出sum答案:计算2+4+6+…+98的值 2.下列语句的功能是__________S =0 k =1 DoS =S +1/k =k +1Loop While k≤100 输出S答案:求1+12+13+…+1100的值例2已知函数y =⎩⎪⎨⎪⎧2x-1,x ≤-1,log 3x +,-1<x <2,x 4,x ≥2,试设计一个算法,输入x 的值,求对应的函数值.分析:对输入x 的值与-1和2比较大小,即分类讨论. 解:算法如下: 1.输入x 的值.2.当x ≤-1时,计算y =2x-1,否则执行下一步.3.当x ≥2时,计算y =x 4,否则执行下一步. 4.计算y =log 3(x +1). 5.输出y .点评:分段函数是高考考查的重点,在考虑算法步骤时,要用到分类讨论思想,这为复习算法框图和算法语句打好了基础. 变式训练给出下列算法: 1.输入x 的值.2.当x ≤-2时,计算y =-x -2,否则执行下一步. 3.当x ≥0时,计算y =x +1,否则执行下一步. 4.计算y =3. 5.输出y .该算法的功能是__________.答案:已知函数y =⎩⎨⎧-x -2,x ≤-2,3,-2<x <0,x +1,x ≥0,输入x 的值,求对应的函数值例3 图3是表示求解方程x2-(a+1)x+a=0(a∈R,a是常数)过程的算法框图.请在标有序号(1)(2)(3)(4)处填上你认为合适的内容将框图补充完整.(1)__________;(2)____________;(3)__________;(4)__________.图3分析:观察算法框图可知,所解方程是一元二次方程,先计算判别式Δ=(a+1)2-4a =(a-1)2,所以(1)处填(a-1)2;计算判别式Δ的大小后,再判断其符号,由于Δ=(a-1)2,则只需判断a是否等于1即可,则(2)有两种填法a=1或a≠1,当(2)处填a=1时,(3)处填x1=x2=1,(4)处填x1=a,x2=1;当(2)处填a≠1时,(3)处填x1=a,x2=1,(4)处填x1=x2=1.答案:(1)(a-1)2(2)a=1 (3)x1=x2=1 (4)x1=a,x2=1或(1)(a-1)2(2)a≠1 (3)x1=a,x2=1 (4)x1=x2=1点评:用合适的内容补充完整框图是高考考查的重点,尤其是选择结构和循环结构不仅是考查的重点,也是这类问题的难点,应重点训练.知能训练1.图4中算法框图表示的语句所输出的结果是( ).图4A.11 B.12 C.132 D.1 320分析:该语句算法框图的运行过程是:i=12S=1i=12≥10成立S=1×12=12i=12-1=11i=11≥10成立S=12×11=132i=11-1=10i=10≥10成立S=132×10=1 320i=10-1=9i=9≥10不成立输出S=1 320答案:D2.给出下面的语句: 输入m ,n Dor =m MOD n m =n n =rLoop While r≠0输出m当输入168,72时,输出的结果是( ). A .168 B .72 C .36 D .24 答案:D 拓展提升数学的美是令人惊异的!如三位数153,它满足153=13+53+33,即这个整数等于它各位上的数字的立方的和,我们称这样的数为“水仙花数”.请您设计一个算法,找出大于100,小于1 000的所有“水仙花数”.(1)用自然语言写出算法; (2)画出算法框图.分析:由于需要判断大于100,小于1 000的整数是否满足等于它各位上的数字的立方的和,所以需要用循环结构.解:(1)算法步骤如下: 1.i =101;2.如果i不大于999,则执行第3步,否则算法结束;3.若这个数i 等于它各位上的数字的立方的和,则输出这个数; 4.i =i +1,返回第2步. (2)算法框图,如图5所示.图5课堂小结(1)复习有关算法步骤、算法框图、算法语句的重点题型. (2)总结有关算法步骤、算法框图、算法语句的思想方法. 作业复习参考题二 A 组 5,6.设计感想本节通过引入强调进行小结的重要性,通过大量生动活泼的例题对本章进行系统的总结,通过精彩的点评渗透算法的基本思想,使学生的知识得到进一步巩固,使学生的思想方法不断升华.备课资料人机大战的启示人类的许多进步之所以产生,多半是发明了一个更好、更有力的工具.物质工具使工作速度加快并使人们从重体力劳动中解脱出来,而信息工具则扩大人们的智力.物质工具如犁、起重机、推土机、内燃机、电动机等,是人的四肢的延伸,而计算机是人的大脑的延伸.它最初只能进行数值计算,但随着其发展,应用范围不断扩大.它不仅能够进行计算,还能进行记忆、判断、推理、设计、控制、自动化处理等.一句话,只要是能输入计算机里的信息,它都能按照人的要求对信息进行迅速而圆满的处理.因此,计算机也被称为电脑.在短短十几年的时间里,我们经历了计算机深入生活每一个角落的过程,深深感受到了计算机多方面的强大的功能.其中,国际象棋大师卡斯帕罗夫与IBM“深蓝”的人机大战的结果曾引起世人瞩目和激烈讨论,留下了有关计算机与人的关系的种种思考.1989年,美国IBM公司成立了“深蓝”(Deep Blue)项目小组,开始着手研究有关计算机下棋方面的技术,其实就是设计下棋的算法.其目的是证明它具有能够处理复杂博弈模式的能力,而真正的意图是,以此作为一个模型,将并行技术深入到其他各种复杂应用领域.1988年,“深蓝”的前身“深思”(Deep Thought)在华裔科学家许峰雄等人的开发下,已经具备与人进行国际象棋比赛的能力.“深蓝”在开始设计时就以超越“深思”为目的,特别在运算速度与处理能力部分.经过不断的努力,1996年2月,当今最优秀的国际象棋棋手、世界冠军卡斯帕罗夫与“深蓝”计算机展开了第一次真正的角逐.比赛为六局对抗赛.虽然卡斯帕罗夫最终以4∶2的比分取胜,但今天计算机所达到的能力,也着实让全世界吃了一惊.尤其是第一局,“深蓝”以获胜来了个“开门红”.卡斯帕罗夫在赛后承认,“深蓝”是必须认真对待的劲敌,他说:“我没有料到它如此难以对付,我输掉第一局非常幸运,因为那是给我发出的最严重警告.”由于卡斯帕罗夫战胜“深蓝”,他预言:“在严肃、经典的比赛中,计算机在本世纪没有赢棋的机会.”然而,卡斯帕罗夫对计算机技术的飞速发展估计错了.仅仅一年后,“深蓝”就战胜了这位大师.1997年5月人机大战重开.前五局战平,5月11日第六局决胜局的比赛,卡斯帕罗夫仅走了19步便向“深蓝”认输.“深蓝”重达1.4吨,拥有32个节点,每一节点有8块专门为进行国际象棋对弈设计的处理器,从而拥有每秒运算超过2亿步的惊人速度.为了使“深蓝”能拥有更多的资源规划棋步,开发小组汇集了一个开放棋局的数据库,输入了100年来世界顶级棋手的棋局,此外还有残局数据库,即最后五步时的走法,形成了汇集10亿个棋局的数据库.自1996年在输给卡斯帕罗夫之后,美国特级大师本杰明加盟“深蓝”,将他对象棋的理解编成语句输入“深蓝”,且在1997年的比赛中,每场对局结束后,小组都会根据卡斯帕罗夫的情况相应地修改特定的参数.“深蓝”在比赛中,不会疲倦、不会有心理和情绪上的起伏,只是不动声色地进行高速准确的运算.因此,卡斯帕罗夫的对手并不是“深蓝”主机,而是一群人如何运用电脑的硬、软件来向一个人的智慧和反应挑战.电脑的胜利说到底是人脑的胜利.但是“深蓝”的这次胜利,毕竟标志着计算机技术又上了一个新台阶,更准确地说,这次“深蓝”胜利,是人脑经过电脑胜过人脑.它也反过来让人们思考,什么是思维的本质?它第一次让人类如此真切地感受到了电脑与人的相异却又能够与人对抗的能力,这种力量还会从人们今后的努力中得到滋养从而不断壮大.有人曾将人机大战称为捍卫人类尊严的比赛,此次“深蓝”获胜,绝不意味人类的尊严丧失殆尽.许峰雄博士说得好:“棋王卡斯帕罗夫的胜利是为人类的过去赢了一盘棋;今年,‘深蓝’胜卡斯帕罗夫,是为人类的未来赢了一盘棋.”另外,深具意义的是,“深蓝”证明了人类的极限.超越人类的极限是一件很大的事情,人类就是在不断超越自己的极限中而进步的.。
高中数学-2.1算法的基本思想教学设计-北师大版必修3
第二章 算法初步第一课时 2.1算法的基本思想【课程标准】通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义.【教学目标】1.理解算法的概念与特点;2.学会用自然语言描述算法,体会算法思想;3.培养学生逻辑思维能力与表达能力.【教学重点】算法概念以及用自然语言描述算法【教学难点】用自然语言描述算法【教学过程】一、序言算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础. 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具. 听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域. 那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学学习中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.二、实例分析例1:写出你在家里烧开水过程的一个算法.解:第一步:把水注入电锅;第二步:打开电源把水烧开; 第三步:把烧开的水注入热水瓶.(以上算法是解决某一问题的程序或步骤)例2:给出求1+2+3+4+5的一个算法.解: 算法1 按照逐一相加的程序进行.第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6;第三步:将第二步中的运算结果6与4相加,得到10;第四步:将第三步中的运算结果10与5相加,得到15.算法2 运用公式123n ++++= 2)1(+n n 直接计算. 第一步:取n =5; 第二步:计算2)1(+n n ; 第三步:输出运算结果.算法3 用循环方法求和.第一步:使1S =,;第二步:使2I =;第三步:使S S I =+;第四步:使1I I =+; 第五步:如果5I ≤,则返回第三步,否则输出S .点评:一个问题的算法可能不唯一.例3 给出求解方程组274511x y x y +=⎧⎨+=⎩的一个算法.解:用消元法解这个方程组,步骤是: 第一步:方程①不动,将方程②中x 的系数除以方程①中x 的系数,得到乘数422m ==; 第二步:方程②减去m 乘以方程①,消去方程②中的x 项,得到2733x y y +=⎧⎨=-⎩; 第三步:将上面的方程组自下而上回代求解,得到1y =-,4x =.所以原方程组的解为41x y =⎧⎨=-⎩. 点评:通过例1再次明确算法特点:有限性和确定性例4.用二分法设计一个求解方程x 2–2=0的近似根的算法。
北师大版高中高二数学必修3《算法初步》教案及教学反思
北师大版高中高二数学必修3《算法初步》教案及教学反思一、教学内容概述本节课的教学内容为《算法初步》,是高中高二数学必修3的一部分。
主要包括算法的概念、常见算法的分类、算法的思路以及问题的解法。
学生需要掌握算法的基本概念,理解常见的算法分类,学会利用具体的案例来解决问题。
在本课的教学过程中,着重培养学生的算法思维能力和实际解决问题的能力。
二、教学目标1.掌握算法的基本概念和常见的算法分类。
2.了解算法在实际问题中的应用。
3.培养学生的算法思维能力。
4.提高学生的实际运用算法进行问题解决的能力。
三、教学过程1. 导入环节我首先通过一个简单的小问题导入本节课的内容:假设你要在电脑里存储一些数据,如何更好地进行数据管理?通过这个问题引导学生思考如何应用算法来进行数据管理。
然后我向学生介绍了本节课的教学内容:算法初步。
我解释了什么是算法以及算法的重要性。
在此基础上,我向学生介绍了常见的算法分类以及算法的思路。
2. 讲解及演示我通过PPT讲解了各种算法分类的特点、应用以及实现方法,并结合具体的案例进行演示。
在演示过程中,我让学生自己动手模拟数据来实践演算法。
通过实践操作,学生可以更深刻地理解算法的思路和应用。
同时,我也让学生分享自己对于算法的理解和应用经验,鼓励他们在实际操作中不断地思考和总结。
3. 练习及测试在演示和讲解完毕之后,我设置了一些练习题来巩固学生掌握的知识,并通过一些测试题来检验学生的学习成果。
测试题设置了多种不同难度的问题,包括选择题、填空题和解答题等,帮助学生更全面地掌握算法的基本概念和使用方法。
4. 总结最后,我通过一些问题来总结本节课所学的内容,以便学生回顾整个学习过程并让他们更加深刻地理解算法的重要性和应用。
同时,我还向学生介绍了如何在日常生活中进行算法思维的应用,鼓励他们发挥创造力、勇于努力,将所学应用到生活中去。
四、教学反思通过本节课的教学,我发现学生在算法的理解和应用方面存在一些困难。
高中数学《算法初步》教案新人教A版必修
高中数学《算法初步》教案新人教A版必修一、教材分析本节课所使用的教材为新人教A版高中数学必修教材,内容涉及算法初步。
算法初步是高中数学的重要组成部分,主要让学生了解算法的基本概念、特点和应用。
通过学习算法初步,学生能够理解算法的本质,提高解决问题的能力。
二、教学目标1. 了解算法的概念、特点和表示方法。
2. 掌握算法的基本逻辑结构,如顺序结构、条件结构和循环结构。
3. 能够分析实际问题,设计简单的算法解决问题。
4. 培养学生的逻辑思维能力和创新能力。
三、教学重点与难点1. 教学重点:算法的概念、特点和表示方法。
算法的基本逻辑结构。
设计简单算法解决问题的方法。
2. 教学难点:算法的设计和分析。
循环结构在实际问题中的应用。
四、教学方法1. 采用问题驱动的教学方法,引导学生从实际问题中认识算法的重要性。
2. 通过案例分析,让学生理解算法的基本逻辑结构。
3. 利用编程实践,培养学生设计算法解决问题的能力。
4. 采用小组讨论、合作学习的方式,提高学生的参与度和积极性。
五、教学过程1. 导入新课:通过生活中的实例,引导学生了解算法在日常生活中的应用。
提问:什么是算法?算法有什么特点?2. 讲解算法的基本概念:解释算法的定义,强调算法是解决问题的一系列步骤。
阐述算法的特点,如确定性、有穷性和可行性。
3. 学习算法表示方法:介绍算法的图形表示和伪代码表示。
举例说明不同表示方法在解决问题中的应用。
4. 掌握算法的基本逻辑结构:顺序结构:按照一定的顺序执行步骤。
条件结构:根据条件选择不同的执行路径。
循环结构:重复执行某些步骤直到满足条件。
5. 设计简单算法解决问题:分析实际问题,如计算Fibonacci 数列的前n项和。
引导学生设计算法,并利用编程工具实现。
6. 课堂小结:强调算法在解决问题中的重要性。
7. 课后作业:完成课后练习,巩固所学内容。
设计一个简单的算法,解决实际问题。
8. 课后反思:教师对本节课的教学效果进行反思,分析学生的掌握情况。
高中数学 第2章 算法初步 1 算法的基本思想教学案 北师大版必修3-北师大版高一必修3数学教学案
1 算法的基本思想[核心必知]1.算法的概念在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这一系列步骤来解决问题,我们把这一系列步骤称为解决这个问题的一个算法.2.算法的作用现代算法的作用之一是使计算机能代替人完成某些工作,这是学习算法的重要原因之一.[问题思考]1.是不是任何一个算法都有明确结果?提示:是,因为算法的步骤是明确的和有限的,有时可能需大量重复的计算,但只要按部就班地去做,总能得到确定的结果.2.一个具体问题的算法唯一吗?提示:解决一个具体问题的算法可有多个,但我们可以选择其中最优的、最简单的、步骤尽量少的算法.讲一讲1.以下语句中是算法的有( )①做饭需要刷锅、淘米、加水、加热这些步骤;②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;③方程x2+2x-3=0有两个实根;④求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果是10.A.1个B.2个C.3个 D.4个[尝试解答] ①说明了做饭的步骤;②中给出了一元一次方程这一类问题的解决方式;④中给出了求1+2+3+4的一个过程,最终得出结果;对于③,并没有说明如何去算,故①②④是算法,③不是算法.[答案]C解答这类问题的方法为特征判断法,主要从以下三方面判断:(1)看是否满足顺序性.算法实际上就是顺序化的解题过程,是指可以用计算机来解决某一类问题的程序或步骤.(2)看是否满足明确性.算法的每一步都是确定的,而不是含糊的、模棱两可的. (3)看是否满足有限性.一个算法必须在有限步后结束.如果一个解题步骤永远不能结束,那么就永远得不到答案.因此,有始无终的解题步骤不是算法.此外,算法的不唯一性也要考虑到. 练一练1.以下语句表达中是算法的有( )①从某某到巴黎可以先乘火车到,再坐飞机抵达; ②12x >2x +4; ③求M (1,2)与N (-3,-5)两点连线的方程,可先求MN 的斜率,再利用点斜式方程求得. A .0个 B .1个C .2个 D .3个解析:选C ①中说明了从某某到巴黎的行程安排,完成任务.对于②没有说明如何去做.③说明了求直线MN 的方程的算法步骤.讲一讲2.给出解方程ax 2+bx +c =0(a 、b 、c 为实常数)的一个算法. [尝试解答] 算法步骤如下:1.当a =0,b =0,c =0时,解集为全体实数; 2.当a =0,b =0,c ≠0时,原方程无实数解; 3.当a =0,b ≠0时,原方程的解为x =-cb;4.当a ≠0且b 2-4ac >0时,方程有两个不等实根x 1=-b +b 2-4ac 2a ,x 2=-b -b 2-4ac2a;5.当a ≠0,b 2-4ac =0时,方程有两个相等实根x 1=x 2=-b2a ;6.当a ≠0且b 2-4ac <0时,方程没有实数根.设计算法的基本要求是:(1)设计的算法必须能解决一类问题并且能重复使用;(2)算法的过程需能一步步执行,每步执行的操作必须确切,不能含糊不清,而且经过有限步运算后能得出结果;(3)任何算法都必须输出结果,否那么是无意义的算法;(4)如果需要分类讨论解决的问题,那么设计的算法中,要根据条件是否成立来决定执行任务的步骤;(5)如果需要重复做同一种动作,那么设计的算法要含有返回步骤. 练一练2.写出解方程x 2-2x -3=0的一个算法. 解:法一:1.移项,得x 2-2x =3;① 2.①两边同时加1并配方,得(x -1)2=4;② 3.②式两边开方,得x -1=±2;③ 4.解③得x =3,或x =-1.法二:1.计算方程的判别式并判断其符号,Δ=(-2)2-4×1×(-3)=16>0; 2.将a =1,b =-2,c =-3代入求根公式x =-b ±b 2-4ac2a ,得x 1=3,x 2=-1.[解题高手][易错题]设计一个算法,求1+2+3+4+5+6+7+8+9+10的值. [错解] 1.计算1+2的值为3; 2.将3加到上一步的结果中,3+3=6; 3.将4加到上一步的结果中,6+4=10; …9.将10加到上一步的结果中,45+10=55; 10.输出结果为55.[错因] 根据算法的确定性.算法的每一步都是明确具体的.当算法中出现类似步骤时,可以给出判定条件重复执行,不能由省略号代替.此题做错的根本原因在于对算法的确定性理解不到位.[正解] 算法: 1.令S =0,n =1;2.将n加给S;3.判断n是否为10,假设不是,那么n加1后,执行第二步;假设n是10,那么输出结果S后结束.1.以下说法正确的选项是( )A.“5+6=11〞是一个算法B.“3是15与21的公约数〞是一个算法C.判断15是否为素数的一个程序或步骤是一个算法D.用二分法求方程x2-2=0的近似根(精确到0.01)是一个算法解析:选D算法中的程序或步骤应是明确的,有效的,且在有限步之内能够解决问题.2.以下可以看成算法的是( )A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B.今天餐厅的饭真好吃C.这道数学题难做D.方程2x2-x+1=0无实数根解析:选A A是学习数学的一个步骤,所以是算法.3.计算以下各式中的S值,能设计算法求解的是( )①S=1+2+3+ (100)②S=1+2+3+…+100+…;③S=1+2+3+…+n(n≥1,且n∈N+).A.①②B.①③C.②③ D.①②③解析:选B算法的设计要求步骤是可行的,并且能在有限步之内完成任务.4.以下有六个步骤:①拨号;②等拨号音;③提起话筒(或免提功能);④开始通话或挂机(线路不通);⑤等复话方信号;⑥结束通话.试写出打一个本地的算法________.(只写编号)解析:按照拨打的顺序设计,同时考虑所有可能的情况. 答案:③②①⑤④⑥5.求二次函数y =ax 2+bx +c (a ≠0)的最值的一个算法如下,请将其补充完整: 1.计算m =4ac -b24a.2.________________________________________________________________________. 3.________________________________________________________________________. 解析:m 是最大值还是最小值由a 的正负确定,依据二次函数求最值的方法,确定第二、三步的内容.答案:如果a >0,那么得到y min =m ,否那么执行第三步 得到y max =m 6.求半径r =2的圆的周长,写出算法. 解:算法如下: 1.取r =2; 2.计算C =2πr ; 3.输出C .一、选择题1.想泡茶喝,当时的情况是:火已经生起了,凉水和茶叶也有了,开水没有,开水壶要洗,茶壶和茶杯要洗,下面给出了四种不同形式的算法过程,你认为最好的一种算法是( )A .洗开水壶,灌水,烧水,在等待水开时,洗茶壶、茶杯、拿茶叶,等水开了后泡茶喝B .洗开水壶,洗茶壶和茶杯,拿茶叶,一切就绪后,灌水,烧水,坐等水开后泡茶喝C .洗开水壶,灌水,烧水,坐等水开,等水开后,再拿茶叶,洗茶壶、茶杯,泡茶喝D .洗开水壶,灌水,烧水,再拿茶叶,坐等水开,洗茶壶、茶杯,泡茶喝解析:选A 解决一个问题可以有多种算法,可以选择其中最优、最简单、步骤尽可能少的算法.选项中的四种算法中都符合题意,但算法A 运用了统筹法原理,因此这个算法要比其余的三种算法科学.解析:选C 算法指的是解决一类问题的方法或步骤,选项C 只是一个纯数学问题,没有解问题的步骤,不属于算法.3.以下表达能称为算法的个数为( ) ①植树需要运苗、挖坑、栽苗、浇水这些步骤.②顺序进行以下运算:1+1=2,2+1=3,3+1=4,…,99+1=100. ③从枣庄乘火车到某某,从某某乘飞机到某某. ④3x >x +1.⑤求所有能被3整除的正数,即3,6,9,12,…. A .2 B .3C .4 D .5解析:选B 根据算法的含义和特征:①②③都是算法.④⑤不是算法.其中④,3x >x +1不是一个明确的逻辑步骤,不符合逻辑性;⑤的步骤是无穷的,与算法的有穷性矛盾.4.以下所给问题中:①二分法解方程x 2-3=0(精确到0.01);②解方程⎩⎪⎨⎪⎧x +y +5=0,x -y +3=0;③求半径为2的球的体积; ④判断y =x 2在R 上的单调性.其中可以设计一个算法求解的个数是( ) A .1 B .2C .3 D .4解析:选C 由算法的特征可知①②③都能设计算法.对于④,当x >0或x <0时,函数y =x 2是单调递增或单调递减函数,但当x ∈R 时,由函数的图像可知在整个定义域R 上不是单调函数,因此不能设计算法求解.5.算法: 1.输入n ;2.判断n是否是2,假设n=2,那么n满足条件;假设n>2,那么执行第3步;3.依次检验从2到n-1的整数能不能整除n,假设不能整除n,满足条件.上述满足条件的数是( )A.质数 B.奇数C.偶数 D.4的倍数解析:选A由质数的定义知,满足条件的是质数.二、填空题6.以下关于算法的说法,正确的个数有________.①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.解析:由算法的特征(有限性、确定性、有序性等)可知②③④正确,但解决某一类问题的算法不一定是唯一的,故①错.答案:37.给出以下算法:1.输入x的值.2.当x>4时,计算y=x+2;否那么执行下一步.3.计算y=4-x.4.输出y.当输入x=10时,输出y=__________.解析:∵x=10>4,∴计算y=x+2=12.答案:128.直角三角形的两条直角边长分别为a,b,写出求斜边c的算法步骤.1.________________________________________________________________________;2.________________________________________________________________________;3.________________________________________________________________________.解析:先输入a、b的值,再根据勾股定理算出斜边c的长,最后输出c的结果.答案:输入两直角边长a、b的值计算c =a 2+b 2输出斜边长c 的值 三、解答题9.请设计求18的所有正约数的算法. 解:1.18=2×9; 2.18=2×32;3.列出18的所有正约数:1,2,3,32,2×3,2×32. 10.函数y =⎩⎪⎨⎪⎧2x-1 x ≤-1,log 2x +1 -1<x <2,x 2 x ≥2,试设计一个算法,输入x 的值,求对应的函数值.解:算法如下: 1.输入x 的值.2.当x ≤-1时,计算y =2x-1;否那么执行第三步. 3.当x <2时,计算y =log 2(x +1),否那么执行第四步. 4.计算y =x 2. 5.输入y .。
北师大版高中高二数学必修3《算法初步》评课稿
北师大版高中高二数学必修3《算法初步》评课稿1. 引言本文是对北师大版高中高二数学必修3教材中的《算法初步》一课进行评课的文档。
通过对该课进行细致的分析和评价,旨在评估该课程的教学质量和有效性,为教师在今后的教学过程中提供参考。
2. 教学目标本节课的教学目标主要包括以下几个方面:•掌握算法初步的基本概念和基本性质;•知晓算法的分类及其在日常生活中的应用;•能够灵活运用算法解决实际问题;•培养学生分析问题、探索问题、解决问题的能力。
3. 教学内容本节课主要包含以下几个内容:•算法的定义和特点;•常见的算法分类;•算法在计算机科学中的应用;•实例分析和实例训练。
4. 教学分析4.1 教学方法本节课采用了多种教学方法,包括讲授、实例分析和实例训练。
通过讲解算法的定义和特点,引导学生了解算法的基本概念;通过实例分析和实例训练,帮助学生运用算法解决实际问题。
4.2 教学手段本节课采用了多媒体教学手段,辅助教师进行知识讲解和实例演示。
教师运用投影仪呈现教学内容,结合思维导图、流程图等可视化工具,增强学生对算法的理解和掌握。
4.3 学情分析本课程主要针对高中生,他们的数学基础相对较好,对于概念的理解和抽象能力有一定的积累。
然而,算法作为一门非常抽象和理论化的学科,对学生的逻辑思维和综合运用能力提出了更高的要求。
因此,本节课需要教师针对学生的学情,选择合适的教学方法和手段,帮助学生更好地理解和掌握算法的相关知识。
5. 教学过程本节课的教学过程分为以下几个步骤:5.1 导入环节通过提问和小组讨论的方式,激发学生对算法的兴趣和思考。
引导学生思考以下问题:什么是算法?我们日常生活中有哪些常见的算法?5.2 基础知识讲解教师对算法的定义、特点和常见分类进行讲解,并通过示例引导学生理解算法的思想与过程。
5.3 实例分析教师选择一到两个实例,通过具体问题讲述算法的应用过程。
通过思维导图或流程图的形式,帮助学生理清思路和步骤。
高中数学 第二章 算法初步 2_1 算法的基本思想教案 北师大版必修31
第二章算法初步算法是数学及其应用的重要组成部分,是计算科学的重要基础.随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并融入社会生活的方方面面,算法思想已经成为现代人应具备的一种数学素养.需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想.在这一章中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验算法框图在解决问题中的作用;通过模仿、操作、探索,学习设计算法框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力.算法作为新名词,在以前的数学教科书中没有出现过,但是算法本身,同学们并不陌生.解方程的算法、解不等式的算法、因式分解的算法,都是同学们熟知的内容.只是算法的基本思想、特点,学习算法的必要性等问题没有专门涉及.因此,本章中的算法的基本思想,将针对同学们熟悉的一些问题,分析解决这些具体问题的算理,整理出相应问题的解决步骤,然后抽象概括出更具一般意义的算法.通过这个过程,让学生体会算法的程序化思想.同时,针对同样的问题,我们给出不同的算法,让同学们意识到:同一个问题可能存在着多种算法,算法之间有优劣之分.接下来,通过求方程近似解,让同学们意识到学习算法的必要性——将问题的解决过程即算法交给计算机完成,能够极大地提高效率.接下来,介绍算法的基本结构.顺序结构和选择结构是学生比较容易接受的,循环结构则比较难以理解.分析造成理解困难的原因之一是变量以及对变量的处理——赋值.在循环结构的学习中,总结了循环结构的三个要素——循环变量、循环体和循环的终止条件,并提供了可供学生模仿、操作的算法算法框图.排序算法可以说是应用最广泛的算法了,而且又易于理解,便于接受,是算法教学的良好素材.教科书选择这个问题作为专题来讨论,给学生提供了一个完整的分析、设计算法的过程,也给了学生一个应用前面所学的关于变量和结构的知识的机会.在前面的学习中,我们分别用自然语言和算法框图来描述算法,这两种方式各有优缺点.要将算法最终交给计算机执行,需要用程序语言来表述算法,程序语言有很多种,但是有一些基本语句是这些语言都要用到的:输入输出语句、赋值语句、条件语句、循环语句,在本章的最后介绍了这几种基本语句.值得注意的是:1.注重对算法基本思想的理解.算法是高中数学课程中的新内容,其思想非常重要,但并不神秘.例如,运用消元法解二元一次方程组、求最大公因数等的过程本质上就是算法.本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,在条件允许的学校,使其能在计算机上实现.为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成算法框图;为了能在计算机上实现,还需要将自然语言或算法框图翻译成计算机语言.本模块的主要目的是使学生体会算法的思想,提高逻辑思维能力.不要将此部分内容简单处理成程序语言的学习和程序设计.2.算法教学必须通过实例进行.使学生在解决具体问题的过程中学习一些基本逻辑结构和语句.有条件的学校,应鼓励学生上机尝试运行程序.在实例的选择中,我们要把握这样一些原则:亲和原则:选取的例子要贴近学生,或者来自学生的生活实践,或者是学生所学过的数学知识.趣味性原则:选取的实例一般要有丰富的背景,本身要有趣味性.基础性原则:问题本身的算理并不难,只要蕴涵丰富的算法思想即可.可操作性原则:所选取问题的算法一般能在计算机上实现.3.算法教学要注意循序渐进,先具体再抽象,先了解算理,再描述算法.通常,我们说一个算法越是抽象,有一般意义,应用就越广泛,越能体现算法本身的应用价值.但是,作为教学意义上的算法则不同,一定要从具体问题出发分析算法的算理及算法步骤,然后抽象概括出一般意义的算法,画出算法算法框图,并在这个过程中,学习使用变量、赋值,学习更好地表述算法,以便在计算机上操作执行.算法的教学中,变量的理解、赋值的应用、循环结构的理解是重点和难点,教师要注意分散这些难点.学生对算法思想的认识、概念的把握、知识的灵活应用及能力的形成不是一次完成的,而是要把这些作为教学目标渗透在整章的学习中.整体设计教学分析算法在中学数学课程中是一个新的概念,但其没有一个精确化的定义,教科书只对它作了如下描述:“算法是解决某一类问题的步骤和程序.”为了让学生更好地理解这一概念,教科书用5个例子来说明算法的实质.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣. 重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排1课时教学过程导入新课思路 1.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物完好地转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.思路 2.大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.思路 3.算法不仅是数学及其应用的重要组成部分,也是计算科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.如听音乐、看电影、玩游戏、打字、画卡通画、处理数据都能通过计算机实现,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.推进新课新知探究提出问题1.解二元一次方程组有几种方法?2.结合实例⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 总结用加减消元法解二元一次方程组的步骤. 3.结合实例⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 总结用代入消元法解二元一次方程组的步骤.4.请写出解一般二元一次方程组的步骤.5.根据上述实例谈谈你对算法的理解.6.请同学们总结算法的特征.7.请思考我们学习算法的意义.讨论结果:1.代入消元法和加减消元法.2.回顾二元一次方程组⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1②的求解过程,我们可以归纳出以下步骤:第一步,①+②×2,得5x =1.③第二步,解③,得x =15. 第三步,②-①×2,得5y =3.④第四步,解④,得y =35. 第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.3.用代入消元法解二元一次方程组⎩⎪⎨⎪⎧x -2y =-1,①2x +y =1,②我们可以归纳出以下步骤: 第一步,由①得x =2y -1.③第二步,把③代入②,得2(2y -1)+y =1.④第三步,解④得y =35.⑤ 第四步,把⑤代入③,得x =2×35-1=15. 第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.4.对于一般的二元一次方程组⎩⎪⎨⎪⎧ a 1x +b 1y =c 1,a 2x +b 2y =c 2, ①②其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤:第一步,①×b 2-②×b 1,得(a 1b 2-a 2b 1)x =b 2c 1-b 1c 2.③第二步,解③,得x =b 2c 1-b 1c 2a 1b 2-a 2b 1. 第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y =a 1c 2-a 2c 1.④第四步,解④,得y =a 1c 2-a 2c 1a 1b 2-a 2b 1.第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =b 2c 1-b 1c 2a 1b 2-a 2b 1,y =a 1c 2-a 2c 1a 1b 2-a 2b 1.5.算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法,等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.6.算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.7.在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路11在给定素数表的条件下,设计算法,将936分解成素因数的乘积.(4 000以内的素数表见教科书附录1)分析:1.查表判断936是否为素数:(1)如果936是素数,则分解结束;(2)如果936不是素数,则进行第2步.2.确定936的最小素因数:2. 936=2×468.3.查表判断468是否为素数:(1)如果468是素数,则分解结束;(2)如果468不是素数,则重复上述步骤,确定468的最小素因数.重复进行上述步骤,直到找出936的所有素因数.解:算法步骤如下:1.判断936是否为素数:否.2.确定936的最小素因数:2. 936=2×468.3.判断468是否为素数:否.4.确定468的最小素因数:2. 936=2×2×234.5.判断234是否为素数:否.6.确定234的最小素因数:2 936=2×2×2×117.7.判断117是否为素数:否.8.确定117的最小素因数:3. 936=2×2×2×3×39.9.判断39是否为素数:否.10.确定39的最小素因数:3. 936=2×2×2×3×3×13.11.判断13是否为素数:13是素数,所以分解结束.分解结果是936=2×2×2×3×3×13.点评:以上步骤是解决素因数分解问题的一个过程,只要依照这一系列步骤,都能解决这个问题.我们把这一系列步骤称为解决这个问题的一个算法.变式训练设计一个算法,求840与1 764的最大公因数.分析:我们已经学习了对自然数进行素因数分解的方法,下面的算法就是在此基础上设计的.解答这个问题需要按以下思路进行.首先,对两个数分别进行素因数分解:840=23×3×5×7, 1 764=22×32×72.其次,确定两数的公共素因数:2,3,7.接着,确定公共素因数的指数:对于公共素因数2,22是1 764的因数,23是840的因数,因此22是这两个数的公因数,这样就确定了公共素因数2的指数为2.同样,可以确定出公因数3和7的指数均为1.这样,就确定了840与1 764的最大公因数为22×31×71=84.解:算法步骤如下:1.先将840进行素因数分解:840=23×3×5×7;2.然后将1 764进行素因数分解:1 764=22×32×72;3.确定它们的公共素因数:2,3,7;4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5.最大公因数为22×31×71=84.例2 一位商人有9枚银元,其中有1枚略轻的是假银元.你能用天平(不用砝码)将假银元找出来吗?分析:最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一列,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元.图1解:按照下列步骤,就能将假银元找出来:1.任取2枚银元分别放在天平的两边.如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则进行第2步.2.取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.这种算法最少要称1次,最多要称7次.是不是还有更好的办法,使得称量次数少一些?我们可以采用下面的方法:图21.把银元分成3组,每组3枚.2.先将两组分别放在天平的两边.如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里.3.取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元.点评:经分析发现,后一种算法只需称量2次,这种做法要明显好于前一种做法.当然,这两种方法都具有一般性,同样适用于n枚银元的情形.这是信息论中的一个模型,可以帮助我们找出某些特殊信息.从上面的问题中可以看出,同一个问题可能存在着多种算法,其中一些可能要比另一些好.在实际问题和算法理论中,找出好的算法是一项重要的工作.思路2例1 (1)设计一个算法,判断7是否为质数;(2)设计一个算法,判断35是否为质数.分析:(1)根据质数的定义,可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.解:(1)①用2除7,得到余数1.因为余数不为0,所以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是质数.(2)类似地,可写出“判断35是否为质数”的算法:①用2除35,得到余数1.因为余数不为0,所以2不能整除35.②用3除35,得到余数2.因为余数不为0,所以3不能整除35.③用4除35,得到余数3.因为余数不为0,所以4不能整除35.④用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1 997是否为质数就比较麻烦了,因此,我们需要寻找更实用的算法步骤.变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i表示2~(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.解:1.给定大于2的整数n.2.令i=2.3.用i除n,得到余数r.4.判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.5.判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第3步.例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b]〔满足f(a)·f(b)<0〕“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:1.令f(x)=x2-2,给定精度d.2.确定区间[a,b],满足f(a)·f(b)<0.3.取区间中点m=a+b 2.4.若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].5.判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d近似解.实际上,上述步骤也是求2的近似解的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……变式训练求方程f(x)=x3+x2-1=0在区间[0,1]上的近似解,精度为0.01.解:根据上述分析,可以通过下列步骤求得方程的近似解:1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间,精度1-0=1>0.01;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],精度1-0.5=0.5>0.01;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],精度1-0.75=0.25>0.01;……当得到新的有解区间[0.75,0.757 82]时,由于|0.757 82-0.75|=0.007 82<0.01,该区间精度已满足要求,所以取区间[0.75,0.757 82]的中点0.753 91,它是方程的一个近似解.例3 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中应尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:1.人带两只狼过河,并自己返回.2.人带一只狼过河,自己返回.3.人带两只羚羊过河,并带两只狼返回.4.人带一只羚羊过河,自己返回.5.人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简洁、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的问题经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使问题变得简单,而且可以提高工作效率.变式训练喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.如何安排这几个步骤?请给出两种算法,并加以比较.分析:本题主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:1.洗刷水壶.2.烧水.3.洗刷茶具.4.沏茶.算法二:1.洗刷水壶.2.烧水,烧水的过程当中洗刷茶具.3.沏茶.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:1.输入一元二次方程的系数:a,b,c.2.计算Δ=b2-4ac的值.3.判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法,并且具有确定性、逻辑性、有穷性.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用为y(元),如何设计一个程序,计算通话的费用?解:算法分析:数学模型实际上为y 关于t 的分段函数.关系式如下:y =⎩⎪⎨⎪⎧ 0.22,0<t ≤3,0.22+0.1t -3,t >3,t ∈Z ,0.22+0.1[t -3]+1,t >3,t ∉Z .其中[t -3]表示取不大于t -3的整数部分.算法步骤如下:1.输入通话时间t .2.如果t ≤3,那么y = 0.22;否则判断t ∈Z 是否成立,若成立执行y = 0.2+0.1× (t -3);否则执行y = 0.2+0.1×( [t -3]+1).3.输出通话费用y .课堂小结1.正确理解算法这一概念.2.结合例题掌握算法的特点,能够写出常见问题的算法.作业课本本节练习1、练习2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,也有几何算法等,因此这是一节很好的课例.备课资料备选习题中国古代有一个著名的算法案例:鸡兔49个头,100条腿往地里走,问鸡兔各多少?请写出计算鸡兔数的算法.分析:求解鸡兔的问题简单直观,却包含着深刻的算法思想.应用解二元一次方程组的方法来求解鸡兔同笼问题.解:算法如下:1.设有鸡x 只,兔y 只,则有⎩⎪⎨⎪⎧ x +y =49,2x +4y =100.①② 2.将方程组中的第一个方程两边乘以-2加到第二个方程中去,得到⎩⎪⎨⎪⎧ x +y =49,4-2y =100-49×2,解得y =1.3.将y =1代入①,得x =48.因此鸡有48只,兔有1只.欢迎您的下载,资料仅供参考!。
高一数学2015北师大版高中数学必修三第二章 算法初步复习课件
BS · 数学
必修3
如果执行如图 2-3 所示的框图,输入 N=5,则输出的 数等于________.
图2-3
BS · 数学
必修3
【解析】
1 第一次执行循环体,S=0+ ,k=1<5 成 1×2
【思路点拨】 线段 AB 的垂直平分线的斜率与直线 AB
的斜率之积为-1, 且过 AB 的中点, 由点斜式可求直线方程.
BS · 数学
必修3
-1+3 0+2 【规范解答】 1.计算 x0= 2 =1,y0= 2 =1,得 AB 的中点 N(1,1); 2-0 1 2.计算 k1= = ,得 AB 的斜率; 3--1 2 1 3.计算 k=- =-2,得 AB 垂直平分线的斜率; k1 4.由点斜式写出直线 AB 垂直平分线的方程 y-1=-2(x-1),输出.
BS · 数学
必修3
执行如图 2-2 所示的算法框图,输入 l=2,m =3,n=5,则输出的 y 的值是________.
图2-2
BS · 数学
必修3
【思路点拨】 入可得 y 的值.
明确算法框图的特点及意义,将数据代
【规范解答】 当输入 l=2,m=3,n=5 时,不满足 l2 +m2+n2=0, 因此执行: y=70l+21m+15n=70×2+21×3+15×5= 278. 由于 278>105,故执行 y=y-105,执行后 y=278-105 =173,再执行一次 y=y-105 后 y 的值为 173-105=68,此 时 68>105 不成立,故输出 68. 【答案】 68
BS · 数学
必修3
设计一个算法语句,输入学生的成绩 S,根据该 成绩的不同值进行以下输出:若 S<60,则输出“不及格”; 若 60≤S≤90,则输出“及格”;若 S>90,则输出“优秀”.
1§1算法的基本思想
解析:(1)选项 B 正确,例如:判断一个整数是否为偶数,结果 为“是偶数”和“不是偶数”两种;选项 A,算法不能等同于 解法;选项 C,解决某一个具体问题算法不同, 但结果应相同; 选项 D,算法可以有很多步,但不可以无限步. (2)由算法的不唯一性,知①不正确;由算法的有穷性,知②正 确;由算法的确定性,知③和④正确. 答案:(1)B (2)①
答案: ΔΔ
y x
算法与数学中的解法的联系和区别 (1)联系 算法与解法是一般与特殊的关系,也是抽象与具体的关系,算 法的获取要借助一般意义上具体问题的求解方法,而任何一个 具体问题都可利用这类问题的一般方法解决. (2)区别 算法是解决某些问题所需要的程序和步骤的统称,也可以理解 为数学中的“通法通解”;而解法是解决某一个具体问题的过 程和步骤,是具体的解题过程.
下列各式中 S 值不可以用算法求解的是 ( )
A.S=1+2+3+4
B.S=12+22+32+…+ 100 2
C.S=1+12+…+
10
1 000
D.S=1+2+3+4+…
解析:选 D.由算法的有限性知,D 不正确,而 A、B、C 都可
以通过有限步步骤操作,输出确定结果,故选 D.
已知 A(x1,y1),B(x2,y2),求直线 AB 的斜率的一个算法如 下: 1.输入 x1、y1、x2、y2 的值. 2.计算Δ x=x2-x1,Δ y=y2-y1. 3.若Δ x=0,则输出斜率不存在,否则 (Δ x≠0), k= ① . 4.输出斜率 k. 则①处应填 ________ .
理解算法的关键点 (1)算法实际上是解决问题的一种程序性方法,它通常解决一类 问题,用算法解决问题,体现了从特殊到一般的数学思想. (2)判断一个问题是否有算法,关键看是否有解决某一类问题的 程序或步骤,这些程序或步骤必须是明确和有效的,而且能够 在有限步之内完成.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章算法初步算法是数学及其应用的重要组成部分,是计算科学的重要基础.随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并融入社会生活的方方面面,算法思想已经成为现代人应具备的一种数学素养.需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想.在这一章中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验算法框图在解决问题中的作用;通过模仿、操作、探索,学习设计算法框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力.算法作为新名词,在以前的数学教科书中没有出现过,但是算法本身,同学们并不陌生.解方程的算法、解不等式的算法、因式分解的算法,都是同学们熟知的内容.只是算法的基本思想、特点,学习算法的必要性等问题没有专门涉及.因此,本章中的算法的基本思想,将针对同学们熟悉的一些问题,分析解决这些具体问题的算理,整理出相应问题的解决步骤,然后抽象概括出更具一般意义的算法.通过这个过程,让学生体会算法的程序化思想.同时,针对同样的问题,我们给出不同的算法,让同学们意识到:同一个问题可能存在着多种算法,算法之间有优劣之分.接下来,通过求方程近似解,让同学们意识到学习算法的必要性——将问题的解决过程即算法交给计算机完成,能够极大地提高效率.接下来,介绍算法的基本结构.顺序结构和选择结构是学生比较容易接受的,循环结构则比较难以理解.分析造成理解困难的原因之一是变量以及对变量的处理——赋值.在循环结构的学习中,总结了循环结构的三个要素——循环变量、循环体和循环的终止条件,并提供了可供学生模仿、操作的算法算法框图.排序算法可以说是应用最广泛的算法了,而且又易于理解,便于接受,是算法教学的良好素材.教科书选择这个问题作为专题来讨论,给学生提供了一个完整的分析、设计算法的过程,也给了学生一个应用前面所学的关于变量和结构的知识的机会.在前面的学习中,我们分别用自然语言和算法框图来描述算法,这两种方式各有优缺点.要将算法最终交给计算机执行,需要用程序语言来表述算法,程序语言有很多种,但是有一些基本语句是这些语言都要用到的:输入输出语句、赋值语句、条件语句、循环语句,在本章的最后介绍了这几种基本语句.值得注意的是:1.注重对算法基本思想的理解.算法是高中数学课程中的新内容,其思想非常重要,但并不神秘.例如,运用消元法解二元一次方程组、求最大公因数等的过程本质上就是算法.本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,在条件允许的学校,使其能在计算机上实现.为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成算法框图;为了能在计算机上实现,还需要将自然语言或算法框图翻译成计算机语言.本模块的主要目的是使学生体会算法的思想,提高逻辑思维能力.不要将此部分内容简单处理成程序语言的学习和程序设计.2.算法教学必须通过实例进行.使学生在解决具体问题的过程中学习一些基本逻辑结构和语句.有条件的学校,应鼓励学生上机尝试运行程序.在实例的选择中,我们要把握这样一些原则:亲和原则:选取的例子要贴近学生,或者来自学生的生活实践,或者是学生所学过的数学知识.趣味性原则:选取的实例一般要有丰富的背景,本身要有趣味性.基础性原则:问题本身的算理并不难,只要蕴涵丰富的算法思想即可.可操作性原则:所选取问题的算法一般能在计算机上实现.3.算法教学要注意循序渐进,先具体再抽象,先了解算理,再描述算法.通常,我们说一个算法越是抽象,有一般意义,应用就越广泛,越能体现算法本身的应用价值.但是,作为教学意义上的算法则不同,一定要从具体问题出发分析算法的算理及算法步骤,然后抽象概括出一般意义的算法,画出算法算法框图,并在这个过程中,学习使用变量、赋值,学习更好地表述算法,以便在计算机上操作执行.算法的教学中,变量的理解、赋值的应用、循环结构的理解是重点和难点,教师要注意分散这些难点.学生对算法思想的认识、概念的把握、知识的灵活应用及能力的形成不是一次完成的,而是要把这些作为教学目标渗透在整章的学习中.整体设计教学分析算法在中学数学课程中是一个新的概念,但其没有一个精确化的定义,教科书只对它作了如下描述:“算法是解决某一类问题的步骤和程序.”为了让学生更好地理解这一概念,教科书用5个例子来说明算法的实质.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排1课时教学过程导入新课思路1.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物完好地转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.思路2.大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.思路3.算法不仅是数学及其应用的重要组成部分,也是计算科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.如听音乐、看电影、玩游戏、打字、画卡通画、处理数据都能通过计算机实现,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.推进新课新知探究提出问题1.解二元一次方程组有几种方法?2.结合实例⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 总结用加减消元法解二元一次方程组的步骤. 3.结合实例⎩⎪⎨⎪⎧x -2y =-1,①2x +y =1,②总结用代入消元法解二元一次方程组的步骤. 4.请写出解一般二元一次方程组的步骤.5.根据上述实例谈谈你对算法的理解.6.请同学们总结算法的特征.7.请思考我们学习算法的意义.讨论结果:1.代入消元法和加减消元法.2.回顾二元一次方程组⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1②的求解过程,我们可以归纳出以下步骤: 第一步,①+②×2,得5x =1.③第二步,解③,得x =15. 第三步,②-①×2,得5y =3.④第四步,解④,得y =35. 第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.3.用代入消元法解二元一次方程组⎩⎪⎨⎪⎧x -2y =-1,①2x +y =1,②我们可以归纳出以下步骤: 第一步,由①得 x =2y -1.③第二步,把③代入②,得2(2y -1)+y =1.④第三步,解④得y =35.⑤第四步,把⑤代入③,得x =2×35-1=15.第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =15,y =35.4.对于一般的二元一次方程组 ⎩⎪⎨⎪⎧ a 1x +b 1y =c 1,a 2x +b 2y =c 2, ①②其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤:第一步,①×b 2-②×b 1,得(a 1b 2-a 2b 1)x =b 2c 1-b 1c 2.③第二步,解③,得x =b 2c 1-b 1c 2a 1b 2-a 2b 1.第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y =a 1c 2-a 2c 1.④第四步,解④,得y =a 1c 2-a 2c 1a 1b 2-a 2b 1.第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =b 2c 1-b 1c 2a 1b 2-a 2b 1,y =a 1c 2-a 2c 1a 1b 2-a 2b 1.5.算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法,等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.6.算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.7.在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路11在给定素数表的条件下,设计算法,将936分解成素因数的乘积.(4 000以内的素数表见教科书附录1)分析:1.查表判断936是否为素数:(1)如果936是素数,则分解结束;(2)如果936不是素数,则进行第2步.2.确定936的最小素因数:2. 936=2×468.3.查表判断468是否为素数:(1)如果468是素数,则分解结束;(2)如果468不是素数,则重复上述步骤,确定468的最小素因数.重复进行上述步骤,直到找出936的所有素因数.解:算法步骤如下:1.判断936是否为素数:否.2.确定936的最小素因数:2. 936=2×468.3.判断468是否为素数:否.4.确定468的最小素因数:2. 936=2×2×234.5.判断234是否为素数:否.6.确定234的最小素因数:2 936=2×2×2×117.7.判断117是否为素数:否.8.确定117的最小素因数:3. 936=2×2×2×3×39.9.判断39是否为素数:否.10.确定39的最小素因数:3. 936=2×2×2×3×3×13.11.判断13是否为素数:13是素数,所以分解结束.分解结果是936=2×2×2×3×3×13.点评:以上步骤是解决素因数分解问题的一个过程,只要依照这一系列步骤,都能解决这个问题.我们把这一系列步骤称为解决这个问题的一个算法.变式训练设计一个算法,求840与1 764的最大公因数.分析:我们已经学习了对自然数进行素因数分解的方法,下面的算法就是在此基础上设计的.解答这个问题需要按以下思路进行.首先,对两个数分别进行素因数分解:840=23×3×5×7, 1 764=22×32×72.其次,确定两数的公共素因数:2,3,7.接着,确定公共素因数的指数:对于公共素因数2,22是1 764的因数,23是840的因数,因此22是这两个数的公因数,这样就确定了公共素因数2的指数为2.同样,可以确定出公因数3和7的指数均为1.这样,就确定了840与1 764的最大公因数为22×31×71=84.解:算法步骤如下:1.先将840进行素因数分解:840=23×3×5×7;2.然后将1 764进行素因数分解:1 764=22×32×72;3.确定它们的公共素因数:2,3,7;4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5.最大公因数为22×31×71=84.例2 一位商人有9枚银元,其中有1枚略轻的是假银元.你能用天平(不用砝码)将假银元找出来吗?分析:最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一列,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元.图1解:按照下列步骤,就能将假银元找出来:1.任取2枚银元分别放在天平的两边.如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则进行第2步.2.取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.这种算法最少要称1次,最多要称7次.是不是还有更好的办法,使得称量次数少一些?我们可以采用下面的方法:图21.把银元分成3组,每组3枚.2.先将两组分别放在天平的两边.如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里.3.取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元.点评:经分析发现,后一种算法只需称量2次,这种做法要明显好于前一种做法.当然,这两种方法都具有一般性,同样适用于n枚银元的情形.这是信息论中的一个模型,可以帮助我们找出某些特殊信息.从上面的问题中可以看出,同一个问题可能存在着多种算法,其中一些可能要比另一些好.在实际问题和算法理论中,找出好的算法是一项重要的工作.思路2例1 (1)设计一个算法,判断7是否为质数;(2)设计一个算法,判断35是否为质数.分析:(1)根据质数的定义,可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.解:(1)①用2除7,得到余数1.因为余数不为0,所以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是质数.(2)类似地,可写出“判断35是否为质数”的算法:①用2除35,得到余数1.因为余数不为0,所以2不能整除35.②用3除35,得到余数2.因为余数不为0,所以3不能整除35.③用4除35,得到余数3.因为余数不为0,所以4不能整除35.④用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1 997是否为质数就比较麻烦了,因此,我们需要寻找更实用的算法步骤.变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i表示2~(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.解:1.给定大于2的整数n.2.令i=2.3.用i除n,得到余数r.4.判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.5.判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第3步.例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b]〔满足f(a)·f(b)<0〕“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:1.令f(x)=x2-2,给定精度d.2.确定区间[a,b],满足f(a)·f(b)<0.3.取区间中点m=a+b 2.4.若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].5.判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d近似解.实际上,上述步骤也是求2的近似解的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……变式训练求方程f(x)=x3+x2-1=0在区间[0,1]上的近似解,精度为0.01.解:根据上述分析,可以通过下列步骤求得方程的近似解:1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间,精度1-0=1>0.01;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],精度1-0.5=0.5>0.01;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],精度1-0.75=0.25>0.01;……当得到新的有解区间[0.75,0.757 82]时,由于|0.757 82-0.75|=0.007 82<0.01,该区间精度已满足要求,所以取区间[0.75,0.757 82]的中点0.753 91,它是方程的一个近似解.例3 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.此人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中应尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:1.人带两只狼过河,并自己返回.2.人带一只狼过河,自己返回.3.人带两只羚羊过河,并带两只狼返回.4.人带一只羚羊过河,自己返回.5.人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简洁、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的问题经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使问题变得简单,而且可以提高工作效率.变式训练喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.如何安排这几个步骤?请给出两种算法,并加以比较.分析:本题主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:1.洗刷水壶.2.烧水.3.洗刷茶具.4.沏茶.算法二:1.洗刷水壶.2.烧水,烧水的过程当中洗刷茶具.3.沏茶.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:1.输入一元二次方程的系数:a,b,c.2.计算Δ=b2-4ac的值.3.判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法,并且具有确定性、逻辑性、有穷性.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用为y(元),如何设计一个程序,计算通话的费用?解:算法分析:数学模型实际上为y关于t的分段函数.关系式如下:y =⎩⎪⎨⎪⎧ 0.22,0<t ≤3,0.22+0.1t -3,t >3,t ∈Z ,0.22+0.1[t -3]+1,t >3,t ∉Z .其中[t -3]表示取不大于t -3的整数部分.算法步骤如下:1.输入通话时间t .2.如果t ≤3,那么y = 0.22;否则判断t ∈Z 是否成立,若成立执行y = 0.2+0.1× (t -3);否则执行y = 0.2+0.1×( [t -3]+1).3.输出通话费用y .课堂小结1.正确理解算法这一概念.2.结合例题掌握算法的特点,能够写出常见问题的算法.作业课本本节练习1、练习2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,也有几何算法等,因此这是一节很好的课例.备课资料备选习题中国古代有一个著名的算法案例:鸡兔49个头,100条腿往地里走,问鸡兔各多少?请写出计算鸡兔数的算法.分析:求解鸡兔的问题简单直观,却包含着深刻的算法思想.应用解二元一次方程组的方法来求解鸡兔同笼问题.解:算法如下:1.设有鸡x 只,兔y 只,则有⎩⎪⎨⎪⎧ x +y =49,2x +4y =100. ①②2.将方程组中的第一个方程两边乘以-2加到第二个方程中去,得到⎩⎪⎨⎪⎧x +y =49,4-2y =100-49×2,解得y =1.3.将y=1代入①,得x=48.因此鸡有48只,兔有1只.。