第1章算法初步算法设计【例1】已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.思路点拨:先由中点坐标公式求出线段AB的中点坐标,再由斜率公式求出直线AB的斜率,然后利用两直线垂直,斜率乘积等于-1,得到线段AB垂直平分线的斜率,最后由点斜式得到线段AB的垂直平分线方程.把这一解决问题的过程划分为若干明确的步骤并用简练的语言表述出来,就是一个算法.[解]算法如下:S1计算x0←=1,y0←=1,得AB的中点N(1,1);S2计算k1←=,得AB斜率;S3计算k←-=-2,得AB垂直平分线的斜率;S4由点斜式得直线AB的垂直平分线的方程,并输出.1.算法设计与一般意义上的问题解决不同,它是对一类问题、一般解法的抽象与概括.算法设计既要借助一般问题的解决方法,又要包含这类问题的所有可能情形,它往往是把问题的解决划分为若干个可执行的步骤,有时甚至需要重复多次某些步骤,但最终都必须在有限个步骤之内完成.2.对于给定的问题,设计其算法时应注意:(1)与解决该问题的一般方法相联系,从中提炼并概括出算法步骤;(2)将解决问题的过程划分为若干步骤;(3)引入有关的参数或变量对算法步骤加以表述;(4)用简练的语言将各个步骤表述出来.11.已知圆的方程(x-2)2+(y+3)2=25和点P(-1,2),写出求过点P且与圆相切的直线AB的方程的一个算法.思路点拨:把求圆的切线的解题过程划分为若干个明确的步骤表述出来即可.[解]算法步骤如下:第一步用点斜式写出直线AB的方程y-2=k(x+1);第二步将直线的方程化为一般方程kx-y+k+2=0;第三步计算点(2,-3)到直线AB的距离d=;第四步解方程5=,得k=0或k=;第五步将k的值代入方程kx-y+k+2=0;第六步将第五步的运算结果化简,即得到直线AB的方程.2.一位老爷爷带一只狼、一只羊和一筐青菜准备过河,但由于船小,过河时每次只能带一样东西,而老爷爷不在时,狼会把羊吃掉,羊也会把青菜吃掉.请写出解决老爷爷怎样过河才能把所带的东西全部运到对岸这一问题的算法.思路点拨:在老爷爷运送东西过河的过程中,人离开岸边时必须保证岸边的每个东西相安无事,依据此原则可以确定安全的过河办法.[解]老爷爷过河的步骤如下:S1把羊带到对岸;S2回来接狼,把狼带到对岸后把羊带回来;S3把羊放在原地,把菜运到对岸;S4回来接羊.流程图的应用【例2】(1)执行如图所示的流程图,若输入的t∈[-2,2],则输出的S属于________.(2)执行如图所示的流程图,如果输入的a=4,b=6,那么输出的n的值为________.2(1)[-3,6](2)4[(1)当0≤t≤2时,S=t-3∈[-3,-1],当-2≤t<0时,2t2+1∈(1,9],t←2t2+1,即t∈(1,9],此时执行S=t-3,则S∈(-2,6],综上,S∈[-3,6].(2)运行流程图,第1次循环,a=2,b=4,a=6,s=6,n=1;第2次循环,a=-2,b=6,a=4,s=10,n=2;第3次循环,a=2,b=4,a=6,s=16,n=3;第4次循环,a=-2,b=6,a=4,s=20,n=4,结束循环,故输出的n=4.]解答此类问题的关键是读懂流程图,理解流程图的功能.流程图中的选择结构和循环结构一直是高考的热点,循环结构几乎是每年必考的内容,选择结构常用来设计分段函数求值;比较两个数的大小;对一组数进行排序筛选等问题.在解决此类问题时关键要弄清楚分类的条件.对于循环结构,应注意终止的条件,关键是看“是”与“否”后面对应的操作是什么.提醒:循环结构中循环次数的控制非常关键,它直接影响着运算的结果,注意两个问题:一是运算次数;二是循环结构的形式,即是当型循环还是直到型循环.3.执行如图所示的流程图,若输入n的值为3,则输出S的值为________.31[i=1,S=-1,1≥3不成立;i=2,S=-1,2≥3不成立;i=3,S=-1=1,此时3≥3成立,结束循环,输出S的值为1.]4.如图所示的流程图是为了求出满足3n-2n>1000的最小偶数n,那么在和两个空白框中,可以分别填入________,________.A≤1000n←n+2[由流程图中A=3n-2n,故判断框中应填入A≤1000,由于初始值n=0,要求满足A=3n-2n>1000的最小偶数,故执行框中填入n←n+2.]伪代码的应用(1)如下所示的伪代码,当输入值x=4时,输出...