Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2009, 14:10   #1
StakanpORTvejna
Пользователь
 
Регистрация: 31.08.2007
Сообщений: 37
По умолчанию Нахождение производной или дифферинциала

Кто знает как это можно сделать в дельфи?
StakanpORTvejna вне форума Ответить с цитированием
Старый 29.04.2009, 14:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как ты это в других ЯВУ делаешь? Или на бумажке?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.04.2009, 20:56   #3
makSum
 
Регистрация: 07.06.2008
Сообщений: 8
По умолчанию

Вот рабочий код. Только что проверил
Код:
var
  Form1: TForm1;
Hagk,Hagn,a,i,j,n:integer;
 hag,x,int,dx,prois,Xn,Xk:real;

implementation

{$R *.dfm}
function f(x:real):real; //опишем функцию
begin
f:=ln(x*a)+cos(a*x)*cos(a*x)/sin(a*x)+sqrt((x-7)/a)+(x+7)*a+a;
end;

 // для ИНТЕГРАЛА
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Clear;  //очистка Memo1
Memo1.Lines.Add('значения интеграла');
Xn:=strtofloat(Edit1.Text); // начальное Х
Xk:=strtofloat(Edit2.Text); // конечное Х
a:=strtoint(Edit3.Text); // параметр
Hagn:=strtoint(Edit4.Text);// начальное количество шагов разбиения
Hagk:=strtoint(Edit5.Text); //  конечное количество шагов разбиения
Chart1.SeriesList[0].Clear; // очистка графика
for i:=Hagn to Hagk do
begin            
int:=0;
hag:=(Xk-Xn)/i;   //нахождение шага
//нахождение интеграла
for j:=0 to i-1 do
begin
x:=Xn+j*hag;// находим Х
int:=int+hag*(f(x)+f(x+hag))/2;
end;
Memo1.Lines.Add('-если количество шагов пазбиения='+inttostr(i));
Memo1.Lines.Add('то интеграл='+floattostr(int));

Chart1.SeriesList[0].AddXY(i,int,'',clblue);//вывод на график полученных значений
end;
end;

 //для ПРОИЗВОДНОЙ
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo2.Lines.Clear;  //очистка Memo1
Memo2.Lines.Add('производная');
Xn:=strtofloat(Edit1.Text);  // начальное Х
Xk:=strtofloat(Edit2.Text);  // конечное Х
a:=strtoint(Edit3.Text);      // параметр
n:=strtoint(Edit6.Text)-1;    // количество шагов разбиения
dx:=strtofloat(Edit7.Text);
 Chart2.SeriesList[0].Clear;
 hag:=(Xk-Xn)/n;              //нахождение шага
 //нахождение производной
 for j:=0 to n do
  begin
 x:=Xn+j*hag;    // находим Х
 prois:=(f(x+dx)-f(x))/dx; //вычисляем производную
 Memo2.Lines.Add('-если x='+floattostr(x));
Memo2.Lines.Add('то prois='+floattostr(prois));

Chart2.SeriesList[0].AddXY(x,prois,'',clblack);//вывод на график полученных значений
 end;
end;
makSum вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка на нахождение. Paul Oakenfold Паскаль, Turbo Pascal, PascalABC.NET 2 15.04.2009 11:03
Вычисление производной функции mde Помощь студентам 0 01.06.2008 12:52
Нахождение функции F(a) Forro Помощь студентам 2 25.05.2008 12:24
Нахождение хендла Zeraim Win Api 2 23.05.2008 20:30
Нахождение производной Sota Свободное общение 11 02.05.2008 18:32