Advertisement
Dimique

lb4

May 22nd, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6. double predel1(double);
  7. double predel2(double);
  8. double predel3(double);
  9.  
  10. int main()
  11. {
  12. setlocale(0,"");
  13. double eps;
  14. cout << "Необходимо задать точность вычисления: ";
  15. cin >> eps;
  16. cout << "Результат цикла while " << predel1(eps) << endl;
  17. cout << "Результат цикла do while " << predel2(eps) << endl;
  18. cout << "Результат цикла for " << predel3(eps) << endl;
  19. system("pause");
  20. return 0;
  21. }
  22. double predel1(double eps)
  23. {
  24. unsigned int n = 1;
  25. double yn1 = (pow(n,2) + 5) / (2 * pow(n,3) + pow(n,2) + 1);
  26. n++;
  27. double yn = (pow(n, 2) + 5) / (2 * pow(n, 3) + pow(n, 2) + 1);
  28. while (fabs(yn - yn1) > eps && n < INT_MAX)
  29. {
  30. n++;
  31. yn1 = yn;
  32. yn = (pow(n, 2) + 5) / (2 * pow(n, 3) + pow(n, 2) + 1);
  33. }
  34. return yn;
  35. }
  36. double predel2(double eps)
  37. {
  38. unsigned int n = 1;
  39. double yn = (pow(n, 2) + 5) / (2 * pow(n, 3) + pow(n, 2) + 1), yn1;
  40. do
  41. {
  42. n++;
  43. yn1 = yn;
  44. yn = (pow(n, 2) + 5) / (2 * pow(n, 3) + pow(n, 2) + 1);
  45. } while (fabs(yn - yn1) > eps && n < INT_MAX);
  46. return yn;
  47. }
  48. double predel3(double eps)
  49. {
  50. unsigned int n = 1;
  51. double yn1 = (pow(n, 2) + 5) / (2 * pow(n, 3) + pow(n, 2) + 1), yn;
  52. for (n++, yn = (pow(n, 2) + 5) / (2 * pow(n, 3) + pow(n, 2) + 1); fabs(yn - yn1) > eps && n < INT_MAX; )
  53. {
  54. yn1 = yn;
  55. n++;
  56. yn = (pow(n, 2) + 5) / (2 * pow(n, 3) + pow(n, 2) + 1);
  57. }
  58. return yn;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement