Zorikto

lab1ASA

Sep 15th, 2021
663
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. double f(double x)
  7. {
  8.     double res = sqrt(0.5 * x + 2) / (sqrt(2*x*x + 1) + 0.8);
  9.     return res;
  10. }
  11.  
  12. double lev(double a, double h, double n)
  13. {
  14.     double s = 0;
  15.     for(int i = 0; i < n; i++)
  16.     {
  17.         double x = a + i * h;
  18.         s += f(x) * h;
  19.     }
  20.     return s;
  21. }
  22.  
  23. double prav(double a, double h, double n)
  24. {
  25.     double s = 0;
  26.     for(int i = 0; i < n; i++)
  27.     {
  28.         double x = a + (i+1) * h;
  29.         s += f(x) * h;
  30.     }
  31.     return s;
  32. }
  33.  
  34. double trap(double a, double h, double n)
  35. {
  36.     double s = 0;
  37.     for(int i = 0; i < n; i++)
  38.     {
  39.         double x = a + i * h;
  40.         double x1 = a + (i + 1) * h;
  41.         s += (f(x) + f(x1)) / 2 * h;
  42.     }
  43.     return s;
  44. }
  45.  
  46. double simpson(double a, double b)
  47. {
  48.     return (b - a) / 6 * (f(a) + 4 * f((a + b) / 2) + f(b));
  49. }
  50.  
  51. int main()
  52. {
  53.     setlocale(LC_ALL, "RUS");
  54.     double a = 0.4;
  55.     double b = 1.2;
  56.     double n = 10;
  57.     double h = (b - a) / n;
  58.     cout << "Левый: " << lev(a, h, n) << '\n';
  59.     cout << "Правый: " << prav(a, h, n) << '\n';
  60.     cout << "Трапеция: " << trap(a, h, n) << '\n';
  61.     cout << "Симпсон: " << simpson(a, b) << '\n';
  62.     return 0;
  63. }
  64.  
RAW Paste Data