Лабораторная работа: Модульное программирование
intsum3 (intA [] [100], intM, intN); // заголовок
{
….
} // телофункции
void main ()
{
int res, A [2] [100] = {{2,1,3,2}, {2,3,4,5}}; /* две строки, четыре столбца с чатичной инициалиазацией*/
res = sum3 (A, 2,4); // вызовфункции sum3
}
Способ 3. Третий способ передачи двумерного массива в функцию состоит в эмуляции фактического двумерного массива с размерами MxN с помощью одномерного массива с размером M*N. Пи этом M*N должно быть меньше 64К.
intsum4 (intA [], intM, intN); // прототип
intsum4 (intA [], intM, intN); // заголовок
{
….
} // телофункции
voidmain ()
{
intres, A [2] [4] = {{2,1,3,2}, {2,3,4,5}}; /* две строки, четыре столбца */
res = sum4 ( (int *) A, 2,4); // вызовфункции sum4
}
4. Тестирование функций
Вычислительные модули необходимо тщательно протестировать с помощью отдельной тестовой функции с прототипом
void test (void);
При тестировании следует соблюдать следующие требования:
автоматизм, то есть от программиста при тестировании не требуется никаких действий,
прозрачность. Это означает, что функция test выводит сообщения на экран только в случае возникновения ошибок.
иллюстративность: листинг тестовой функции позволяет посмотреть различные способы вызова проверяемой функции.
всесторонность, то есть при тестировании необходимо рассмотреть все крайние ситуации.
В программе должны осуществляться все возможные проверки, в частности:
на корректность входных данных,