Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.36 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. double func1(double x)
  8. {
  9.     double Y = (sqrt(0.6*x + 1.5)) / (2*x + sqrt(x*x + 3));
  10.     return Y;
  11. }
  12.  
  13. double func2(double x)
  14. {
  15.     double Y = 1 / sqrt(x*x + 0.6);
  16.     return Y;
  17. }
  18.  
  19. double func3(double x)
  20. {
  21.     double Y = (sin(0.8 * pow(x,2) + 0.3)) / (0.7 + cos(1.2*x + 0.3));
  22.     return Y;
  23. }
  24.  
  25. double func4(double x)
  26. {
  27.     double Y = (pow(x, 2) * log(x));
  28.     return Y;
  29. }
  30.  
  31.  
  32. /* ==========================
  33.  Fucntions Of Solving Method
  34.  ========================== */
  35.  
  36. double meth1(double a, double b, int n)
  37. {
  38.     double sum = 0, h, I;
  39.    
  40.     h = (b - a) / n;
  41.    
  42.     for(int i = 0; i <= (n - 1); i++)
  43.     {
  44.         sum += func1((a + i*h));
  45.     }
  46.    
  47.     I = h * sum;
  48.     return I;
  49. }
  50.  
  51. double meth2(double a, double b, int n)
  52. {
  53.     double sum = 0, h, I;
  54.    
  55.     h = (b - a) / n;
  56.    
  57.     for(int i = 1; i <= n; i++)
  58.     {
  59.         sum += func2((a + i*h));
  60.     }
  61.    
  62.     I = h * sum;
  63.     return I;
  64. }
  65.  
  66. double meth3(double a, double b, int n)
  67. {
  68.     double sum = 0, h, I;
  69.    
  70.     h = (b - a) / n;
  71.    
  72.     for(int i = 0; i <= (n - 1); i++)
  73.     {
  74.         sum += func3((a + i*h + h/2));
  75.     }
  76.    
  77.     I = h * sum;
  78.     return I;
  79. }
  80.  
  81. double meth4(double a, double b, int n)
  82. {
  83.     double sum = 0, h, I;
  84.    
  85.     h = (b - a) / n;
  86.     sum = (func4(a) + func4(a + n*h)) / 2;
  87.    
  88.     for(int i = 1; i <= n; i++)
  89.     {
  90.         sum += func4((a + i*h));
  91.     }
  92.    
  93.     I = h * sum;
  94.     return I;
  95. }
  96.  
  97.  
  98.  
  99. /* ==========================
  100.  Fucntions Of Accuracy
  101.  ========================== */
  102.  
  103. double accuracy1(double a, double b, int n){
  104.     double Eps;
  105.     cout << "Введите точность: ";
  106.     cin >> Eps;
  107.    
  108.     for(int i = 0; i < n; i++){
  109.         if(abs(meth1(a, b, n + 1) - meth1(a, b, n)) <= Eps)
  110.             return meth1(a, b, n);
  111.         else n++;
  112.     }
  113.     return 0;
  114. }
  115.  
  116. double accuracy2(double a, double b, int n)
  117. {
  118.     double Eps;
  119.     cout << "Введите точность: ";
  120.     cin >> Eps;
  121.    
  122.     for(int i = 0; i < n; i++){
  123.         if(abs(meth2(a, b, n + 1) - meth2(a, b, n)) <= Eps)
  124.             return meth2(a, b, n);
  125.         else n++;
  126.     }
  127.     return 0;
  128. }
  129.  
  130. double accuracy3(double a, double b, int n)
  131. {
  132.     double Eps;
  133.     cout << "Введите точность: ";
  134.     cin >> Eps;
  135.    
  136.     for(int i = 0; i < n; i++){
  137.         if(abs(meth3(a, b, n + 1) - meth3(a, b, n)) <= Eps)
  138.             return meth3(a, b, n);
  139.         else n++;
  140.     }
  141.     return 0;
  142. }
  143.  
  144. double accuracy4(double a, double b, int n)
  145. {
  146.     double Eps;
  147.     cout << "Введите точность: ";
  148.     cin >> Eps;
  149.    
  150.     for(int i = 0; i < n; i++){
  151.         if(abs(meth4(a, b, n + 1) - meth4(a, b, n)) <= Eps)
  152.             return meth4(a, b, n);
  153.         else n++;
  154.     }
  155.     return 0;
  156. }
  157.  
  158.  
  159. int main()
  160. {
  161.     double a, b;
  162.     int n = 1;
  163.  
  164.    
  165.    
  166.     /* ==========================
  167.      First Integral
  168.      ========================== */
  169.    
  170.     cout << "Введите начало промежутка: ";
  171.     cin >> a;
  172.    
  173.     while(a <= 0){
  174.         cout << "Введите начало промежутка > 0: ";
  175.         cin >> a;
  176.     }
  177.    
  178.     cout << "\n";
  179.    
  180.     cout << "Введите конец промежутка: ";
  181.     cin >> b;
  182.    
  183.     while(b <= 0){
  184.         cout << "Введите конец промежутка > 0: ";
  185.         cin >> b;
  186.     }
  187.    
  188.    
  189.    
  190.     cout << "Первый интеграл равен, " << accuracy1(a, b, n) << endl;
  191.     // End First
  192.    
  193.    
  194.    
  195.    
  196.     cout << "\n\n";
  197.    
  198.    
  199.    
  200.    
  201.    
  202.     /* ==========================
  203.      Second Integral
  204.      ========================== */
  205.    
  206.     cout << "Введите a: ";
  207.     cin >> a;
  208.    
  209.     while(a <= 0){
  210.         cout << "Введите a > 0: ";
  211.         cin >> a;
  212.     }
  213.    
  214.     cout << "\n";
  215.    
  216.     cout << "Введите b: ";
  217.     cin >> b;
  218.    
  219.     while(b <= 0){
  220.         cout << "Введите b > 0: ";
  221.         cin >> b;
  222.     }
  223.    
  224.     cout << "Второй интеграл равен, " << accuracy2(a, b, n) << endl;
  225.    
  226.     // End Second
  227.    
  228.    
  229.    
  230.    
  231.     cout << "\n\n";
  232.    
  233.    
  234.    
  235.    
  236.     /* ==========================
  237.      Third Integral
  238.      ========================== */
  239.    
  240.     cout << "Введите a: ";
  241.     cin >> a;
  242.    
  243.     while(a <= 0){
  244.         cout << "Введите a > 0: ";
  245.         cin >> a;
  246.     }
  247.    
  248.     cout << "\n";
  249.    
  250.     cout << "Введите b: ";
  251.     cin >> b;
  252.    
  253.     while(b <= 0){
  254.         cout << "Введите b > 0: ";
  255.         cin >> b;
  256.     }
  257.    
  258.     cout << "Третий интеграл равен, " << accuracy3(a, b, n) << endl;
  259.    
  260.     // End Third
  261.    
  262.    
  263.    
  264.    
  265.     cout << "\n\n";
  266.    
  267.    
  268.    
  269.    
  270.     /* ==========================
  271.      Fourth Integral
  272.      ========================== */
  273.    
  274.     cout << "Введите a: ";
  275.     cin >> a;
  276.    
  277.     while(a <= 0){
  278.         cout << "Введите a > 0: ";
  279.         cin >> a;
  280.     }
  281.    
  282.     cout << "\n";
  283.    
  284.     cout << "Введите b: ";
  285.     cin >> b;
  286.    
  287.     while(b <= 0){
  288.         cout << "Введите b > 0: ";
  289.         cin >> b;
  290.     }
  291.    
  292.     cout << "Четвертый интеграл равен, " << accuracy4(a, b, n) << endl;
  293.    
  294.     // End Fourth
  295.    
  296.     return 0;
  297. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement