Нужно с C++ переписать программу на паскаль с пояснением - Pascal
Формулировка задачи:
Буду очень признателен)
Если что, вот сама задача:
Не используя стандартные функции (за исключением abs), вычислить с точностью eps > 0
у = shx = x + x3/3! + x5/5! +…+x2n+1/(2n + 1!) +…;
Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps, все последующие слагаемые можно уже не учитывать.
Листинг программы
- #include <iostream>
- using namespace std;
- int main()
- {
- setlocale(0,""); // Чтобы корректно отображались русские буквы
- cout << "Вычисление значения гиперболического синуса с точность eps = 0.01\n\n "
- << "y = sh(x) = x + x^3/3! + ... + x^(2n+1)/(2n+1)! + ...\n\n";
- double x;
- cout << "Задайте x = ";
- cin >> x;
- double an = x, sum = an, eps = 0.01;
- int i = 1;
- while (abs(an) > eps)
- { an *= (x*x)/(2*i*(2*i+1));
- sum += an;
- i++;
- }
- cout << "\n sh(" << x << ") = " << sum << endl;
- system("pause > null");
- return 0;
- }
Решение задачи: «Нужно с C++ переписать программу на паскаль с пояснением»
textual
Листинг программы
- const eps=0.01;
- var
- x, an, sum: Real;
- i: Integer;
- begin
- WriteLn('Вычисление значения гиперболического синуса с точность eps = ',eps);
- WriteLn('y = sh(x) = x + x^3/3! + ... + x^(2n+1)/(2n+1)! + ...');
- Write('Задайте x = '); ReadLn(x);
- an:=x; sum:=x; i:=1;
- while Abs(an)>eps do begin
- an:=an*Sqr(x)/(2*i*(2*i+1));
- sum:=sum+an;
- Inc(i);
- end;
- WriteLn('sh(',x,') = ',sum);
- Write('Нажмите Enter...'); ReadLn;
- end.
Объяснение кода листинга программы
- Объявляется константа
eps
со значением 0.01. - Объявляются переменные
x
(для значения аргумента),an
(для вычисления члена ряда),sum
(для хранения суммы ряда), иi
(для счетчика). - Выводится сообщение о вычислении значения гиперболического синуса с заданной точностью
eps
. - Выводится формула для вычисления гиперболического синуса.
- Пользователю предлагается ввести значение
x
. - Переменной
an
присваивается значениеx
, переменнойsum
присваивается значениеx
, и переменнаяi
инициализируется значением 1. - Начинается цикл, в котором вычисляется каждый член ряда, пока абсолютное значение
an
больше или равноeps
. - В каждой итерации переменной
an
присваивается новое значение на основе предыдущего, и это значение добавляется к переменнойsum
. Затем счетчикi
увеличивается на 1. - После завершения цикла выводится значение гиперболического синуса
sh(x)
с помощью переменнойsum
. - После этого отображается приглашение нажать клавишу Enter для завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д