Информатика


Анализ правильности алгоритмов - часть 2


0  - неправильно,

32

+3×3+2 = 20  ¹

0  - неправильно.

Следовательно, числа х1 = 2, х2 = 3 не являются правильными результатами.

Подстановка в уравнение чисел х1 = -2, х2 = -3:

(-2)2

+ 3×(-2) +2 = 0- правильно;

(-3)2

+ 3×(-3) +2 = 0- правильно.

Следовательно, числа х1 = -2, х2=

-3 являются правильными результатами.

Приведем формальную постановку задачи решения квадратных уравнений.

Постановка задачи

Решение квадратного уравнения

а×х2

+ b×x + с = 0.

Дано:  a, b, с - коэффициенты.

Треб.:  х1, х2 - корни.

Где:     а×х12

+ b×х1

+ с = 0.

            а×х22 + b×х2 + с = 0.

При:    а ¹ 0.

Наличие точной постановки задач позволяет говорить о правиль­ности не только конечных результатов, но и различных способов и методов их решения.

Способ правильный, если он дает правильные результаты. Способ неправильный, если он дает неправильные результаты или не дает результатов вообще.

Метод неправильный, если существуют допустимые данные, для которых он дает неправильные результаты либо не дает результатов вообще.

Метод правильный, если он дает правильные результаты для любой задачи данного класса. Использование правильных методов служит основой для составления алгоритмов и программ, не содер­жащих ошибок.

В рассматриваемом примере решения квадратных уравнений об­щим методом является вычисление корней с помощью дискрими­нанта.

Метод решения

    x1 = (-b +
)/(2×а),

    x2 = (-b -

)/(2×a),

где

{ D = b2 - 4×а×с.

Правильность общих методов проверяется подстановкой расчет­ных формул в исходное уравнение. Получение тождеств в результате подстановок говорит о правильности выбранных расчетных формул.

Для первого корня х1 = (-b +

 )/(2×a) подстановка и тождест­венные преобразования формул дадут:

а×х12 + b×х1 + с = а×[(-b +

)/(2×а)]2 + b× (-b +
)/(2×a) + с =

= (-b +

)2/(4×а) + b× (-b +
)/(2×a) + с = (b +
) × (-b +
)/(4×а) + с =




Начало  Назад  Вперед



Книжный магазин