1、第一章 算法初步1、1 算法与程序框图1、1、1 算法得概念授课时间:第 周 年 月 日(星期 )教学分析 算法在中学数学课程中就是一个新得概念,但没有一个精确化得定义,教科书只对它作了如下描述:“在数学中,算法通常就是指按照一定规则解决某一类问题得明确有限得步骤、”为了让学生更好理解这一概念,教科书先从分析一个具体得二元一次方程组得求解过程出发,归纳出了二元一次方程组得求解步骤,这些步骤就构成了解二元一次方程组得算法、教学中,应从学生非常熟悉得例子引出算法,再通过例题加以巩固、三维目标1、正确理解算法得概念,掌握算法得基本特点、2、通过例题教学,使学生体会设计算法得基本思路、3、通过有趣得实
2、例使学生了解算法这一概念得同时,激发学生学习数学得兴趣、重点难点教学重点:算法得含义及应用、教学难点:写出解决一类问题得算法、教学过程导入新课 思路1(情境导入) 一个人带着三只狼与三只羚羊过河,只有一条船,同船可容纳一个人与两只动物,没有人在得时候,如果狼得数量不少于羚羊得数量狼就会吃羚羊、该人如何将动物转移过河?请同学们写出解决问题得步骤,解决这一问题将要用到我们今天学习得内容算法、 思路2(情境导入) 大家都瞧过赵本山与宋丹丹演得小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上、上述步骤构成了把大象装进冰
3、箱得算法,今天我们开始学习算法得概念、 思路3(直接导入) 算法不仅就是数学及其应用得重要组成部分,也就是计算机科学得重要基础、在现代社会里,计算机已成为人们日常生活与工作中不可缺少得工具、听音乐、瞧电影、玩游戏、打字、画卡通画、处理数据,计算机就是怎样工作得呢?要想弄清楚这个问题,算法得学习就是一个开始、推进新课 新知探究 提出问题(1)解二元一次方程组有几种方法?(2)结合教材实例总结用加减消元法解二元一次方程组得步骤、(3)结合教材实例总结用代入消元法解二元一次方程组得步骤、(4)请写出解一般二元一次方程组得步骤、(5)根据上述实例谈谈您对算法得理解、(6)请同学们总结算法得特征、(7)
4、请思考我们学习算法得意义、讨论结果:(1)代入消元法与加减消元法、(2)回顾二元一次方程组得求解过程,我们可以归纳出以下步骤:第一步,+2,得5x=1、第二步,解,得x=、第三步,-2,得5y=3、第四步,解,得y=、第五步,得到方程组得解为(3)用代入消元法解二元一次方程组我们可以归纳出以下步骤:第一步,由得x=2y1、第二步,把代入,得2(2y1)+y=1、第三步,解得y=、第四步,把代入,得x=21=、第五步,得到方程组得解为(4)对于一般得二元一次方程组 其中a1b2a2b10,可以写出类似得求解步骤: 第一步,b2-b1,得 (a1b2a2b1)x=b2c1b1c2、 第二步,解,得
5、x=、 第三步,a1-a2,得(a1b2a2b1)y=a1c2a2c1、 第四步,解,得y=、 第五步,得到方程组得解为(5)算法得定义:广义得算法就是指完成某项工作得方法与步骤,那么我们可以说洗衣机得使用说明书就是操作洗衣机得算法,菜谱就是做菜得算法等等、 在数学中,算法通常就是指按照一定规则解决某一类问题得明确有限得步骤、 现在,算法通常可以编成计算机程序,让计算机执行并解决问题、(6)算法得特征:确定性:算法得每一步都应当做到准确无误、不重不漏、“不重”就是指不就是可有可无得,甚至无用得步骤,“不漏” 就是指缺少哪一步都无法完成任务、逻辑性:算法从开始得“第一步”直到“最后一步”之间做到
6、环环相扣,分工明确,“前一步”就是“后一步”得前提, “后一步”就是“前一步”得继续、有穷性:算法要有明确得开始与结束,当到达终止步骤时所要解决得问题必须有明确得结果,也就就是说必须在有限步内完成任务,不能无限制地持续进行、(7)在解决某些问题时,需要设计出一系列可操作或可计算得步骤来解决问题,这些步骤称为解决这些问题得算法、也就就是说,算法实际上就就是解决问题得一种程序性方法、算法一般就是机械得,有时需进行大量重复得计算,它得优点就是一种通法,只要按部就班地去做,总能得到结果、因此算法就是计算科学得重要基础、应用示例思路1例1 (1)设计一个算法,判断7就是否为质数、(2)设计一个算法,判断
7、35就是否为质数、算法分析:(1)根据质数得定义,可以这样判断:依次用26除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不
8、能整除35、第二步,用3除35,得到余数2、因为余数不为0,所以3不能整除35、第三步,用4除35,得到余数3、因为余数不为0,所以4不能整除35、第四步,用5除35,得到余数0、因为余数为0,所以5能整除35、因此,35不就是质数、变式训练 请写出判断n(n2)就是否为质数得算法、分析:对于任意得整数n(n2),若用i表示2(n-1)中得任意整数,则“判断n就是否为质数”得算法包含下面得重复操作:用i除n,得到余数r、判断余数r就是否为0,若就是,则不就是质数;否则,将i得值增加1,再执行同样得操作、 这个操作一直要进行到i得值等于(n-1)为止、 算法如下:第一步,给定大于2得整数n、 第
9、二步,令i=2、 第三步,用i除n,得到余数r、 第四步,判断“r=0”就是否成立、若就是,则n不就是质数,结束算法;否则,将i得值增加1,仍用i表示、 第五步,判断“i(n-1)”就是否成立、若就是,则n就是质数,结束算法;否则,返回第三步、例2 写出用“二分法”求方程x2-2=0 (x0)得近似解得算法、分析:令f(x)=x2-2,则方程x2-2=0 (x0)得解就就是函数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
10、,b、对所得得区间a,b重复上述步骤,直到包含零点得区间a,b“足够小”,则a,b内得数可以作为方程得近似解、解:第一步,令f(x)=x2-2,给定精确度d、第二步,确定区间a,b,满足f(a)f(b)0、第三步,取区间中点m=、第四步,若f(a)f(m)2)就是否为质数”得算法、解:程序框图如下:强调:程序框图就是用图形得方式表达算法,使算法得结构更清楚,步骤更直观也更精确、这里只就是让同学们初步了解程序框图得特点,感受它得优点,暂不要求掌握它得画法、变式训练 观察下面得程序框图,指出该算法解决得问题、解:这就是一个累加求与问题,共99项相加,该算法就是求得值、例2 已知一个三角形三条边得边
11、长分别为a,b,c,利用海伦秦九韶公式设计一个计算三角形面积得算法,并画出程序框图表示、(已知三角形三边边长分别为a,b,c,则三角形得面积为S=),其中p=、这个公式被称为海伦秦九韶公式)算法分析:这就是一个简单得问题,只需先算出p得值,再将它代入分式,最后输出结果、因此只用顺序结构应能表达出算法、算法步骤如下:第一步,输入三角形三条边得边长a,b,c、第二步,计算p=、第三步,计算S=、第四步,输出S、程序框图如下:强调:很明显,顺序结构就是由若干个依次执行得步骤组成得,它就是最简单得逻辑结构,它就是任何一个算法都离不开得基本结构、变式训练下图所示得就是一个算法得流程图,已知a1=3,输出
12、得b=7,求a2得值、解:根据题意=7,a1=3,a2=11、即a2得值为11、知能训练 有关专家建议,在未来几年内,中国得通货膨胀率保持在3%左右,这将对我国经济得稳定有利无害、所谓通货膨胀率为3%,指得就是每年消费品得价格增长率为3%、在这种情况下,某种品牌得钢琴2004年得价格就是10 000元,请用流程图描述这种钢琴今后四年得价格变化情况,并输出四年后得价格、解:用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=1
13、0 927、27(1+3%)=11 255、09;因此,价格得变化情况表为:年份20042005200620072008钢琴得价格10 00010 30010 60910 927、2711 255、09程序框图如下:强调:顺序结构只需严格按照传统得解决数学问题得解题思路,将问题解决掉、最后将解题步骤 “细化”就可以、“细化”指得就是写出算法步骤、画出程序框图、拓展提升 如上给出得就是计算得值得一个流程图,其中判断框内应填入得条件就是_、答案:i10、课堂小结(1)掌握程序框得画法与功能、(2)了解什么就是程序框图,知道学习程序框图得意义、(3)掌握顺序结构得应用,并能解决与顺序结构有关得程序框
14、图得画法、作业习题1、1A 1、第2课时 条件结构导入新课 思路1(情境导入) 我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:您有牙齿就是我们一伙得,鸟们喊道:您有翅膀就是我们一伙得,蝙蝠一时没了主意、过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法与程序框图中也经常用到这一思想方法,今天我们开始学习新得逻辑结构条件结构、 思路2(直接导入) 前面我们学习了顺序结构,顺序结构像就是一条没有分支得河流,奔流到海不复回,事实上多数河流就是有分支得,今天我们开始学习有分支得逻辑结构条件结构、提出问题(1)举例说
15、明什么就是分类讨论思想?(2)什么就是条件结构?(3)试用程序框图表示条件结构、(4)指出条件结构得两种形式得区别、讨论结果:(1)例如解不等式ax8(a0),不等式两边需要同除a,需要明确知道a得符号,但条件没有给出,因此需要进行分类讨论,这就就是分类讨论思想、(2)在一个算法中,经常会遇到一些条件得判断,算法得流程根据条件就是否成立有不同得流向、条件结构就就是处理这种过程得结构、(3)用程序框图表示条件结构如下条件结构:先根据条件作出判断,再决定执行哪一种操作得结构就称为条件结构(或分支结构),如图1所示、执行过程如下:条件成立,则执行A框;不成立,则执行B框 图1 图2注:无论条件就是否
16、成立,只能执行A、B之一,不可能两个框都执行A、B两个框中,可以有一个就是空得,即不执行任何操作,如图2、(4)一种就是在两个“分支”中均包含算法得步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种就是在一个“分支”中均包含算法得步骤A,而在另一个“分支”上不包含算法得任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后得步骤、应用示例 例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长得三角形就是否存在,并画出这个算法得程序框图、算法分析:判断以3个任意给定得正实数为三条边边长得三角形就是否存在,只需验证这3个数中任意两个数得与就是否大于第3个数、这个验证需要
17、用到条件结构、算法步骤如下:第一步,输入3个正实数a,b,c、第二步,判断a+bc,b+ca,c+ab就是否同时成立、若就是,则存在这样得三角形;否则,不存在这样得三角形、程序框图如右图:强调:根据构成三角形得条件,判断就是否满足任意两边之与大于第三边,如果满足则存在这样得三角形,如果不满足则不存在这样得三角形、这种分类讨论思想就是高中得重点,在画程序框图时,常常遇到需要讨论得问题,这时要用到条件结构、例2 设计一个求解一元二次方程ax2+bx+c=0得算法,并画出程序框图表示、算法分析:我们知道,若判别式=b2-4ac0,则原方程有两个不相等得实数根x1=,x2=;若=0,则原方程有两个相等
18、得实数根x1=x2=;若b就是否成立,若成立,则执行第三步;否则执行第四步、第三步,判断ac就是否成立,若成立,则输出a,并结束;否则输出c,并结束、第四步,判断bc就是否成立,若成立,则输出b,并结束;否则输出c,并结束、程序框图如右:例5 “特快专递”就是目前人们经常使用得异地邮寄信函或托运物品得一种快捷方式、某快递公司规定甲、乙两地之间物品得托运费用根据下列方法计算:f=其中f(单位:元)为托运费,为托运物品得重量(单位:千克)、试画出计算费用f得程序框图、分析:这就是一个实际问题,根据数学模型可知,求费用f得计算公式随物品重量得变化而有所不同,因此计算时先瞧物品得重量,在不同得条件下,
19、执行不同得指令,这就是条件结构得运用,就是二分支条件结构、其中,物品得重量通过输入得方式给出、解:算法程序框图如右图:拓展提升 有一城市,市区为半径为15 km得圆形区域,近郊区为距中心1525 km得范围内得环形地带,距中心25 km以外得为远郊区,如右图所示市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价为每公顷20万元,输入某一点得坐标为(x,y),求该点得地价分析:由该点坐标(x,y),求其与市中心得距离r=,确定就是市区、近郊区,还就是远郊区,进而确定地价p由题意知,p=解:程序框图如下:课堂小结(1)理解两种条件结构得特点与区别、(2)能用学过得两种条件结构解决常见得
20、算法问题、作业习题1、1A组3、3课时 循环结构授课时间:第 周 年 月 日(星期 )导入新课 思路1(情境导入) 我们都想生活在一个优美得环境中,希望瞧到得就是碧水蓝天,大家知道工厂得污水就是怎样处理得吗?污水进入处理装置后进行第一次处理,如果达不到排放标准,则需要再进入处理装置进行处理,直到达到排放标准、污水处理装置就是一个循环系统,对于处理需要反复操作得事情有很大得优势、我们数学中有很多问题需要反复操作,今天我们学习能够反复操作得逻辑结构循环结构、 思路2(直接导入) 前面我们学习了顺序结构,顺序结构像一条没有分支得河流,奔流到海不复回;上一节我们学习了条件结构,条件结构像有分支得河流最
21、后归入大海;事实上很多水系就是循环往复得,今天我们开始学习循环往复得逻辑结构循环结构、提出问题(1)请大家举出一些常见得需要反复计算得例子、(2)什么就是循环结构、循环体?(3)试用程序框图表示循环结构、(4)指出两种循环结构得相同点与不同点、讨论结果:(1)例如用二分法求方程得近似解、数列求与等、(2)在一些算法中,经常会出现从某处开始,按照一定得条件反复执行某些步骤得情况,这就就是循环结构、反复执行得步骤称为循环体、(3)在一些算法中要求重复执行同一操作得结构称为循环结构、即从算法某处开始,按照一定条件重复执行某一处理得过程、重复执行得处理步骤称为循环体、循环结构有两种形式:当型循环结构与
22、直到型循环结构、 1当型循环结构,如图(1)所示,它得功能就是当给定得条件P成立时,执行A框,A框执行完毕后,返回来再判断条件P就是否成立,如果仍然成立,返回来再执行A框,如此反复执行A框,直到某一次返回来判断条件P不成立时为止,此时不再执行A框,离开循环结构、继续执行下面得框图、 2直到型循环结构,如图(2)所示,它得功能就是先执行重复执行得A框,然后判断给定得条件P就是否成立,如果P仍然不成立,则返回来继续执行A框,再判断条件P就是否成立、继续重复操作,直到某一次给定得判断条件P时成立为止,此时不再返回来执行A框,离开循环结构、继续执行下面得框图、 见示意图:当型循环结构 直到型循环结构(
23、4)两种循环结构得不同点:直到型循环结构就是程序先进入循环体,然后对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环、 当型循环结构就是在每次执行循环体前,先对条件进行判断,当条件满足时,执行循环体,否则终止循环、 两种循环结构得相同点: 两种不同形式得循环结构可以瞧出,循环结构中一定包含条件结构,用于确定何时终止执行循环体、应用示例思路1例1 设计一个计算1+2+100得值得算法,并画出程序框图、算法分析:通常,我们按照下列过程计算1+2+100得值、 第1步,0+1=1、 第2步,1+2=3、 第3步,3+3=6、 第4步,6+4=10、 第100步,4 950+10
24、0=5 050、 显然,这个过程中包含重复操作得步骤,可以用循环结构表示、分析上述计算过程,可以发现每一步都可以表示为第(i-1)步得结果+i=第i步得结果、 为了方便、有效地表示上述过程,我们用一个累加变量S来表示第一步得计算结果,即把S+i得结果仍记为S,从而把第i步表示为S=S+i, 其中S得初始值为0,i依次取1,2,100,由于i同时记录了循环得次数,所以也称为计数变量、 解决这一问题得算法就是: 第一步,令i=1,S=0、 第二步,若i100成立,则执行第三步;否则,输出S,结束算法、 第三步,S=S+i、 第四步,i=i+1,返回第二步、 程序框图如右: 上述程序框图用得就是当型
25、循环结构,如果用直到型循环结构表示,则程序框图如下:变式训练 已知有一列数,设计框图实现求该列数前20项得与分析:该列数中每一项得分母就是分子数加1,单独观察分子,恰好就是1,2,3,4,n,因此可用循环结构实现,设计数器i,用i=i+1实现分子,设累加器S,用S=,可实现累加,注意i只能加到20解:程序框图如下:方法一: 方法二: 例2 某厂2005年得年生产总值为200万元,技术革新后预计以后每年得年生产总值都比上一年增长5%,设计一个程序框图,输出预计年生产总值超过300万元得最早年份、算法分析:先写出解决本例得算法步骤:第一步,输入2005年得年生产总值、第二步,计算下一年得年生产总值
26、、第三步,判断所得得结果就是否大于300,若就是,则输出该年得年份,算法结束;否则,返回第二步、由于“第二步”就是重复操作得步骤,所以本例可以用循环结构来实现、我们按照“确定循环体”“初始化变量”“设定循环控制条件”得顺序来构造循环结构、(1)确定循环体:设a为某年得年生产总值,t为年生产总值得年增长量,n为年份,则循环体为t=0、05a,a=a+t,n=n+1、(2)初始化变量:若将2005年得年生产总值瞧成计算得起始点,则n得初始值为2005,a得初始值为200、(3)设定循环控制条件:当“年生产总值超过300万元”时终止循环,所以可通过判断“a300”就是否成立来控制循环、程序框图如右:
27、思路2例1 设计框图实现1+3+5+7+131得算法分析:由于需加得数较多,所以要引入循环结构来实现累加观察所加得数就是一组有规律得数(每相临两数相差2),那么可考虑在循环过程中,设一个变量i,用i=i+2来实现这些有规律得数,设一个累加器sum,用来实现数得累加,在执行时,每循环一次,就产生一个需加得数,然后加到累加器sum中解:算法如下:第一步,赋初值i=1,sum=0、第二步,sum=sum+i,i=i+2、第三步,如果i131,则反复执第二步;否则,执行下一步、第四步,输出sum、第五步,结束程序框图如右图(2)框图画完后,要进行验证,按设计得流程分析就是否能实现所求得数得累加,分析条
28、件就是否加到131就结束循环,所以我们要注意初始值得设置、循环条件得确定以及循环体内语句得先后顺序,三者要有机地结合起来最关键得就是循环条件,它决定循环次数,可以想一想,为什么条件不就是“i131”或“i=131”,如果就是“i80)与优秀(分数90)得人数分析:用循环结构实现40个成绩得输入,每循环一次就输入一个成绩s,然后对s得值进行判断、设两个计数器m,n,如果s90,则m=m+1,如果800)得近似解得算法、程序框图(如右图)、例2 相传古代得印度国王要奖赏国际象棋得发明者,问她需要什么、发明者说:陛下,在国际象棋得第一个格子里面放1粒麦子,在第二个格子里面放2粒麦子,第三个格子放4粒麦子,以后每个格子中得麦粒数都就是它前一个格子中麦粒数得二倍,依此类推(国际象棋棋盘共有64个格子),请将这些麦子赏给我,我将感激不尽、国王想这还不容易,就让人扛了一袋小麦,但不到一会儿就没了,最后一算结果,全印度一年生产得粮食也不够、国王很奇怪,小小得“棋盘”,不足100个格子,如