вторник, 13 декабря 2011 г.

Вычисление интеграла (Метод прямоугольников) [c,c++]

Задача:

Написать программу приближенного вычисления интеграла функции f(x)=5x^2-x+2 методом прямоугольников. Диапазон x1, x2 и шаг изменения аргумента dx задается вручную!

Код программы:

#include <stdio.h>
#include <conio.h>

void main()
{
 clrscr();
 float a,b; // границы отрезка
 float dx; // приращение аргумента
 float s; // приближенное значение интеграла
 int n; // количество интервалов
 float x; // аргумент
 float y; // значение функции в начале интервала
 int i;

 printf ("Приближенное вычесление интеграла! (f(x)=5x^2-x+2)\n");
 printf ("Метод прямоугольников\n");
 printf ("\nВведите:\n");

 printf ("Нижняя граница интервала:\n");
 printf ("=>");
 scanf  ("%f",&a);

 printf ("Верхняя граница интервала:\n");
 printf ("=>");
 scanf  ("%f",&b);

 printf ("Приращение аргумента:\n");
 printf ("=>");
 scanf  ("%f",&dx);

 n=(b-a)/dx+1;
 x=a;
 s=0;

 for (i=1; i<=n; i++)
 {
  y=x*x+2; // значение функции в начале интервала
  s+=y*dx;
  x+=dx;
 }
 printf ("\n\nЗначение интеграла: %6.3f",s);
 getch();
}

Результат: