Тема: Pascal 2 Delphi
Показать сообщение отдельно
  #2  
Старый 14.04.2010, 14:14
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 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.
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием