Постановка методы
Кон
Нач
Кон
Все
Все
Нач
если а ¹ О топри а ¹ 0
D: = b*b - 4*а*с D = b2 - 4×а×с
если D > = 0 то при D >= 0
х1: = (-b + )/(2*a) х1 = (-b + )/(2×a)
х2: = (-b - )/(2*a) х2 = (-b - )/(2×a)
инеc а = 0 то при а = 0
если b ¹ 0при b ¹ 0
х 1: = -c/b xl = -c/b
Результаты выполнения алгоритма приведены справа. Можно заметить, что результаты выполнения совпадают с описанием выбранного метода решения с помощью дискриминанта. Это позволяет утверждать, что алгоритм - правильный.
Алгоритмсодержит ошибки, если можно указать допустимые исходные данные, при которых либо будут получены неправильные результаты, либо результаты не будут получены вовсе. Использование алгоритмов, содержащих ошибки, приводит к созданию программ, также содержащих ошибки.
Алгоритм считаетсяправильным, если он дает правильные результаты для любых допустимых исходных данных. Правильность алгоритмов решения прикладных задач и наличие в них ошибок можно проверять двумя основными способами.
Первый способ - проверка основных этапов построения алгоритма:
задача ® постановка ® метод ® алгоритм
Второй способ - анализ результатов выполнения алгоритмов и их сравнение с выбранными методами решения и постановкой задачи:
задача постановка метод алгоритм
Приведем пример построения алгоритма с одновременным анализом его правильности.
Задача: Определить периметр треугольника, заданного на плоскости координатами вершин.
XС,УС
XА,УА Xв,Ув
Постановка задачи
Определение периметра треугольника, заданного на плоскости.
Дано: А = (xА, yА)
В = (xВ, yВ) - координаты вершин треугольника
С = (xС,yС)
Треб.: Р - периметр
Метод решения
Р = LАВ +LВС+LСА
LАВ = ,
LВС =
LСА =
где: Р = L(A,B) + L(B,C) + L(C,A);
здесь L[(x,y),(u,v)] = .
Приведем алгоритм, полученный из описания метода упорядочением операций вычисления длин сторон треугольника с завершающим вычислением периметра. Результаты выполнения алгоритма приведены справа.
алг «периметр треугольника»
LAB: =
LBC : =
LCA : =
Р := LAB + LBC + LCA
Результаты
Р = LAB + LBC + LCA
Сравнение результатов выполнения алгоритма с описанием метода решения показывает, что это одна и та же система формул, что подтверждает правильность алгоритма.
Систематические методы анализа правильности алгоритмов и программ опираются на сопоставление тех же самых описаний, которые используются при их систематическом составлении.
Анализ правильности:
задача способ
¯ ¯
¯ ¯