第15讲算法的含义程序框图doc高中数学高三新数学第一轮复习教案〔讲座15〕—算法的含义、程序框图一.课标要求:1.通过对解决具体咨询题过程与步骤的分析〔如,二元一次方程组求解等咨询题〕,体会算法的思想,了解算法的含义;2.通过仿照、操作、探究,经历通过设计程序框图表达解决咨询题的过程。
在具体咨询题的解决过程中〔如,三元一次方程组求解等咨询题〕,明白得程序框图的三种差不多逻辑结构:顺序、条件分支、循环。
二.命题走向算法是高中数学课程中的新内容,本章的重点是算法的概念和算法的三种逻辑结构。
推测2007年高考对本章的考察是:以选择题或填空题的形式显现,分值在5分左右,考察的热点是算法的概念。
三.要点精讲1.算法的概念〔1〕算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们能够讲洗衣机的使用讲明书是操作洗衣机的算法,菜谱是做菜的算法等等。
在数学中,现代意义的算法是指能够用运算机来解决的某一类咨询题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
〔2〕算法的特点:①确定性:算法的每一步都应当做到准确无误、〝不重不漏〞。
〝不重〞是指不是可有可无的、甚至无用的步骤,〝不漏〞是指缺少哪一步都无法完成任务。
②逻辑性:算法从开始的〝第一步〞直到〝最后一步〞之间做到环环相扣。
分工明确,〝前一步〞是〝后一步〞的前提,〝后一步〞是〝前一步〞的连续。
③有穷性:算法要有明确的开始和终止,当到达终止步骤时所要解决的咨询题必须有明确的结果,也确实是讲必须在有限步内完成任务,不能无限制的连续进行。
〔3〕算法的描述:自然语言、程序框图、程序语言。
2.程序框图〔1〕程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字讲明来准确、直观地表示算法的图形;〔3〕程序框图的构成一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的讲明文字。
3.几种重要的结构 〔1〕顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。
它是由假设干个依次执行的步骤组成的,它是任何一个算法都离不开的一种差不多算法结构。
见示意图和实例:顺序结构在程序框图中的表达确实是用流程线将程序框自上而下地连接起来,按顺示意图序执行算法步骤。
如在示意图中,A 框和B 框是依次执行的,只有在执行完A 框指定的操作后,才能接着执行B 框所指定的操作。
〔2〕条件结构如下面图示中虚线框内是一个条件结构,此结构中含有一个判定框,算法执行到此判定给定的条件P 是否成立,选择不同的执行框〔A 框、B 框〕。
不管P 条件是否成立,只能执行A 框或B 框之一,不可能既执行A 框又执行B 框,也不可能A 框、B 框都不执行。
A 框或B 框中能够有一个是空的,即不执行任何操作。
见示意图〔3〕循环结构在一些算法中要求重复执行同一操作的结构称为循环结构。
即从算法某处开始,按照一定条件重复执行某一处理过程。
重复执行的处理步骤称为循环体。
循环结构有两种形式:当型循环结构和直到型循环结构。
①当型循环结构,如左以下图所示,它的功能是当给定的条件P 成立时,执行A 框,A 框执行完毕后,返回来再判定条件P 是否成立,假如仍旧成立,返回来再执行A 框,如此反复执行A 框,直到某一次返回来判定条件P 不成立时为止,现在不再执行A 框,离开循环结构。
连续执行下面的框图。
②直到型循环结构,如右以下图所示,它的功能是先执行重复执行的A 框,然后判定给定的条件P 是否成立,假如P 仍旧不成立,那么返回来连续执行A 框,再判定条件P 是否成立。
以次重复操作,直到某一次给定的判定条件P 时成立为止,现在不再返回来执行A 框,离开循环结构。
连续执行下面的框图。
见示意图四.典例解析题型1:算法概念当型循环结构 直到型循环结构例1.以下讲法正确的选项是〔〕A.算法确实是某个咨询题的解题过程;B.算法执行后能够产生不同的结果;C.解决某一个具体咨询题算法不同结果不同;D.算法执行步骤的次数不能够为专门大,否那么无法实施。
解析:答案为选项B;选项B,例如:判定一个整数是否为偶数,结果为〝是偶数〞和〝不是偶数〞两种;选项A,算法不能等同于解法;选项C,解决某一个具体咨询题算法不同结果应该相同,否那么算法构造的有咨询题;选项D,算法能够为专门多次,但不能够无限次。
点评:算法一样是机械的,有时需要进行大量的重复运算。
只要按部就班去做,总能算出结果。
通常把算法过程称为〝数学机械化〞。
数学机械化的最大优点是它能够借助运算机来完成;实际上处理任何咨询题都需要算法。
如:中国象棋有中国象棋的棋谱、走法、胜负的评判准那么;而国际象棋有国际象棋的棋谱、走法、胜负的评判准那么;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……。
例2.以下语句中是算法的个数为〔〕①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎;②统筹法中〝烧水泡茶〞的故事;③测量某棵树的高度,判定其是否是大树;④三角形的一部分边长和角,借助正余弦定理求得剩余的边角,再利用三角形的面积公式求出该三角形的面积。
A.1 B.2 C.3 D.4解析:正确选项为C,③中我们对〝树的大小〞没有明确的标准,无法完成任务,不是有效的算法构造。
①中,勾画了从济南到巴黎的行程安排,完成了任务;②中,节约时刻,烧水泡茶完成了任务;④中,纯数学咨询题,借助正、余弦定明白得三角形,进而求出三角形的面积。
点评:算法过程要做到能一步一步的执行,每一步执行的操作,必须确切,不能含混不清,且在有限步后的必须得到咨询题的结果。
题型2:经典算法例3.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,假如狼的数量许多于羚羊的数量就会吃羚羊。
该人如何将动物转移过河?请设运算法?解析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,如此才能使得两岸的羚羊数量占到优势,具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回;第二步:人带一只狼过河,自己返回;第三步:人带两只羚羊过河,并带两只狼返回; 第四步:人带一只羊过河,自己返回; 第五步:人带两只狼过河。
点评:算法是解决某一类咨询题的精确描述,有些咨询题使用形式化、程序化的刻画是最恰当的。
这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能显现的情形,表达思维的严密性和完整性。
此题型解决咨询题的算法中某些步骤重复进行多次才能解决,在现实生活中,专门多较复杂的咨询题经常遇到如此的咨询题,设运算法的时候,假如能够合适地利用某些步骤的重复,不但能够使得咨询题变得简单,而且能够提高工作效率。
例4.这是中国古代的一个闻名算法案例:一群小兔一群鸡,两群合到一群里,要数腿48,要数脑袋17,多少小兔多少鸡?解析:求解鸡兔的咨询题简单直观,却包含着深刻的算法思想。
应用解二元一次方程组的方法来求解鸡兔同笼咨询题。
第一步:设有小鸡x 只,小兔y 只,那么有⎩⎨⎧=+=+)2(4842)1(17y x y x第二步:将方程组中的第一个方程两变乘-2加到第二个方程中去,得到⎩⎨⎧⨯-=-=+21748)24(17y y x ,得到y=7; 第三步:将y=7代入〔1〕得x=10。
点评:解决这些咨询题的差不多思想并不复杂,专门清晰,但表达起来专门烦琐,有的步骤专门多,有的运算量专门大,有时候完全依靠人力完成这些工作专门困难。
然而这些恰恰是运算机的长处,它能不厌其烦的枯燥的、重复的、繁琐的工作。
但算法也有优劣,我们要追求高效。
题型3:顺序结构例5.写出通过尺轨作图确定线段AB 一个5等分点的算法。
解析:我们借助于平行线定理,把位置的比例关系变成的比例关系,只要按照规那么一步一步去做就能完成任务。
算法分析:第一步:从线段的左端点A 动身,任意作一条与AB 不平行的射线AP ; 第二步:在射线上任取一个不同于端点A 的点C ,得到线段AC ; 第三步:在射线上延AC 的方向截取线段CE=AC ; 第四步:在射线上延AC 的方向截取线段EF=AC ; 第五步:在射线上延AC 的方向截取线段FG=AC ;第六步:在射线上延AC 的方向截取线段GD=AC ,那么线段AD=5AB ; 第七步:连接DB ;第八步:过C作BD的平行线,交线段AB于M,如此点M确实是线段AB的一个5等分点。
点评:那个算法步骤具有一样性,关于任意自然数n,都能够按照那个算法的思想,设计出确定线段的n等分点的步骤,解决咨询题。
例6.有关专家建议,在以后几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳固有利无害。
所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%。
在这种情形下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情形,并输出四年后的价格。
解析:用P表示钢琴的价格,不难看出如下算法步骤:2005年P=10000×〔1+3%〕=10300;2006年P=10300×〔1+3%〕=10609;2007年P=10609×〔1+3%〕=10927.27;2018年P=10927.27×〔1+3%〕=11255.09;因此,价格的变化情形表为:程序框图为:点评:顺序结构只须严格按照传统的解决数学咨询题的解题思路,将咨询题解决掉。
最后将解题步骤 〝细化〞就能够。
〝细化〞指的是写出算法步骤、画出程序框图。
题型4:条件结构例7.设运算法判定一元二次方程02=++c bx ax 是否有实数根,并画出相应的程序框图。
解析:算法步骤如下:第一步:输入一元二次方程的系数:a ,b ,c ;第二步:运算△ac b 42-=的值;第三步:判定△≥0是否成立。
假设△≥0成立,输出〝方程有实根〞;否那么输出〝方程无实根〞。
终止算法。
相应的程序框图如下:点评:依照一元二次方程的意义,需要运算判不式△ac b 42-=的值。
再分成两种情形处理:〔1〕当△≥0时,一元二次方程有实数根;〔2〕当△<0时,一元二次方程无实数根。
该咨询题实际上是一个分类讨论咨询题,依照一元二次方程系数的不同情形,最后结果就不同。
因而当给出一个一元二次方程时,必须先确定判不式的值,然后再用判不式的值的取值情形确定方程是否有解。
该例仅用顺序结构是办不到的,要对判不式的值进行判定,需要用到条件结构。
例8.〔1〕设运算法,求0=+b ax 的解,并画出流程图。
解析:关于方程0=+b ax 来讲,应该分情形讨论方程的解。
我们要对一次项系数a 和常数项b 的取值情形进行分类,分类如下: 〔1〕当a ≠0时,方程有唯独的实数解是ab -; 〔2〕当a=0,b=0时,全体实数差不多上方程的解; 〔3〕当a=0,b ≠0时,方程无解。