Написать программу вычисления суммы - Pascal (80988)
Формулировка задачи:
Написать программу вычисления суммы
S=x-(x/2)^2+(x/3)^3-(x/4)^4+...(n членов).
Моя попытка решить данную задачу не увенчалась успехом:
Program test;
var i,n,k,b:integer;
x,s,z,m,v:real;
begin
write ('Введите кол-во членов ряда: ');
readln (n);
write ('Введите X: ');
readln (x);
k:=-1; s:=x; v:=x;
for i:=2 to n-1 do
begin
for b:=1 to i do
z:=i*i;
v:=x*v;
m:=v/z;
s:=s+m*k;
end;
write ('Сумма =:', s:5:2);
end.Решение задачи: «Написать программу вычисления суммы»
textual
Листинг программы
var i,n:integer;
x,s,v:real;
begin
write ('Введите кол-во членов ряда: ');
readln (n);
write ('Введите X: ');
readln (x);
v:=x;//первый член
s:=x; //первая сумма
for i:=2 to n do
begin
v:=-v*x;//меняем знак и домножаем на х
s:=s+v/i;//делим на индекс и прибавляем
end;
writeln('Сумма =',s:0:4);
// при |x|<1 ряд сходится для функции ln(x+1)
//write('ln(x+1)=',ln(x+1):0:4)
end.
Объяснение кода листинга программы
- Создается переменная
n, которая представляет собой целое число, введенное пользователем. - Создается переменная
x, которая представляет собой вещественное число, введенное пользователем. - Создается переменная
s, которая представляет собой вещественное число, и инициализируется значениемx. - Создается переменная
v, которая представляет собой вещественное число, и инициализируется значениемx. - Запускается цикл
for, который выполняется от 2 доn(включительно). - Внутри цикла переменная
vизменяется на-v*x, что меняет ее знак и умножает наx. - Затем переменная
sизменяется на суммуv/i, гдеi- это текущий индекс (i=2 до n). - После завершения цикла
for, выводится сообщениеСумма =, за которым следует значение переменнойs, округленное до четырех знаков после запятой. - Код завершается.