4.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法.
四、典例分析
例 下面给出了一个问题的算法:
第一步,输入x.
第二步,若x≥4,则执行第三步,否则执行第四步.
第三步,输出2x-1.
第四步,输出x2-2x+3.
这个算法解决的问题是什么?
分析 依据题目给出的算法步骤依次执行,是读懂算法的一个重要而基本的办法.
解 这个算法先是输入一个变量x,当x≥4时输出2x-1,当x<4时输出x2-2x+3,不难发现这个算法解决的问题是求分段函数f(x)=的函数值.
2 典型算法举例
1.解方程(方程组)、不等式的算法
例1 用自然语言描述求一元二次方程x2+bx+c=0的根的算法.
思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法.
解 用自然语言来描述算法,
第一步,计算Δ=b2-4ac.
第二步,如果Δ<0,则原方程无实数解,输出"无实数解";否则(Δ≥0)x1=,x2=,输出x1,x2的值.
点评 第二步中包含了一个判断Δ=b2-4ac是否小于零的条件,并根据判断结果进行不同的处理.算法是否"健壮",也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b2-4ac小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不"健壮"的.
例2 写出解x2-4x+3<0的算法.