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

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

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

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

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

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

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

Что уже есть

: есть вот такой вот код, который работает, но , как мне кажется, некорректно. Буду безмерно благодарен, если что-то сможет сделать его проверку и если найдутся ошибки( а что-то мне подсказывает, что найдутся), то ткнуть в них носом.
Листинг программы
  1. var n,k,m,i,j: integer;
  2. x,a,eps,sum,total: real;
  3. begin
  4. write('Введите количество слагаемых = ');
  5. readln(n);
  6. write('Введите значение аргумента x = ');
  7. readln(x);
  8. k:=-1;
  9. m:=2;
  10. a:=1;
  11. sum:=1;
  12. for i:=2 to n do
  13. begin
  14. a:=-a*((x*k)/m);
  15. sum:=sum+a;
  16. k:=k+2;
  17. m:=k+2;
  18. end;
  19. writeln('Для ', n, ' слагаемых сумма равна ', sum:0:15);
  20. write('Введите eps ');
  21. readln(eps);
  22. a:=1;
  23. sum:=1;
  24. i:=2;
  25. for j:= 1 to 2 do
  26. begin
  27. while a>eps do
  28. begin
  29. a:=-a*((x*k)/m);
  30. sum:=sum+a;
  31. inc(i);
  32. inc(k,2) ;
  33. inc(m,2)
  34. end;
  35. writeln('Для eps = ', eps:0:10, ' сумма ', i-1, ' слагаемых равна ', sum:0:15);
  36. eps:=eps/10;
  37. end;
  38. total:=sqrt(1+x);
  39. writeln('Точное значение равно ', total:0:15) ;
  40. readln;
  41. end.

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

textual
Листинг программы
  1. uses crt;
  2. var n,k,m,i: integer;
  3.     x,a,eps,sum,total: real;
  4. begin
  5.   clrscr;
  6.   repeat
  7.   write('Введите количество слагаемых n>0 n=');
  8.   readln(n);
  9.   until n>0;
  10.   repeat
  11.   write('Введите значение аргумента |x|<1 x=');
  12.   readln(x);
  13.   until abs(x)<1;
  14.   a:=x/2;
  15.   sum:=1+a;
  16.   k:=1;
  17.   m:=2;
  18.   for i:=2 to n do
  19.    begin
  20.     inc(m,2);
  21.     a:=-a*((x*k)/m);
  22.     sum:=sum+a;
  23.     inc(k,2);
  24.    end;
  25.   writeln('Для ', n, ' слагаемых сумма равна ', sum:0:10);
  26.   repeat
  27.   write('Введите 0<eps<1 eps=');
  28.   readln(eps);
  29.   until (eps>0)and(eps<1);
  30.   a:=x/2;
  31.   sum:=1+a;
  32.   k:=1;
  33.   m:=2;
  34.   while abs(a)>eps do
  35.    begin
  36.     m:=m+2;
  37.     a:=-a*((x*k)/m);
  38.     sum:=sum+a;
  39.     inc(k,2);
  40.    end;
  41.   writeln('Для eps = ', eps:0:5,' сумма равна ',sum:0:10);
  42.   eps:=eps/10;
  43.   a:=x/2;
  44.   sum:=1+a;
  45.   k:=1;
  46.   m:=2;
  47.   while abs(a)>eps do
  48.    begin
  49.     m:=m+2;
  50.     a:=-a*((x*k)/m);
  51.     sum:=sum+a;
  52.     inc(k,2);
  53.    end;
  54.   writeln('Для eps = ', eps:0:5,' сумма равна ',sum:0:10);
  55.   total:=sqrt(1+x);
  56.   writeln('Точное значение равно ', total:0:10) ;
  57.   readln;
  58. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы