Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <locale.h>
- #include <cmath>
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "Russian");
- const double pi = 3.1415;
- long double x0, xk, dx, g, max = -99999999999, min = 99999999999;
- char tab = '\t';
- bool R;
- cout << "Данная программа выполняет табулирование с постоянным шагом по аргументу х:" << endl;
- cout << "Функция:" << endl;
- cout << "f(x)=|e+pi, если x<=0,8" << endl;
- cout << " |x+5,96, если 0,8<x=>5,27" << endl;
- cout << "|2*(x+5,96), если x>5,27" << endl;
- cout << "Условия: 0<x<2*pi" << endl;
- cout << "Шаг табулирования не менее 0.01" << endl;
- cout << "Введите начальное значение аргумента x: ";
- cin >> x0;
- if (x0 <= 0)
- {
- R = false;
- while (R != true)
- {
- cout << "Ошибка ввода, введите начальное значение аргумента согласно условию: ";
- cin >> x0;
- if (x0 > 0) R = true;
- }
- }
- cout << "Введите конечное значение аргумента x: ";
- cin >> xk;
- if (xk > 2*pi)
- {
- R = false;
- while (R != true)
- {
- cout << "Ошибка ввода, введите конечное значение аргумента согласно условию: ";
- cin >> xk;
- if (xk <= 2*pi) R = true;
- }
- }
- cout << "Введите шаг табулирования: ";
- cin >> dx;
- if (dx < 0.01)
- {
- R = false;
- while (R != true)
- {
- cout << "Ошибка ввода, введите шаг табулирования согласно условию: ";
- cin >> dx;
- if (dx>0.01) R = true;
- }
- }
- if (x0 > xk)
- {
- R = false;
- while (R != true)
- {
- cout << "Ошибка ввода, введите начальное и конечное значения заново, начальное значение должно быть меньше конечного" << endl;
- cout << "Попробуйте еще раз" << endl;
- cout << "Начальное значение: ";
- cin >> x0;
- cout << "Конечное значение: ";
- cin >> xk;
- if (x0 <= xk) R = true;
- }
- }
- cout << endl;
- cout << "Вывод табулирования:" << endl;
- cout << "x=" << tab << "f(x)=" << endl;
- cout << endl;
- while (x0 <= xk)
- {
- cout << x0 << tab;
- if (x0 <= 0.8) g = (exp(double(1)) + pi);
- else if ((x0 > 0.8) && (x0 <= 5.27)) g = (x0 + 5.96);
- else g = 2 * (x0 + 5.96);
- cout << g << endl;
- if (max <= g) max = g;
- if (min >= g) min = g;
- x0 += dx;
- }
- cout << endl;
- cout << "Максимальное значение функции: " << max << endl;
- cout << "Минимальное значение функции: " << min << endl;
- cout << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement