Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.04.2010, 10:54
Аватар для morphine
morphine morphine вне форума
Прохожий
 
Регистрация: 14.04.2010
Сообщения: 2
Репутация: 10
Радость Pascal 2 Delphi

Помогите перевести программку в delphi

Код:
{Комбинированный метод решения нелинейного уравнения}
program kombi;
uses crt;

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
clrscr;
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.
Ответить с цитированием
  #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.
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #3  
Старый 14.04.2010, 17:30
Аватар для morphine
morphine morphine вне форума
Прохожий
 
Регистрация: 14.04.2010
Сообщения: 2
Репутация: 10
По умолчанию

а если с граф. оформлением?
Ответить с цитированием
  #4  
Старый 14.04.2010, 17:35
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну наворотить всяких окошечек и контрольчиков можно много, а смысл?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter