专题突破一 例析典型算法与程序框图一、解方程(方程组)的算法例 1 用自然语言描述求一元二次方程 x2+bx+c=0 的根的算法.思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法.解 用自然语言来描述算法,第一步,计算 Δ=b2-4ac.第二步,如果 Δ<0,则原方程无实数解,输出“无实数解”;否则(Δ≥0)计算 x1=,x2=,输出 x1,x2的值.点评 第二步中包含了一个判断 Δ=b2-4ac 是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑 Δ=b2-4ac 小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的.二、套用公式求值的算法例 2 已知摄氏温度 C 与华氏温度 F 的关系是 F=C×+32,写出由摄氏温度求华氏温度的算法.思维切入 这是一个函数求值问题,给 C 赋值再代入解析式求 F.解 第一步,输入摄氏温度 C.第二步,代入 F=C×+32.第三步,输出华氏温度 F.点评 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果.三、判断性质型问题的算法例 3 试描述判断圆(x-x0)2+(y-y0)2=r2和直线 Ax+By+C=0 位置关系的算法.思维切入 直线与圆的位置关系有三种:相离、相切、相交,如果圆心到直线的距离 d>r,则直线与圆相离,d=r,则直线与圆相切,dr 则输出相离,如果 d=r 则输出相切,如果 d