Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*1. Написать программу вычисления значения гиперболического синуса вещественного аргумента х с
- заданной погрешностью eps с помощью разложения в бесконечный ряд.
- Sh(х) = x + х3/3! + х5/5! + х7/7! + ...
- Предусмотреть возможность принудительного выхода, если ряд расходится.
- Для этого с помощью константы задать ограничение на количество итераций.
- Включите в программу файл math.h.
- Написать функцию для вычисления факториала.
- */
- #include <iostream>
- #include <cmath>
- using namespace std;
- //Верхний предел суммы по умолчанию:
- const int N = 10;
- //Функция с одним аргументом:
- double sh(double z)
- {
- double s = z, q = z;
- for (int i = 1; i <= N; i++)
- {
- q *= z*z / (2 * i) / (2 * i + 1);
- s += q;
- }
- return s;
- }
- //Функция с двумя аргументами:
- double sh(double z, int m)
- {
- double s = z, q = z;
- for (int i = 1; i <= m; i++)
- {
- q *= z*z / (2 * i) / (2 * i + 1);
- s += q;
- }
- return s;
- }
- int main()
- {
- setlocale(LC_ALL, "");
- //Аргумент для функции:
- double x;
- //Индексная переменная и предел для суммы:
- int i, m = 15;
- //Ввод аргумента:
- cout << "Введите x = ";
- cin >> x;
- //Значения ряда для разного числа слагаемых:
- for (i = 1; i <= m; i++)
- {
- if (i > N)
- {
- break;
- }
- cout << i << " : sh(" << x << ") = " << sh(x, i) << endl;
- }
- cout << "--------------------\n";
- //Верхняя граница индексной переменной ряда равна N:
- cout << N << ": sh(" << x << ") = " << sh(x) << endl;
- //Вызов встроенной функции:
- cout << "Тестовое значение : " << sinh(x) << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement