→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Числовые методы на Delphi 
Автор Сообщение
Начинающий

Регистрация: 22.05.2012
Сообщения: 3
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Числовые методы на Delphi


У вас нет необходимых прав для просмотра вложений в этом сообщении.


22.05.2012 9:21
Профиль Отправить email
Начинающий

Регистрация: 22.05.2012
Сообщения: 3
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Re: Числовые методы на Delphi
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit8: TEdit;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
Label6: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
function f(x:real):real;
begin
Result:=3*x-14+exp(x)-exp(-x);
end;
function f1(x:real):real;
begin
result:=exp(-x)*(exp(2*x)+3*exp(x)+1);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
close
end;

procedure TForm1.Button3Click(Sender: TObject);

var a,b,x1,x0,e:real;
k:integer;
begin
a:=StrToFloat(Form1.Edit1.Text);
b:=StrToFloat(Form1.Edit2.Text);
e:=StrToFloat(Form1.Edit8.Text);
k:=1;
x1:=a;
repeat
x0:=x1;
x1:=x0-f(x0);
k:=k+1;
until abs(x0-x1)<=e;
form1.Edit4.Text:=(Sender as TButton).Caption;
form1.Edit3.Text:=FloatToStr(x0);
form1.Edit5.Text:=FloatToStr(k);

end;



procedure TForm1.Button1Click(Sender: TObject);
var a,b,x,x1,x0,e:real;
k:integer;
begin
a:=StrToFloat(Form1.Edit1.Text);
b:=StrToFloat(Form1.Edit2.Text);
e:=StrToFloat(Form1.Edit8.Text);
x0:=a;
k:=0;
repeat
x0:=x1;
x1:=x0-f(x0)/f1(x0);
k:=k+1;
until (abs(x0-x1)<=e);
form1.Edit4.Text:=(Sender as TButton).Caption;
form1.Edit3.Text:=FloatToStr(x0);
form1.Edit5.Text:=FloatToStr(k);

end;


procedure TForm1.Button2Click(Sender: TObject);
итерации//
var a,b,x,e,c:real;
k:integer;
begin
a:=StrToFloat(Form1.Edit1.Text);
b:=StrToFloat(Form1.Edit2.Text);
e:=StrToFloat(Form1.Edit8.Text);
c:=(a+b)/2;
while abs(b-a)>e do
begin
k:=0;
if f(a)*f(c)<0 then
b:=c
else
a:=c;
c:=(a+b)/2;
end;
x:=(a+b)/2;
k:=k+1;
form1.Edit4.Text:=(Sender as TButton).Caption;
form1.Edit3.Text:=FloatToStr(x);
form1.Edit5.Text:=FloatToStr(k);
end;
end.
Почему в итерациях выдает ошибку "Floating point overflow"


24.05.2012 9:10
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»