1、章末复习提升课, 学生用书P21), 学生用书P21)1算法的特征(1)可执行性;(2)确定性;(3)有穷性2程序框图的画法与应用(1)程序框图是用规定的图形和指向线来准确、直观、形象地表示算法的图形设计程序框图时,要先进行算法分析,建立相应的数学模型或过程模型,设计出合理有效的算法,确定算法的逻辑结构和各步的功能后再画程序框图,同时要考虑到编写程序的要求读、画程序框图是高考在本章中考查的重点(2)如果设计的程序框图较为复杂,就要采取“逐步求精”的思想,先将问题中的简单部分明确出来,再逐步对复杂部分进行细化,然后一步一步向前推进3算法语句设计的注意点(1)条件语句主要用于需要进行条件判断的算法
2、循环语句主要用于含有一定规律的计算,在使用时需要设计合理的计数变量(2)在设计整个问题的算法语句时,可能既有条件语句又有循环语句,因此要注意几种语句的书写格式4算法案例(1)求两个正整数最大公约数的解法用的是辗转相除法和更相减损之术(2)多项式求值比较先进的算法是秦九韶算法(3)割圆术是采用正多边形面积逐渐逼近圆面积的算法计算圆周率的一种方法1输入语句和赋值语句二者的不同输入语句可使初始值与程序分开,利用输入语句改变初始数据时,程序不变,而赋值语句是程序的一部分,输入语句可对多个变量赋值,赋值语句只能给一个变量赋值2程序设计中的注意点程序设计中特别注意:条件语句的条件表达和循环语句的循环变量的
3、取值范围3辗转相除法与更相减损之术的区别(1)都是求两个正整数最大公约数的方法,计算上辗转相除法以除法为主,更相减损之术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0而得到,而更相减损之术则以减数与差相等而得到, 学生用书P22)算法的设计一些问题的解决常常需要设计出一系列可操作步骤,只要按顺序执行这些步骤,就能完成任务,通常把这种解决问题的思想称为程序化思想或者算法思想算法设计与一般意义上的解决问题的方法不同,它是对一类问题的一般解法的抽象与概括,它要借助一般问题的解决方法,又要包
4、含这类问题的所有可能情形,它往往是把问题的解法划分为若干个可执行的步骤,有时甚至是重复多次,但最终都必须在有限个步骤之内完成已知平面直角坐标系中的两点A(3,1),B(3,2),写出求线段AB的垂直平分线方程的一个算法【分析】线段AB的垂直平分线是指经过线段AB的中点且与线段AB垂直的直线,故可先由中点坐标公式求出线段AB的中点N,然后计算线段AB所在直线的斜率k1,由垂直关系可知,线段AB的垂直平分线的斜率k6,最后由点斜式写出垂直平分线的方程【解】该问题的算法步骤如下:S1计算x00,y0,得线段AB的中点N;S2计算k1,得线段AB所在直线的斜率;S3计算k6,得线段AB的垂直平分线的斜
5、率;S4由点斜式得线段AB的垂直平分线的方程为y6x,即12x2y30.【点评】对于给定的问题,设计算法时应注意以下几点:(1)与解决该问题的一般方法相联系,从中提炼与概括算法步骤;(2)将解决问题的过程划分为若干个步骤;(3)引入有关的参数或变量对算法步骤加以表达;(4)用简练的语言将各个步骤表达出来程序框图程序框图是用规定的图形和连接线来准确、直观、形象地表示算法的图形,一定要分析算法的逻辑结构,根据逻辑结构画出相应的程序框图设计较简单的程序框图时,我们可以通过问题的分析,建立相应的数学模型或过程模型,进而选择顺序结构、条件分支结构、循环结构中的一种或几种画出框图即可如果设计的框图较为复杂
6、,就要采取“逐步求精”的思想设计框图,先将问题中的简单部分明确出来,再对复杂部分进行细化到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费试用条件语句描述汇款额为x元时,银行收取手续费为y元的过程,画出程序框图并写出程序【分析】依题意可知y与x的关系是y因此可以利用条件分支结构实现算法【解】程序框图如图所示:程序如下:xinput(“x”);ifx0andx100y1;elseifx5000y50;elsey0.01*x;endend【点评】处理有
7、关分段函数的问题,常用条件分支结构实现算法用基本算法语句编写程序基本算法语句有输入语句、输出语句、赋值语句、条件语句、循环语句五种,它们对应于算法的三种基本逻辑结构:顺序结构、条件分支结构、循环结构,用基本语句编写程序时要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表述以及循环语句中有关变量的取值范围计算的值,写出程序并画出程序框图【分析】利用循环结构实现算法必须搞清初值是谁,在本题里初值可设定为x1,第一次循环得到x2,第二次循环得到x3,第四次循环得到x5,共循环了4次【解】程序如下:x1/6;i1;while i4 x1/(6x);ii1; end prin
8、t(%io(2),x);相应程序框图如图所示:【点评】 当执行程序时遇到while循环语句,先判断表达式的真假,如果表达式为真,就执行while和end之间的循环体每次开始执行循环体前,都要判断表达式是否为真这样重复执行,一直到表达式为假时,就跳出循环体部分,结束循环该循环语句是在执行循环体之前进行条件判断的,故也称“前测试型”循环 while与end之间的语句组称为“循环体”在使用while循环时,应注意务必使“条件”最终变为“假”,这样才能终止循环,否则循环将无休止地进行下去 “end”的作用是控制结束一次循环1要计算下列各式中的S的值:S123100;S123100;S123n(n1且n
9、N)其中,能设计算法求解的是()ABC D解析:选C.若能设计成算法,该算法必须可以在有限步内结束并得到结果是无限的计算过程,因此不能设计算法求解2阅读下面的程序框图,运行相应的程序,则输出i的值为()A3B4C5D6解析:选B.由a1,i0i011,a1112i112,a2215i213,a35116i314,a41616550,所以输出4.3若输入8,则下列程序执行后输出的结果是_tinput(“t”);ift6 c0.2;else c0.20.7(t3);endc解析:这是一个用条件语句编写的程序,由于输入8时,t6不成立,故应有c0.20.7(83)3.7.答案:3.74画出求S的值的程序框图解: