![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Назовем функцию вывода таблицы значений print tabl. Прежде всего надо определить ее интерфейс. Для того чтобы вывести таблицу, нашей функции потребуется знать диапазон и шаг изменения значений аргумента, а также какую, собственно, функцию мы собираемся вычислять. В функцию вычисления суммы ряда надо передавать точность, поэтому точность следует включить в список параметров вызывающей ее функции printtabl. Функция pri nt tabl не возвращает никакого значения, то есть перед ее именем надо указать void.
Чтобы передать в функцию имя функции следует в списке параметров перед именем параметра указать его тип. До этого момента мы передавали в функцию величины стандартных типов, а теперь нам потребуется определить собственный тип. Тип функции определяется типом ее возвращаемого значения и типом ее параметров. Для нашей функции это выглядит так:
double (*fun)(double, double);
Здесь описывается указатель по имени fun на функцию, получающую два аргумента типа doubl e и возвращающую значение того же типа. Часто, если описание типа сложное, с целью улучшения читаемости программы задают для него синоним с помощью ключевого слова typedef:
typedef double (*Pfun)(double, double);
В этом операторе задается тип Pfun, который можно использовать наряду со стандартными типами при описании переменных. Таким образом, заголовок функции печати таблицы должен иметь вид:
void print_tabl(Pfun fun. double Xn, double Xk. double dX. double eps);
Запишем теперь текст программы, сведя к минимуму диагностику ошибок (при превышении максимально допустимого количества итераций функция завершается, возвращая 0, а вызывающая программа выводит это значение):
Дата публикования: 2015-10-09; Прочитано: 224 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!