Решить в Паскале .С доскональным решением. Дано действительное число х

Решить в Паскале .С доскональным решением. Дано действительное число х

Задать свой вопрос
1 ответ
Примем, что требуемая точность достигнута, если очередное слагаемое по модулю не превосходит этого .
Обратим внимание что в выражении имеется операция возведения в ступень, которая в Паскале выполняется с внедрением тождества
\displaystyle x^k=e^k\cdot\ln(x), вносящего существенную погрешность. В то же время, запрошенная точность =10 низка, что дозволяет не озадачиваться более точными способами вычисления ступени, такими, как неоднократное умножение.
Результат: алгоритм вычисления - цикл с скоплением суммы и выходом по исполнению условия достижения данной точности.

// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var x:=readReal('Введите x:');
  var (s,eps,k):=(0.0,1e-3,1);
  while true do begin
    var xk:=Power(x,k);
    var xs:=xk*xk*Sin(xk)/(k*k);
    s+=xs; k+=1;
    if (Абс(xs)lt;=eps) or (Абс(xs)gt;=MaxReal) then break
    end;
  Writeln('S=',s)
end.

Образцы
Введите x: -2.5
S=-бесконечность

Введите x: -1
S=-0.69163022624612

Введите x: 0.173
S=0.00515862949420988

Введите x: 2
S=бесконечность
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт