77
Р := LAB + LBC + LCA
кон
Результаты
2
2
В
А
B
A
У
У
X
X
2
2
С
В
С
В
У
У
X
X
2
2
А
С
А
С
У
У
X
X
Р = LAB + LBC + LCA
Сравнение результатов выполнения алгоритма с описанием метода решения показывает,
что это одна и та же система формул, что подтверждает правильность алгоритма.
Систематические методы анализа правильности алгоритмов и программ опираются на со-
поставление тех же самых описаний, которые используются при их систематическом составлении.
Анализ правильности:
задача
способ
постановка
методы
сценарий
алгоритмы
ЭВМ
программа
Основные типы алгоритмических ошибок в программах:
ошибки в выбранных методах решения;
ошибки в постановке решаемых задач;
дефекты в сценариях диалога с ЭВМ;
ошибки организации ввода данных;
неправильная реализация методов решения.
Исчерпывающий анализ правильности алгоритмов и устранение из программ ошибок
всех перечисленных типов возможны только при наличии соответствующих спецификаций: по-
становок задач, описаний методов решения и спецификаций ввода-вывода данных.
Будем считать, что программа правильная, если она дает правильные результаты для лю-
бых допустимых исходных данных. Такого рода программы вполне можно использовать для ре-
шения прикладных задач.
Программа считается надежной, если она не дает сбоев и отказов ни при каких исходных
данных. Надежность - обязательное условие для всех программ, которые используются людьми
для решения практических задач на ЭВМ.
В качестве иллюстрации приведем пример систематического составления алгоритма и про-
граммы задачи определения суммарного веса учеников по данным из таблицы:
фамилия
рост
вес
Иванов
185
85
Петрова
165
65
Сидоров
170
80
Рассмотрим постановку задачи и метод вычисления суммарного веса.
Постановка задачи
Определение суммарного веса.
Дано:
Метод вычисления
(D1,.., D
N
)
- данные об учениках,
S
0
= 0
где D = [Fam,R,V] - состав данных,
S
k
= S
k-1
+ v
k
Fam - фамилия, R - рост, V - вес.
k = (1 ... N)]
Треб.: V
sum
- суммарный вес.
V
sum
= S
N
|