Для заданных 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.
Объяснение кода листинга программы
- Ввод количества слагаемых и значения аргумента
- Вычисление значения переменной a
- Вычисление суммы слагаемых
- Вычисление значений переменных k и m
- Цикл, в котором происходит увеличение m на 2 и вычисление значения a
- Проверка условия для окончания цикла
- Вычисление суммы слагаемых с учетом условия
- Вывод результата для заданного количества слагаемых
- Ввод значения eps
- Проверка условия для окончания цикла
- Вычисление значения переменной a
- Вычисление суммы слагаемых с учетом условия
- Вывод результата для заданного значения eps
- Установка значения eps
- Вычисление значения переменной a
- Цикл, в котором происходит увеличение m на 2 и вычисление значения a
- Проверка условия для окончания цикла
- Вычисление суммы слагаемых с учетом условия
- Вывод результата для заданного значения eps
- Вывод точного значения суммы слагаемых