第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.一位老爷爷带一只狼、一只羊和一