Показать сообщение отдельно
Старый 28.02.2014, 21:32   #16 (permalink)
felarl
Member
 
Регистрация: 18.10.2013
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Если возможно, подскажите почему здесь происходит деление на ноль, и можно ли это исправить, не меняя интервал [0;2]

uses crt;
var x,a,b,e: real;
function f1(x: real): real;
begin
f1:=(x-2)*(x-2)*2*x-1;
end;
function f2(x:real): real;
begin
f2:=6*x*x-16*x+8;
end;
begin
clrscr;
a:=0;
b:=2;
e:=0.001;
if f1(a)*f2(a)>0 then x:=a
else x:=b;
while abs(f1(x))>e do
begin
x:=x-f1(x)/f2(x);
end;
writeln ('x=',x,' f(x)=',f1(x));
end.
felarl вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070