sajjadrad
پنج شنبه 06 اسفند 1388, 20:24 عصر
سلام دوستان.
من برنامه بسط سینوس رو نوشتم و کامله اما وقتی که تعداد جملات بسط رو به 10 تا میرسونم با مشکلی عجیب برخورد میکنم.خطا Division By Zero میده.درصورتی که تا 9 جمله صحیح کار میکنه...
ببینید مشکل اینجاست که در پروسیجر محاسبه فاکتوریل زیر وقتی ورودی برابر 19 قرار میگیره مقداری که برمیگرده صفره!
procedure fact(var n:real);
var
i,m,temp:integer;
begin
temp:=1;
m:=trunc(n);
writeln(m);
for i:=m downto 1 do
temp:=i*temp;
n:=temp;
end;
درصورتی که باید مقدار فاکتوریل 19 برگرده.به نظر شما مشکل کجاست؟یعنی حافظه کم میاره؟:عصبانی++::لبخند:
من برنامه بسط سینوس رو نوشتم و کامله اما وقتی که تعداد جملات بسط رو به 10 تا میرسونم با مشکلی عجیب برخورد میکنم.خطا Division By Zero میده.درصورتی که تا 9 جمله صحیح کار میکنه...
ببینید مشکل اینجاست که در پروسیجر محاسبه فاکتوریل زیر وقتی ورودی برابر 19 قرار میگیره مقداری که برمیگرده صفره!
procedure fact(var n:real);
var
i,m,temp:integer;
begin
temp:=1;
m:=trunc(n);
writeln(m);
for i:=m downto 1 do
temp:=i*temp;
n:=temp;
end;
درصورتی که باید مقدار فاکتوریل 19 برگرده.به نظر شما مشکل کجاست؟یعنی حافظه کم میاره؟:عصبانی++::لبخند: