using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Rectangle_method {
class Program {
// получаем значение функции в заданной точке
public static double getFunction(double x) {
double retValue = Math.Sqrt(Math.Pow(Math.E, x) - 1);
return retValue;
}
// вычисление интеграла
public static double calcIntegral(double a, double b, double n = 40.0) {
double retValue = 0, // возвращаемое значение
h = (b - a) / n, // вычисляем шаг сетки
curApproximation = 0.0; // текущее приближение
// составная формула средних прямоугольников
for (int i = 1; i <= n; ++i) {
curApproximation = a + i * h;
retValue += getFunction(curApproximation - h * 0.5);
}
retValue *= h;
return retValue;
}
static void Main(string[] args) {
// пределы интегрирования
double a = 0,
b = Math.Log(2, Math.E);
Console.WriteLine("{0:f5}", calcIntegral(a, b));
}
}
}