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

Форум программистов: 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 ] 


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

Зарегистрированные пользователи: нет зарегистрированных пользователей


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

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