Алгоритмы и структуры данных на С++. Аксёнова Е.А - 10 стр.

UptoLike

10 Глава 1. Некоторые конструкции языка С++
Вычислим значение определенного интеграла по формуле трапе-
ций
b
Z
a
f(x)dx h
µ
f
0
2
+ f
1
+ . . . + f
n1
+
f
n
2
,
h =
b a
n
, f
0
= f(a), f
i
= f(a + ih), f
n
= f(b).
#include <stdio.h>
float integr(float a, float b,int n, float f(float));
float g(float);
int main()
{
float a,b;
int n;
scanf("%f %f %d",&a,&b,&n);
// вызов функции integr
printf("Значение интеграла=%f",integr(a,b,n,g));
scanf("%d",&n);
}
float g(float x)
{
return x*x;// подынтегральная функция
}
float integr(float a, float b,int n, float f(float))
{
float x,s,h; int i;
h=(b-a)/n; // шаг
s=(f(a)+f(b))/2; // запоминаем значения
//функции в крайних точках
x=a;
for(i=1;i<n;i++)
{ // двигаясь с шагом h
x=x+h; // вычисляем значения
s=s+f(x); // функции в точках разбиения
}
10                    Глава 1. Некоторые конструкции языка С++


   Вычислим значение определенного интеграла по формуле трапе-
ций
           Zb             µ                             ¶
                            f0                       fn
              f (x)dx ≈ h      + f1 + . . . + fn−1 +      ,
                            2                         2
           a

               b−a
          h=       , f0 = f (a), fi = f (a + ih), fn = f (b).
                n
#include 
 float integr(float a, float b,int n, float f(float));
 float g(float);

 int main()
   {
      float a,b;
      int n;
      scanf("%f %f %d",&a,&b,&n);
                              // вызов функции integr
      printf("Значение интеграла=%f",integr(a,b,n,g));
      scanf("%d",&n);
    }

 float g(float x)
    {
      return x*x;// подынтегральная функция
    }

 float integr(float a, float b,int n, float f(float))
    {
      float x,s,h; int i;
      h=(b-a)/n;        // шаг
      s=(f(a)+f(b))/2; // запоминаем значения
                        //функции в крайних точках
      x=a;
      for(i=1;i