Задача 9(№197)
/*
Задача №197
Постановка задачи
Напишите
класс Integral,
включающий указатель на функцию. для
вычисления некоторой математической
функции и границы отрезка ее
области определения. Предусмотрите в
классе функцию-оператор для вычисления
значения интеграла на заданном отрезке.
Алгоритм программы
Мы задаем функцию,
а программа подсчитывает её определённый
интеграл и выдаёт результат
Текс программы
Файл
INTEGRAL.H
#ifndef
UnIntegralH
//Страж включения
#define
UnIntegralH //Страж
включения
#include<math.h>
class
Integral
{
double (*f)(double);
double
a,b;
public:
//Открытые
члены класса
Integral
(double(*fi)(double),double ai,double bi) //Инициализация
подинтегральной
функции и
границ интегрирования
{f=fi;a=ai;b=bi;}
double
operator!(); //Функция
подсчёта интеграла
};
#endif
Файл
INTEGRAL.CPP
#include"UnIntegral.h"
#include<iostream.h>
#include<conio.h>
double
bb,aa;
const
int N=100;
double
Integral::operator!() //Перегрузка
оператора для вычисления
интеграла
{
double
sum=0, x=a, dx=(b-a)/(N-1);
for(int
i=0;i<N-1;i++){
sum+=f(x)*dx;
x+=dx;
}
return
sum;
//Возвращение подсчитанного
интеграла
}
void
main()
{
double
aa,bb;
double(*ff)(double);
Integral
fun(sin,0,M_PI);
double
funn=fun.operator!();
cout<<funn;
getch();
}
Пример работы
программы
Интеграл
от sin
от –M_PI
до M_PI
=2
Список используемой литературы.
1. Тарасов В.Л.
Программирование на С++
Н. Новгород:
Издательство ННГУ,2006.
18