Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Просто сумма

Автор: SkIv 22.09.2006 21:16

Люди помогите пожалуйста решить такую задачу на паскале, я не очень силен в математике по этому не могу понять, что означает эта бесконечная сумма, и как ее задать.



Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: volvo 22.09.2006 21:26

Здесь показано, как делается разложение в ряд:
http://forum.pascal.net.ru/index.php?s=&showtopic=4535&view=findpost&p=44175

Твоя задача решается по тому же принципу...

Автор: Гость 6.10.2006 21:14

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

Код
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 6.10.2006 21:17

Блин читать надо правила форума, вобщем не заметил по этому так коряво вышло

Автор: volvo 6.10.2006 22:31

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.

Автор: мисс_граффити 7.10.2006 0:23

какое поэтичное название программы...

Автор: SkIv 7.10.2006 10:21

Да не подумал, спасибо большое теперь все работает.