Для заданных x, N и E вычислить сумму N слагаемых заданного вида - Turbo Pascal

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

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

Точное условие

: При некоторых заданных x, N и E, определяемых вводом, вы-числите сумму N слагаемых заданного вида, а также сумму тех слагаемых, которые по абсолютной величине больше E. Для второго случая выполните суммирование для двух значений E, отличающихся на порядок, и при этом определите количество слагаемых, включенных в сумму. Сравните результаты с точным значением функции, для которой данная сумма определяет приближенное значение при x, лежащем в интервале (–R, R).

Что нужно сделать

: обработать последовательность слагаемых данных на фото под буквой h.

Что уже есть

: есть вот такой вот код, который работает, но , как мне кажется, некорректно. Буду безмерно благодарен, если что-то сможет сделать его проверку и если найдутся ошибки( а что-то мне подсказывает, что найдутся), то ткнуть в них носом.

Решение задачи: «Для заданных x, N и E вычислить сумму N слагаемых заданного вида»

textual
Листинг программы
uses crt;
var n,k,m,i: integer;
    x,a,eps,sum,total: real;
begin
  clrscr;
  repeat
  write('Введите количество слагаемых n>0 n=');
  readln(n);
  until n>0;
  repeat
  write('Введите значение аргумента |x|<1 x=');
  readln(x);
  until abs(x)<1;
  a:=x/2;
  sum:=1+a;
  k:=1;
  m:=2;
  for i:=2 to n do
   begin
    inc(m,2);
    a:=-a*((x*k)/m);
    sum:=sum+a;
    inc(k,2);
   end;
  writeln('Для ', n, ' слагаемых сумма равна ', sum:0:10);
  repeat
  write('Введите 0<eps<1 eps=');
  readln(eps);
  until (eps>0)and(eps<1);
  a:=x/2;
  sum:=1+a;
  k:=1;
  m:=2;
  while abs(a)>eps do
   begin
    m:=m+2;
    a:=-a*((x*k)/m);
    sum:=sum+a;
    inc(k,2);
   end;
  writeln('Для eps = ', eps:0:5,' сумма равна ',sum:0:10);
  eps:=eps/10;
  a:=x/2;
  sum:=1+a;
  k:=1;
  m:=2;
  while abs(a)>eps do
   begin
    m:=m+2;
    a:=-a*((x*k)/m);
    sum:=sum+a;
    inc(k,2);
   end;
  writeln('Для eps = ', eps:0:5,' сумма равна ',sum:0:10);
  total:=sqrt(1+x);
  writeln('Точное значение равно ', total:0:10) ;
  readln;
end.

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

  1. Ввод количества слагаемых и значения аргумента
  2. Вычисление значения переменной a
  3. Вычисление суммы слагаемых
  4. Вычисление значений переменных k и m
  5. Цикл, в котором происходит увеличение m на 2 и вычисление значения a
  6. Проверка условия для окончания цикла
  7. Вычисление суммы слагаемых с учетом условия
  8. Вывод результата для заданного количества слагаемых
  9. Ввод значения eps
  10. Проверка условия для окончания цикла
  11. Вычисление значения переменной a
  12. Вычисление суммы слагаемых с учетом условия
  13. Вывод результата для заданного значения eps
  14. Установка значения eps
  15. Вычисление значения переменной a
  16. Цикл, в котором происходит увеличение m на 2 и вычисление значения a
  17. Проверка условия для окончания цикла
  18. Вычисление суммы слагаемых с учетом условия
  19. Вывод результата для заданного значения eps
  20. Вывод точного значения суммы слагаемых

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


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

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

10   голосов , оценка 3.8 из 5
Похожие ответы