人教版高一数学必修三第一章算法初步课件 程序设计初步
- 格式:ppt
- 大小:1.30 MB
- 文档页数:12
算法与程序框图教案第一章 算法初步§1.1 算法与程序框图【入门向导】“孙子问题”最早出现在我国《算经十书》之一的《孙子算经》中.其原文是:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何?答曰:二十三”.意思是说:今有一些事物,不知道它的数目,三个三个地数它们剩余二个,五个五个地数它们剩余三个,七个七个地数它们剩余二个,问这些事物的数目是多少?“孙子问题”相当于求关于x ,y ,z 的不定方程组⎩⎪⎨⎪⎧ m =3x +2m =5y +3m =7z +2的正整数解.《孙子算经》中给出了具体的解法,其步骤是:选定5×7的一个倍数,被3除余1,即70;选定3×7的一个倍数,被5除余1,即21;选定3×5的一个倍数,被7除余1,即15.然后按下式计算:m =70×2+21×3+15×2-105P .式中105为3,5,7的最小公倍数,P 为适当的整数,使得0<m ≤105,这里取P =2.你能想出一种算法,利用计算机来解决上述问题吗?1.对算法含义的理解(1)算法是机械的算法的设计要“面面俱到”不能省略任何一个小小的步骤,有时可能要进行大量重复计算,但只要按步骤一步一步地执行,总能得到结果.算法的这种机械化的特点,在设计出算法后,便于把具体过程交给计算机去完成.(2)算法是普遍存在的实际上处理任何问题都需要算法,如国际象棋的棋谱、走法、胜负的评判标准,邮寄物品的相关手续,求一个二元一次方程组的解等等.(3)求解某个具体问题的算法一般是不唯一的算法实际上是解决问题的步骤和方法,求解问题的出发点不同,就会得到不同的算法.如求二元一次方程组的解有代入消元法和加减消元法,但不同的算法可能会有“优劣”之分.例1 早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤.从下列选项中选出最好的一种流程( )A .1.洗脸刷牙、2.刷水壶、3.烧水、4.泡面、5.吃饭、6.听广播B .1.刷水壶、2.烧水同时洗脸刷牙、3.泡面、4.吃饭、5.听广播C .1.刷水壶、2.烧水同时洗脸刷牙、3.泡面、4.吃饭同时听广播D .1.吃饭同时听广播、2.泡面、3.烧水同时洗脸刷牙、4.刷水壶分析 处理问题的算法要求能够一步一步地执行,好的算法还要花费时间少.解析 A 中洗脸刷牙可以在烧水的过程中进行,听广播可以和吃饭同时进行;D 中吃饭要在刷水壶、烧水、泡面之后.答案 C2.算法与数学问题解法的区别与联系(1)联系算法与解法是一般与特殊的关系,也是抽象与具体的关系.如教材中由具体的二元一次方程组的求解过程(解法)出发,归纳出了二元一次方程组求解的步骤;同时指出,这样的求解步骤也适合有限制条件的二元一次方程组,这些步骤就构成了二元一次方程组的算法.算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可利用这类问题的一般算法解决.(2)区别算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.例2 给出求解方程组⎩⎪⎨⎪⎧2x +y =7. ①4x +5y =11 ②的一个算法. 解 方法一 (消元法)S1 ②-①×2,得3y =-3,③S2 解③得y =-1;④S3 将④代入①,得x =4;S4 输出x =4,y =-1.方法二 (公式法)S1 计算D =2×5-4×1=6;S2 因为D =6,所以x =5×7-11×16=4,y =11×2-7×46=-1; S3 输出x =4,y =-1.点评 本题中的方法二,直接利用高斯消去法的算法步骤,显得更为简捷.3.程序框图(1)与自然语言相比用程序框图表示算法的优越性用自然语言表示算法的步骤有明确的顺序性,但在处理条件结构或循环结构这样的问题时比较困难,不够直观、准确.程序框图是表示算法的另一种形式,它的结构清晰,步骤准确,有时能解决自然语言不易表达的问题.(2)画程序框图的规则画程序框图的规则应是大家共同遵守的一些规则,目的是为了使大家彼此之间能读懂各自画的框图.①使用标准的框图符号;②框图一般按从上到下,从左到右的方向来画;③除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号;④在图形符号内描述语言要简练、清楚.例3已知圆的半径,设计一个算法求圆的周长和面积的近似值,并用程序框图表示.分析解答本题可由圆的周长公式和面积公式直接求解,其中圆的半径可由算法输入.解算法设计:S1输入圆的半径R.S2计算L=2πR.S3计算S=πR2.S4输出L和S.程序框图:1.算法的确定性理解不到位例1求2+4+6+8+…+100的算法.错解算法:S1计算2+4+6+8+ (100)S2输出第一步中的结果.错解辨析对于连加连乘的问题,不能直接得到答案,应当逐步进行.正解算法:S1计算2+4得到6;S2将第一步的结果与6相加得到12;S3将第二步的结果与8相加得到20;S4如此继续下去,一直加到100;S5输出运算结果.2.程序框图中循环结构功能、条件出错例2 如图所示是某一算法的程序框图,根据该框图指出这一算法的功能.错解 求S =12+14+16+18+110的值. 正解 在该程序框图中,S 与n 为两个累加变量,k 为计数变量,所以该算法的功能是求12+14+16+…+120的值.1.按部就班法此法是基本方法,要求按问题的解题步骤“按部就班”地做,每一步都有唯一的结果,且在有限步之后得出结果. 例1 写出作∠ABC 的平分线的一个算法.分析 解决这个问题,只需按作图方法“按部就班”地设计算法.解 S1 以B 为圆心,以任意长为半径画弧,与边BA 交于M 点,与边BC 交于N 点.S2 以M 为圆心,以大于12MN 的长d 为半径画弧.S3 以N 为圆心,以大于12MN 的长d 为半径画弧.S4 取第二、三两步所得的弧的交点P .S5 过B ,P 作射线BP ,射线BP 即为∠ABC 的平分线.2.公式法利用现有公式解决问题是设计算法的重要思路.例2 计算上底为2,下底为4,高为5的梯形的面积.分析 根据梯形的面积公式S =12(a +b )h .其中a 是上底,b 是下底,h 是高,只需令a=2,b=4,h=5,代入公式即可.解算法如下:S1a=2,b=4,h=5;S2S=12(a+b)h;S3输出S.3.循环法有些问题需要重复计算,而这正是计算机的强项,因此我们可以利用循环来实现.例3设计出一个求23+43+63+…+603的算法.解S1p=0,i=2.S2p=p+i3.S3i=i+2.S4如果i>60,算法结束,否则,返回第二步.S5输出p.1.抓特征组成任何一个程序框图的三要素是“四框”、“一线”加“文字说明”.“四框”即起、止框、输入(出)框、处理框、判断框.“一线”即流程线,任意两个程序框之间都存在流程线.“文字说明”即在框图内加以说明的文字、算式等,这是每个框图不可缺少的内容.2.明规则程序框图的画法规则是:①用标准,即使用标准的图形符号;②按顺序,即框图一般按照从上到下、从左到右的顺序画;③看出入,即大多数程序框只有一个入口和一个出口,判断框是唯一具有两个出口的图框,条件分支结构中要在出口处标明“是”或“否”;④明循环,即循环结构要注意变量的初始值及循环终止条件;⑤辨流向,即流程线的箭头表示执行的方向,不可缺少;⑥简说明,即在程序框内的描述语言要简练清晰.3.依步骤画程序框图的总体步骤是:第一步,先设计算法,因为算法的设计是画程序框图的基础,所以在画程序框图前,首先应在稿纸上写出相应的算法步骤,并分析算法需要哪些基本逻辑结构;第二步,再把算法步骤转化为对应的程序框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.例4某商场进行优惠促销:若购物金额x在500元以上(不包括500元),则全部货款打8折;若购物金额x在300元以上(不包括300元)500元以下(包括500元),则全部货款打9折;否则,不打折.画出程序框图,要求输入购物金额x元,能输出实际交款额.分析由题意,实际交款额y与购物金额x之间的函数关系是y=⎩⎪⎨⎪⎧ x , 0≤x ≤300,0.9x ,300<x ≤500,0.8x ,x >500.因为它需对x 进行三次判断,所以算法含有两个条件结构,写出算法步骤如下.解 算法如下:S1 输入购物金额x .S2 判断x ≤300是否成立.若是,则y =x ,执行第四步;否则,进入第三步.S3 判断x ≤500是否成立.若是,则y =0.9x ;否则,y =0.8x .S4 输出y ,算法结束.画法步骤 ①画顺序结构图,即起、止框及输入框,并且流程线连接(如图中①);②画条件结构图,即画判断框,里面填写“x ≤300”(如图中②).对于“是”画处理框并填入“y =x ”,对于“否”流向下一个判断框;③再画条件结构图,即画判断框,里面填写“x ≤500”对于“是”画处理框并填入“y =0.9x ”,对于“否”画处理框并填入“y =0.8x ”(如图中③);④画一个总的输出框并输出y ,以及起、止框表示算法结束(如图中④).最后,合成整个算法程序框图.1.(天津)阅读下边的程序框图,运行相应的程序,则输出i 的值为( )A .3B .4C .5D .6解析 i =1时,a =2;i =2时,a =5;i =3时,a =16;当i =4时,a =65>50.即条件a >50成立,所以输出的i 的值为4.答案 B2.(湖南)若执行如图所示的程序框图,输入x 1=1,x 2=2,x 3=3,x =2,则输出的数等于______.解析 由框图的算法功能可知,输出的数为:S =(1-2)2+(2-2)2+(3-2)23=23.答案 233.(日照模拟)执行下边的程序框图,输出的T =________.解析 按照程序框图依次执行为S =5,n =2,T =2;S =10,n =4,T =2+4=6;S =15,n =6,T =6+6=12;S =20,n =8,T =12+8=20;S =25,n =10,T =20+10=30>S ,输出T =30.答案 304.(威海调研)某算法的程序框图如图所示,则输出量y 与输入量x 满足的关系式是__________.解析 由题意知,该程序框图表达的是一个分段函数y =⎩⎪⎨⎪⎧2x , x ≤1,x -2,x >1. 答案 y =⎩⎪⎨⎪⎧2x , x ≤1,x -2,x >1 5.(抚顺模拟)某篮球队6名主力队员在最近三场比赛中投进的三分球个数如下表所示:下图是统计该则图中判断框应填________,输出的s =________.解析该程序框图是统计6名队员在最近三场比赛中投进的三分球总数,因此图中判断框应填i≤6,输出的s=a1+a2+…+a6.答案i≤6a1+a2+a3+a4+a5+a6。