Проверка входных данных подпрограмм и тестирование — различия между версиями
Juliet (обсуждение | вклад) (Новая страница: «Категория:Основы программирования = Введение = Рассмотрим задачу: <br /> <code>Описать про…») |
(нет различий)
|
Версия 18:15, 21 октября 2013
Введение
Рассмотрим задачу:
Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X+Y)/2 и среднее геометрическое GMean = (X·Y)1/2 двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа).
Проверка входных данных: Assert
Обратите внимание, что положительность параметров X
и Y
нужна для вычисления среднего геометрического, которое происходит внутри процедуры Mean
. Никто не гарантирует, что на вход процедуре будут передаваться только корректные входные данные, но правильная работа самой процедуры — забота разработчика этой процедуры. Он должен «обезопасить» себя от неверных входных данных, поэтому их проверка должна находиться именно внутри процедуры Mean
.
Мы знаем, как проверять входные данные: можно использовать оператор Assert
. Рекомендуется использовать оператор Assert
для каждого параметра отдельно. То есть в данном примере должно быть два оператора:
Assert(x > 0);
Assert(y > 0);
а не
Assert((x > 0) and (y > 0));