山东省北镇中学高中数学《1.1.2程序框图与算法的基本逻辑结构》第4课时教案 新人教A版必修3
展开山东省北镇中学高中数学《1.1.2程序框图与算法的基本逻辑结构》第4课时教案 新人教A版必修3 导入新课 思路1(情境导入) 一条河流有时像顺序结构,奔流到海不复回;有时像条件结构分分合合向前进;有时像循环结构,虽有反复但最后流入大海.一个程序框图就像一条河流包含三种逻辑结构,今天我们系统学习程序框图的画法. 思路2(直接导入) 前面我们学习了顺序结构、条件结构、循环结构,今天我们系统学习程序框图的画法. 推进新课 新知探究 提出问题 (1)请大家回忆顺序结构,并用程序框图表示. (2)请大家回忆条件结构,并用程序框图表示. (3)请大家回忆循环结构,并用程序框图表示. (4)总结画程序框图的基本步骤. 讨论结果: (1)顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.框图略. (2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.框图略. (3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体. 循环结构有两种形式:当型循环结构和直到型循环结构.框图略. (4)从前面的学习可以看出,设计一个算法的程序框图通常要经过以下步骤: 第一步,用自然语言表达算法步骤. 第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的程序框表示,得到该步骤的程序框图. 第三步,将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图. 应用示例 例1 结合前面学过的算法步骤,利用三种基本逻辑结构画出程序框图,表示用“二分法”求方程x2-2=0(x>0)的近似解的算法. 算法分析:(1)算法步骤中的“第一步”“第二步”和“第三步”可以用顺序结构来表示(如下图): (2)算法步骤中的“第四步”可以用条件结构来表示(如下图).在这个条件结构中,“否”分支用“a=m”表示含零点的区间为[m,b],并把这个区间仍记成[a,b];“是”分支用“b=m ”表示含零点的区间为[a,m],同样把这个区间仍记成[a,b]. (3)算法步骤中的“第五步”包含一个条件结构,这个条件结构与“第三步”“第四步”构成一个循环结构,循环体由“第三步”和“第四步”组成,终止循环的条件是“|a-b|<d或f(m)=0”.在“第五步”中,还包含由循环结构与“输出m”组成的顺序结构(如下图). (4)将各步骤的程序框图连接起来,并画出“开始”与“结束”两个终端框,就得到了表示整个算法的程序框图(如下图). 点评:在用自然语言表述一个算法后,可以画出程序框图,用顺序结构、条件结构和循环结构来表示这个算法,这样表示的算法清楚、简练,便于阅读和交流. 例2 相传古代的印度国王要奖赏国际象棋的发明者,问他需要什么.发明者说:陛下,在国际象棋的第一个格子里面放1粒麦子,在第二个格子里面放2粒麦子,第三个格子放4粒麦子,以后每个格子中的麦粒数都是它前一个格子中麦粒数的二倍,依此类推(国际象棋棋盘共有64个格子),请将这些麦子赏给我,我将感激不尽.国王想这还不容易,就让人扛了一袋小麦,但不到一会儿就没了,最后一算结果,全印度一年生产的粮食也不够.国王很奇怪,小小的“棋盘”,不足100个格子,如此计算怎么能放这么多麦子?试用程序框图表示此算法过程. 解:将实际问题转化为数学模型,该问题就是要求1+2+4+……+263的和. 程序框图如下: 点评:对于开放式探究问题,我们可以建立数学模型(上面的题目可以与等比数列的定义、性质和公式联系起来)和过程模型来分析算法,通过设计算法以及语言的描述选择一些成熟的办法进行处理. 例3 乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法是:行李质量不超过50 kg时按0.25元/kg;超过50 kg而不超过100 kg时,其超过部分按0.35元/kg;超过100 kg时,其超过部分按0.45元/kg.编写程序,输入行李质量,计算出托运的费用. 分析:本题主要考查条件语句及其应用.先解决数学问题,列出托运的费用关于行李质量的函数关系式.设行李质量为x kg,应付运费为y元,则运费公式为: y= 整理得y= 要计算托运的费用必须对行李质量分类讨论,因此要用条件语句来实现. 解:算法分析: 第一步,输入行李质量x. 第二步,当x≤50时,计算y=0.25x,否则,执行下一步. 第三步,当x≤100,计算y=0.35x-5,否则,计算y=0.45x-15. 第四步,输出y. 程序框图如下: 知能训练 设计一个用有理数数幂逼近无理指数幂的算法,画出算法的程序框图. 解:算法步骤: 第一步,给定精确度d,令i=1. 第二步,取出的到小数点后第i位的不足近似值,记为a;取出的到小数点后第i位的过剩近似值,记为b. 第三步,计算m=5b-5a. 第四步,若m