Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <locale.h>
  4. #include <cmath>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. setlocale(LC_ALL, "Russian");
  10. const double pi = 3.1415;
  11. long double x0, xk, dx, g, max = -99999999999, min = 99999999999;
  12. char tab = '\t';
  13. bool R;
  14. cout << "Данная программа выполняет табулирование с постоянным шагом по аргументу х:" << endl;
  15. cout << "Функция:" << endl;
  16. cout << "f(x)=|e+pi, если x<=0,8" << endl;
  17. cout << " |x+5,96, если 0,8<x=>5,27" << endl;
  18. cout << "|2*(x+5,96), если x>5,27" << endl;
  19. cout << "Условия: 0<x<2*pi" << endl;
  20. cout << "Шаг табулирования не менее 0.01" << endl;
  21. cout << "Введите начальное значение аргумента x: ";
  22. cin >> x0;
  23. if (x0 <= 0)
  24. {
  25. R = false;
  26. while (R != true)
  27. {
  28. cout << "Ошибка ввода, введите начальное значение аргумента согласно условию: ";
  29. cin >> x0;
  30. if (x0 > 0) R = true;
  31. }
  32. }
  33. cout << "Введите конечное значение аргумента x: ";
  34. cin >> xk;
  35. if (xk > 2*pi)
  36. {
  37. R = false;
  38. while (R != true)
  39. {
  40. cout << "Ошибка ввода, введите конечное значение аргумента согласно условию: ";
  41. cin >> xk;
  42. if (xk <= 2*pi) R = true;
  43. }
  44. }
  45. cout << "Введите шаг табулирования: ";
  46. cin >> dx;
  47. if (dx < 0.01)
  48. {
  49. R = false;
  50. while (R != true)
  51. {
  52. cout << "Ошибка ввода, введите шаг табулирования согласно условию: ";
  53. cin >> dx;
  54. if (dx>0.01) R = true;
  55. }
  56. }
  57.  
  58. if (x0 > xk)
  59. {
  60. R = false;
  61. while (R != true)
  62. {
  63. cout << "Ошибка ввода, введите начальное и конечное значения заново, начальное значение должно быть меньше конечного" << endl;
  64. cout << "Попробуйте еще раз" << endl;
  65. cout << "Начальное значение: ";
  66. cin >> x0;
  67. cout << "Конечное значение: ";
  68. cin >> xk;
  69. if (x0 <= xk) R = true;
  70. }
  71. }
  72. cout << endl;
  73.  
  74. cout << "Вывод табулирования:" << endl;
  75. cout << "x=" << tab << "f(x)=" << endl;
  76. cout << endl;
  77.  
  78. while (x0 <= xk)
  79. {
  80. cout << x0 << tab;
  81. if (x0 <= 0.8) g = (exp(double(1)) + pi);
  82. else if ((x0 > 0.8) && (x0 <= 5.27)) g = (x0 + 5.96);
  83. else g = 2 * (x0 + 5.96);
  84. cout << g << endl;
  85. if (max <= g) max = g;
  86. if (min >= g) min = g;
  87. x0 += dx;
  88. }
  89. cout << endl;
  90. cout << "Максимальное значение функции: " << max << endl;
  91. cout << "Минимальное значение функции: " << min << endl;
  92. cout << endl;
  93. system("pause");
  94. return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement