Помощь - Поиск - Пользователи - Календарь
Полная версия: задача на циклы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
BoBaH
Господа помогите найти ошибку в программе...
вот типа условие:
y=x-(x3/3!)+x5/5!-....+((-1)n-1*x2n-1(2n-1)!)+...
Епсилон=10-4, х=0.25

вот собствнно как я написал программу:
Код
Begin
..
..
y:=0; n:=1; k:=1; fact:=1;
repeat
for i:=2n-1 downto 2 do fact=i*fact;
f:=k*exp(2n-1)*ln(x))/fact;
y:=y+f;
n:=n+1;
k;=-k
until y<=eps
..
end.


говорят чушь написана в этой строке for i:=2n-1 downto 2 do fact=i*fact; что типа нельзя чтоб i был изменяющимся... как это исправить?
Amro
for i:=2n-1 downto 2 do fact=i*fact да это действительно полная хрень
у тебя ведь уже цикл есть repeat /// until значит цикл for тут вообще не нужен, ты всё можешь сделать в цикле repeat
ты лучше сам факториал запиши вот так:
Код
n:=1;fact:=1
repeat
...
fact=(2n-1)*fact;
...
n:=n+1;
...
until y<=eps;

получится намного компактнее!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.