nextupprevious
Next:3.2.5 Тип треугольника
Up:3.2 Построение ветвящихся программ
Previous:3.2.3 Табличное задание функции


3.2.4 Анализ квадратного уравнения

Задача. Проанализировать квадратное уравнение

$Ax^2 + Bx + C = O$

c заданными вещественными коэффициентами  A, B, C для определения количества вещественных корней. Возможные ответы: "Корней нет", "Корней много", "Корень один", "Корней два".

Решение. При $А = 0$ задача сводится к анализу линейного уравнения $Bx + C = 0$, которое при $В = 0$ либо не имеет ни одного корня (при C $\neq$ 0), либо бесконечное множество корней, а при В $\neq$ 0 имеет единственный корень (он равен - C/B).

Если же А $\neq$ 0, то возможны два варианта: при дискриминанте $D = B^2 - 4AC$ равном нулю имеется единственный корень (он равен -B/(2A)), а при $D > 0$ -- два различных вещественных корня (они могут быть вычислены по формулам $(-B + \sqrt{B^2 - 4AC})/(2A)$ и $(-B - \sqrt{B^2 -4AC})/(2A)$). На Паскале этот разбор случаев можно записать так:

module ЧислоКорней;
    var A,B,C,D : real;
begin
    read(A,B,C);
    if A = 0
    then if B = 0 then Write('Корней много') else Write('Корень один') end
    else
        D := Sqr(B) - 4$*$A$*$C;
        if D < 0 then write('Корней нет')
        elsif D = 0 then write('Корень один')
        else Write('Корней два')
        end
    end
end ЧислоКорней.
 

Next:3.2.5 Тип треугольника
Up:3.2 Построение ветвящихся программ
Previous:3.2.3 Табличное задание функции



© В.Н. Касьянов, Е.В.Касьянова, 2004