Вопрос задан 28.04.2018 в 01:04. Предмет Информатика. Спрашивает Алексеев Паша.

Решить в Паскале .С подробным решением. Дано действительное число х≠0. Вычислить значение выражения

с точностью 10-3.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Петрова Рита.

Примем, что требуемая точность ε достигнута, если очередное слагаемое по модулю не превышает этого ε.
Обратим внимание что в выражении имеется операция возведения в степень, которая в Паскале выполняется с использованием тождества
\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 (Abs(xs)<=eps) or (Abs(xs)>=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=бесконечность

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос