Вычислить сумму ряда - Free Pascal (421)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Я тут совсем новичек и не разобралась где же можно посмотреть прикрепленное фото. Не могли бы вы помочь с задачей? Разработать алгоритм и программу определяющие сумму ряда с заданной погрешностью E (ипселон) для произвольно заданного аргумента х. определить число повторений итерационного цикла. Сам ряд выглядит так: 1 + (x*lna)/1 + ((x*lna)^2)/2 + ... + ((x*lna)^n)/n + ... ; Диапазон изменения х: - ∞ < x < ∞ ; Выражение для проверки: a^x;

Решение задачи: «Вычислить сумму ряда»

textual
Листинг программы
var a,e,x,t,s:real;
    n:integer;
begin
repeat
write('Введите положительное число a=');
readln(a);
until a>0;
write('x=');
readln(x);
repeat
write('Введите точность 0<e<1 e=');
readln(e);
until(e>0)and(e<1);
t:=1;
s:=1;
n:=1;
while abs(t)>e do
 begin
  t:=t*x*ln(a)/n;
  s:=s+t;
  if abs(t)/n>e then n:=n+1;
 end;
writeln('S=',s:0:4,' n=',n);
write('a^x=',exp(ln(a)*x):0:4);
end.

Объяснение кода листинга программы

  1. Объявлены переменные a, e, x, t, s типа real и переменная n типа integer.
  2. В цикле repeat-until пользователю предлагается ввести положительное число a и проверяется его корректность.
  3. В цикле repeat-until пользователю предлагается ввести точность e и проверяется её корректность.
  4. Инициализированы переменные t, s, n равными 1.
  5. В цикле while абсолютный значение t больше e, выполняется следующее:
    • t умножается на x и на натуральный логарифм от a, и делится на n.
    • t прибавляется к s.
    • Если abs(t)/n больше e, то n увеличивается на 1.
  6. Выводятся значения s и n.
  7. Выводится значение a в степени x.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5