温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
必修
全套
教案
高中数学教案(人教A版必修全套)
【必修3教案|全套】
目 录
第一章 算法初步 1
1.1.2 程序框图与算法的基本逻辑结构 8
1.2.1 输入语句、输出语句和赋值语句 30
1.2.2 条件语句 37
1.2.3循环语句 45
1.3 算法案例 53
第二章 统计 77
2.1 随机抽样 78
2.1.1 简单随机抽样 78
2.1.2 系统抽样 83
2.1.3 分层抽样 87
2.2 用样本估计总体 91
2.2.1 用样本的频率分布估计总体分布 91
2.2.2 用样本的数字特征估计总体的数字特征 99
2.3 变量间的相关关系 110
2.3.1 变量之间的相关关系 110
2.3.2 两个变量的线性相关 110
第三章 概率 118
3.1 随机事件的概率 118
3.1.1 随机事件的概率 118
3.1.2 概率的意义 121
3.1.3 概率的基本性质 124
3.2.1 古典概型 127
3.2.2 (整数值)随机数(random numbers)的产生 131
3.3.1 几何概型 135
3.3.2 均匀随机数的产生 139
第一章 算法初步
本章教材分析
算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助.
本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热情.
在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣.“数学建模”也是高考考查重点.
本章还是数学思想方法的载体,学生在学习中会经常用到“算法思想” “转化思想”,从而提高自己数学能力.因此应从三个方面把握本章:
(1)知识间的联系;
(2)数学思想方法;
(3)认知规律.
本章教学时间约需12课时,具体分配如下(仅供参考):
1.1.1 算法的概念
约1课时
1.1.2 程序框图与算法的基本逻辑结构
约4课时
1.2.1 输入语句、输出语句和赋值语句
约1课时
1.2.2 条件语句
约1课时
1.2.3 循环语句
约1课时
1.3算法案例
约3课时
本章复习
约1课时
1.1 算法与程序框图
1.1.1 算法的概念
整体设计
教学分析
算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.
三维目标
1.正确理解算法的概念,掌握算法的基本特点.
2.通过例题教学,使学生体会设计算法的基本思路.
3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.
重点难点
教学重点:算法的含义及应用.
教学难点:写出解决一类问题的算法.
课时安排
1课时
教学过程
导入新课
思路1(情境导入)
一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.
思路2(情境导入)
大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?
答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.
上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.
思路3(直接导入)
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.
推进新课
新知探究
提出问题
(1)解二元一次方程组有几种方法?
(2)结合教材实例总结用加减消元法解二元一次方程组的步骤.
(3)结合教材实例总结用代入消元法解二元一次方程组的步骤.
(4)请写出解一般二元一次方程组的步骤.
(5)根据上述实例谈谈你对算法的理解.
(6)请同学们总结算法的特征.
(7)请思考我们学习算法的意义.
讨论结果:
(1)代入消元法和加减消元法.
(2)回顾二元一次方程组
的求解过程,我们可以归纳出以下步骤:
第一步,①+②×2,得5x=1.③
第二步,解③,得x=.
第三步,②-①×2,得5y=3.④
第四步,解④,得y=.
第五步,得到方程组的解为
(3)用代入消元法解二元一次方程组
我们可以归纳出以下步骤:
第一步,由①得x=2y-1.③
第二步,把③代入②,得2(2y-1)+y=1.④
第三步,解④得y=.⑤
第四步,把⑤代入③,得x=2×-1=.
第五步,得到方程组的解为
(4)对于一般的二元一次方程组
其中a1b2-a2b1≠0,可以写出类似的求解步骤:
第一步,①×b2-②×b1,得
(a1b2-a2b1)x=b2c1-b1c2.③
第二步,解③,得x=.
第三步,②×a1-①×a2,得(a1b2-a2b1)y=a1c2-a2c1.④
第四步,解④,得y=.
第五步,得到方程组的解为
(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.
在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.
现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.
(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.
应用示例
思路1
例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是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤.
变式训练
请写出判断n(n>2)是否为质数的算法.
分析:对于任意的整数n(n>2),若用i表示2—(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.
这个操作一直要进行到i的值等于(n-1)为止.
算法如下:第一步,给定大于2的整数n.
第二步,令i=2.
第三步,用i除n,得到余数r.
第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.
第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.
例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]内的数可以作为方程的近似解.
解:第一步,令f(x)=x2-2,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点m=.
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].
第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
当d=0.005时,按照以上算法,可以得到下表.
a
b
|a-b|
1
2
1
1
1.5
0.5
1.25
1.5
0.25
1.375
1.5
0.125
1.375
1.437 5
0.062 5
1.406 25
1.437 5
0.031 25
1.406 25
1.421 875
0.015 625
1.414 062 5
1.421 875
0.007 812 5
1.414 062 5
1.417 968 75
0.003 906 25
于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为0.005时的原方程的近似解.实际上,上述步骤也是求的近似值的一个算法.
点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……
思路2
例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.
分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.
解:具体算法如下:
算法步骤:
第一步:人带两只狼过河,并自己返回.
第二步:人带一只狼过河,自己返回.
第三步:人带两只羚羊过河,并带两只狼返回.
第四步:人带一只羊过河,自己返回.
第五步:人带两只狼过河.
点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.
例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.
分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.
解:算法一:
第一步,洗刷水壶.
第二步,烧水.
第三步,洗刷茶具.
第四步,沏茶.
算法二:
第一步,洗刷水壶.
第二步,烧水,烧水的过程当中洗刷茶具.
第三步,沏茶.
点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.
例3 写出通过尺轨作图确定线段AB一个5等分点的算法.
分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.
解:算法分析:
第一步,从已知线段的左端点A出发,任意作一条与AB不平行的射线AP.
第二步,在射线上任取一个不同于端点A的点C,得到线段AC.
第三步,在射线上沿AC的方向截取线段CE=AC.
第四步,在射线上沿AC的方向截取线段EF=AC.
第五步,在射线上沿AC的方向截取线段FG=AC.
第六步,在射线上沿AC的方向截取线段GD=AC,那么线段AD=5AC.
第七步,连结DB.
第八步,过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点.
点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练.
知能训练
设计算法判断一元二次方程ax2+bx+c=0是否有实数根.
解:算法步骤如下:
第一步,输入一元二次方程的系数:a,b,c.
第二步,计算Δ=b2-4ac的值.
第三步,判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.
点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点.
拓展提升
中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.
解:算法分析:
数学模型实际上为:y关于t的分段函数.
关系式如下:
y=
其中[t-3]表示取不大于t-3的整数部分.
算法步骤如下:
第一步,输入通话时间t.
第二步,如果t≤3,那么y=0.22;否则判断t∈Z 是否成立,若成立执行
y=0.2+0.1×(t-3);否则执行y=0.2+0.1×([t-3]+1).
第三步,输出通话费用c.
课堂小结
(1)正确理解算法这一概念.
(2)结合例题掌握算法的特点,能够写出常见问题的算法.
作业
课本本节练习1、2.
设计感想
本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.
1.1.2 程序框图与算法的基本逻辑结构
整体设计
教学分析
用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.
三维目标
1.熟悉各种程序框及流程线的功能和作用.
2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.
3.通过比较体会程序框图的直观性、准确性.
重点难点
数学重点:程序框图的画法.
数学难点:程序框图的画法.
课时安排
4课时
教学过程
第1课时 程序框图及顺序结构
导入新课
思路1(情境导入)
我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.
思路2(直接导入)
用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图.
推进新课
新知探究
提出问题
(1)什么是程序框图?
(2)说出终端框(起止框)的图形符号与功能.
(3)说出输入、输出框的图形符号与功能.
(4)说出处理框(执行框)的图形符号与功能.
(5)说出判断框的图形符号与功能.
(6)说出流程线的图形符号与功能.
(7)说出连接点的图形符号与功能.
(8)总结几个基本的程序框、流程线和它们表示的功能.
(9)什么是顺序结构?
讨论结果:
(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.
(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.
(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.
(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.
(6)流程线:表示程序的流向.
(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.
(8)总结如下表.
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线
连接程序框
连接点
连接程序框图的两部分
(9)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.
三种逻辑结构可以用如下程序框图表示:
顺序结构 条件结构 循环结构
应用示例
例1 请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数”的算法.
解:程序框图如下:
点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法.
变式训练
观察下面的程序框图,指出该算法解决的问题.
解:这是一个累加求和问题,共99项相加,该算法是求的值.
例2 已知一个三角形三条边的边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c,则三角形的面积为S=),其中p=.这个公式被称为海伦—秦九韶公式)
算法分析:这是一个简单的问题,只需先算出p的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法.
算法步骤如下:
第一步,输入三角形三条边的边长a,b,c.
第二步,计算p=.
第三步,计算S=.
第四步,输出S.
程序框图如下:
点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.
变式训练
下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.
解:根据题意=7,
∵a1=3,∴a2=11.即a2的值为11.
例3 写出通过尺轨作图确定线段AB的一个5等分点的程序框图.
解:利用我们学过的顺序结构得程序框图如下:
点评:这个算法步骤具有一般性,对于任意自然数n,都可以按照这个算法的思想,设计出确定线段的n等分点的步骤,解决问题,通过本题学习可以巩固顺序结构的应用.
知能训练
有关专家建议,在未来几年内,中国的通货膨胀率保持在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=10 927.27×(1+3%)=11 255.09;
因此,价格的变化情况表为:
年份
2004
2005
2006
2007
2008
钢琴的价格
10 000
10 300
10 609
10 927.27
11 255.09
程序框图如下:
点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图.
拓展提升
如下给出的是计算的值的一个流程图,其中判断框内应填入的条件是______________.
答案:i>10.
课堂小结
(1)掌握程序框的画法和功能.
(2)了解什么是程序框图,知道学习程序框图的意义.
(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.
作业
习题1.1A 1.
设计感想
首先,本节的引入新颖独特,旅游图的故事阐明了学习程序框图的意义.通过丰富有趣的事例让学生了解了什么是程序框图,进而激发学生学习程序框图的兴趣.本节设计题目难度适中,逐步把学生带入知识的殿堂,是一节好的课例.
第2课时 条件结构
导入新课
思路1(情境导入)
我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构——条件结构.
思路2(直接导入)
前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构.
推进新课
新知探究
提出问题
(1)举例说明什么是分类讨论思想?
(2)什么是条件结构?
(3)试用程序框图表示条件结构.
(4)指出条件结构的两种形式的区别.
讨论结果:
(1)例如解不等式ax>8(a≠0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.
(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
(3)用程序框图表示条件结构如下.
条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.
图1 图2
注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.
(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.
应用示例
例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.
算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.
算法步骤如下:
第一步,输入3个正实数a,b,c.
第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.
程序框图如右图:
点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.
例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.
算法分析:我们知道,若判别式Δ=b2-4ac>0,则原方程有两个不相等的实数根
x1=,x2=;
若Δ=0,则原方程有两个相等的实数根x1=x2=;
若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据判断的结果执行不同的步骤,这个过程可以用条件结构实现.
又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x1和x2之前,先计算p=,q=.
解决这一问题的算法步骤如下:
第一步,输入3个系数a,b,c.
第二步,计算Δ=b2-4ac.
第三步,判断Δ≥0是否成立.若是,则计算p=,q=;否则,输出“方程没有实数根”,结束算法.
第四步,判断Δ=0是否成立.若是,则输出x1=x2=p;否则,计算x1=p+q,x2=p-q,并输出x1,x2.
程序框图如下:
例3 设计算法判断一元二次方程ax2+bx+c=0是否有实数根,并画出相应的程序框图.
解:算法步骤如下:
第一步,输入3个系数:a,b,c.
第二步,计算Δ=b2-4ac.
第三步,判断Δ≥0是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算法.
相应的程序框图如右:
点评:根据一元二次方程的意义,需要计算判别式Δ=b2-4ac的值.再分成两种情况处理:(1)当Δ≥0时,一元二次方程有实数根;
(2)当Δ<0时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构.
例4 (1)设计算法,求ax+b=0的解,并画出流程图.
解:对于方程ax+b=0来讲,应该分情况讨论方程的解.
我们要对一次项系数a和常数项b的取值情况进行分类,分类如下:
(1)当a≠0时,方程有唯一的实数解是;
(2)当a=0,b=0时,全体实数都是方程的解;
(3)当a=0,b≠0时,方程无解.
联想数学中的分类讨论的处理方式,可得如下算法步骤:
第一步,判断a≠0是否成立.若成立,输出结果“解为”.
第二步,判断a=0,b=0是否同时成立.若成立,输出结果“解集为R”.
第三步,判断a=0,b≠0是否同时成立.若成立,输出结果“方程无解”,结束算法.
程序框图如下:
点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作.
知能训练
设计算法,找出输入的三个不相等实数a、b、c中的最大值,并画出流程图.
解:算法步骤:
第一步,输入a,b,c的值.
第二步,判断a>b是否成立,若成立,则执行第三步;否则执行第四步.
第三步,判断a>c是否成立,若成立,则输出a,并结束;否则输出c,并结束.
第四步,判断b>c是否成立,若成立,则输出b,并结束;否则输出c,并结束.
程序框图如下:
点评:条件结构嵌套与条件结构叠加的区别:
(1)条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作.
(2)条件结构的嵌套中,“条件2”是“条件1”的一个分支,“条件3”是“条件2”的一个分支……依此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行.
(3)条件结构嵌套所涉及的“条件2”“条件3”……是在前面的所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合.
例5 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:
f=
其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克).
试画出计算费用f的程序框图.
分析:这是一个实际问题,根据数学模型可知,求费用f的计算公式随物品重量ω的变化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件结构的运用,是二分支条件结构.其中,物品的重量通过输入的方式给出.
解:算法程序框图如右图:
拓展提升
有一城市,市区为半径为15 km的圆形区域,近郊区为距中心15—25 km的范围内的环形地带,距中心25 km以外的为远郊区,如右图所示.市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价为每公顷20万元,输入某一点的坐标为(x,y),求该点的地价.
分析:由该点坐标(x,y),求其与市中心的距离r=,确定是市区、近郊区,还是远郊区,进而确定地价p.由题意知,p=
解:程序框图如下:
课堂小结
(1)理解两种条件结构的特点和区别.
(2)能用学过的两种条件结构解决常见的算法问题.
作业
习题1.1A组3.
设计感想
本节采用引人入胜的方法引入正课,选用的例题难度适中,有的经典实用,有的新颖独特,每个例题都是很好的素材.条件结构是逻辑结构的核心,是培养学生逻辑推理的好素材,本节设计符合新课标精神,难度设计略高于教材.
第3课时 循环结构
导入新课
思路1(情境导入)
我们都想生活在一个优美的环境中,希望看到的是碧水蓝天,大家知道工厂的污水是怎样处理的吗?污水进入处理装置后进行第一次处理,如果达不到排放标准,则需要再进入处理装置进行处理,直到达到排放标准.污水处理装置是一个循环系统,对于处理需要反复操作的事情有很大的优势.我们数学中有很多问题需要反复操作,今天我们学习能够反复操作的逻辑结构——循环结构.
思路2(直接导入)
前面我们学习了顺序结构,顺序结构像一条没有分支的河流,奔流到海不复回;上一节我们学习了条件结构,条件结构像有分支的河流最后归入大海;事实上很多水系是循环往复的,今天我们开始学习循环往复的逻辑结构——循环结构.
推进新课
新知探究
提出问题
(1)请大家举出一些常见的需要反复计算的例子.
(2)什么是循环结构、循环体?
(3)试用程序框图表示循环结构.
(4)指出两种循环结构的相同点和不同点.
讨论结果:
(1)例如用二分法求方程的近似解、数列求和等.
(2)在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体.
(3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理的过程.重复执行的处理步骤称为循环体.
循环结构有两种形式:当型循环结构和直到型循环结构.
1°当型循环结构,如图(1)所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,返回来再判断条件P是否成立,如果仍然成立,返回来再执行A框,如此反复执行A框,直到某一次返回来判断条件P不成立时为止,此时不再执行A框,离开循环结构.继续执行下面的框图.
2°直到型循环结构,如图(2)所示,它的功能是先执行重复执行的A框,然后判断给定的条件P是否成立,如果P仍然不成立,则返回来继续执行A框,再判断条件P是否成立.继续重复操作,直到某一次给定的判断条件P时成立为止,此时不再返回来执行A框,离开循环结构.继续执行下面的框图.
见示意图:
当型循环结构 直到型循环结构
(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+100=5 050.
显然,这个过程中包含重复操作的步骤,可以用循环结构表示.分析上述计算过程,可以发现每一步都可以表示为第(i-1)步的结果+i=第i步的结果.
为了方便、有效地表示上述过程,我们用一个累加变量S来表示第一步的计算结