Помощь - Поиск - Пользователи - Календарь
Полная версия: Просто сумма
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
SkIv
Люди помогите пожалуйста решить такую задачу на паскале, я не очень силен в математике по этому не могу понять, что означает эта бесконечная сумма, и как ее задать.
volvo
Здесь показано, как делается разложение в ряд:
FAQ: Общие вопросы по математике: Разложение функции в ряд

Твоя задача решается по тому же принципу...
Гость
Извиняюсь, что так долго (с информатикой разбирался). Вообщем прошли мы недавно этот принцип на программировании, он называется Рекуррентным алгоритмом. основной принцип понял, но мне не нравятся ответы, которые он выдает, если вам не трудно посмотрите что я тут написал и скажите есть ли ошибки.

Код
Program zad;
uses crt;
const e=1e-6;
var x,k,a,i,f: integer;
    p,s: real;
begin
clrscr;
write('a=');
readln(a);
s:=1;
p:=1;
k:=1;
x:=1;
writeln('a(0)=',s:4:2);
for i:= 1 to 10 do
begin
  while p>e do
   begin
    p:=p*((x*ln(a))/k);
    s:=s+p;
    k:=k+1;
   end;
  writeln('a(',x,')=',s:4:2);
  x:=x+1;
end;
readln;
end.
SkIv
Блин читать надо правила форума, вобщем не заметил по этому так коряво вышло
volvo
Program zad;
uses crt;
const e=1e-6;
var x,k,i: integer;
a,p,s,xlna: real;
begin
clrscr;
write('a='); readln(a);

s := 0;
writeln('a(0)=',s:4:2);

for x := 1 to 10 do begin
s := 0; p := 1; k := 1; { <-- Это надо делать внутри цикла }
xlna := x * ln(a); { <-- Зачем вычислять это во внутреннем цикле, если можно это сделать здесь? }
while p > e do begin
p := p * (xlna / k);
s := s + p;
k := k + 1;
end;
writeln('a(',x,')=',s:4:2);
end;
readln;
end.
мисс_граффити
какое поэтичное название программы...
SkIv
Да не подумал, спасибо большое теперь все работает.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.