Найти сумму Ряда. Граница вычислений вводится с клавиатуры - Pascal ABC
Формулировка задачи:
Найти сумму Ряда. Граница вычислений вводится с клавиатуры.
Факториалы и возведение в степень оформить в виде функции.
S=1-2x+3x^2-4x^3+5x^4-..., |x|<1
Заранее большое спасибо!
Решение задачи: «Найти сумму Ряда. Граница вычислений вводится с клавиатуры»
textual
Листинг программы
function power(x:real;n:integer):real;
var i:integer;
begin
result:=1;
if n>0 then
for i:=1 to n do
result:=result*x;
end;
var n,i,z:integer;
x,s:real;
begin
repeat
writeln('Введите |x|<1 x=');
readln(x);
until abs(x)<1;
repeat
write('Введите число членов ряда n>0 n=');
readln(n);
until n>0;
s:=0;
z:=-1;
for i:=1 to n do
begin
z:=-z;
s:=s+z*i*power(x,i-1);
end;
write('S=',s:0:4)
end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
result- результат вычисления ряда, типreal.n- количество членов ряда, типinteger.i- номер текущего члена ряда, типinteger.x- значение текущего члена ряда, типreal.s- сумма ряда, типreal.z- знак текущего члена ряда (+1 или -1), типinteger. Код начинается с определения функцииpower, которая принимает два аргумента:x(значение текущего члена ряда) иn(количество членов ряда). Внутри функции происходит проверкаn>0, после чего происходит циклfor, в котором значениеiувеличивается от 1 доn. В каждой итерации цикла значениеresultумножается наx(значение текущего члена ряда). Далее идет основной код программы. Он начинается с повторения, в котором пользователю предлагается ввести значение|x|<1 x=и затем число членов рядаn>0 n=. Пока эти условия не выполняются, программа продолжает повторяться. После этого переменнаяsинициализируется значением 0, а переменнаяzинициализируется значением -1. Затем происходит циклfor, в котором значениеiувеличивается от 1 доn. Внутри цикла значениеzсменяется на-z, а переменнаяsувеличивается на текущее значениеzумноженное наiи деленное наpower(x,i-1). В конце программы выводится значениеs. Таким образом, данный код вычисляет сумму ряда, заданного пользователем, и выводит результат.