
14.04.2010, 14:14
|
 |
Продвинутый
|
|
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
|
|
Вот консольное приложение
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
function f(x:real):real;{Исходная функция}
begin
f:=0.1*sqr(x)-x*ln(x);
end;
function f1(x:real):real;{Первая производная функции}
begin
f1:=0.2*x-1+ln(x);
end;
function f2(x:real):real;{Вторая производная функции}
begin
f2:=0.2+1/x;
end;
var a,b,e,e1,x0,x11,x12:real;
begin
writeln('Решение нелинейного уравнения комбинированным методом');
writeln('Уравнение 0,1x^2-xln(x)=0');
write('Введите левую и правую границы интервала: ');
read(a,b);
write('Введите требуемую точность решения: ');
read(e);
writeln('Решение');
if f(a)*f2(a)>=0 then x0:=a else x0:=b;
begin
x11:=x0-f(x0)/f1(x0);
x12:=a-((b-a)*f(a)/(f(b)-f(a)));
e1:=(x11+x12)/2;
while abs(e1-x11)>e do
begin
a:=x11;
b:=x12;
x11:=a-f(a)/f1(a);
x12:=a-((b-a)*f(a)/(f(b)-f(a)));
e1:=(x11+x12)/2;
end;
writeln('Ответ: корень = ',x11:6:4);
end;
readln;
readln;
end.
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
|