Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Collapse1506
-1 / 0 / 1
Регистрация: 11.12.2013
Сообщений: 41
1

Посмотрите код

14.12.2013, 14:42. Просмотров 859. Ответов 4
Метки нет (Все метки)

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm2 = class(TForm)
    lbl1: TLabel;
    edt1: TEdit;
    edt2: TEdit;
    Edit1: TEdit;
    btn1: TButton;
    lbl2: TLabel;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
  a, h: Real;
  x: Real;
 
 
implementation
 
{$R *.dfm}
function f(x:Real):Real;
begin
  f:=x;
end;
 
procedure TForm2.btn1Click(Sender: TObject);
begin
repeat
a:=StrToFloat(edt2.Text);
h:=StrToFloat(Edit1.Text);
x:=StrToFloat(edt1.Text);
if f(x)*f(x+h)>0 then x:=x+h;
until f(x)*F(x+h)<0;
if f(x)*f(x+h)<0 then lbl2.Caption:=FloattoStr(x)+','+FloatToStr(x+h);
end;
 
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
unit Unit3;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm3 = class(TForm)
    lbl1: TLabel;
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    edt4: TEdit;
    edt5: TEdit;
    edt6: TEdit;
    btn1: TButton;
    lbl2: TLabel;
    function f(x:Real):Real;
    function f1(x1:Real):Real;
    function f2(x2:Real):Real;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form3: TForm3;
  a, b, c, E, x, x1, x2, g: Real;
  y: array [0..10000] of real;
implementation
 
{$R *.dfm}
 
function TForm3.f(x:real):Real;
begin
f:=x;
end;
function TForm3.f1(x1:Real):Real;
begin
  f1:=x1;
end;
function TForm3.f2(x2:Real):Real;
begin
  f2:=x2;
end;
 
procedure TForm3.btn1Click(Sender: TObject);
var
  i: Integer;
begin
  a:=StrToFloat(edt2.Text);
  b:=StrToFloat(edt3.Text);
  E:=StrToFloat(edt4.Text);
  x:=StrToFloat(edt1.Text);
  x1:=StrToFloat(edt5.Text);
  x2:=StrToFloat(edt6.Text);
if ((x2<0) and (x1<0)) or ((x2>0) and (x1>0)) then
for i:=1 to 1000 do
begin
repeat
y[i]:=x;
y[i]:=y[i-1] -((f(y[i])*(y[i-1]-y[0]))/f(y[i-1])-f(y[0]));
g:=y[i]-y[i-1];
until g<E;
end;
end;
 
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
unit Unit4;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm4 = class(TForm)
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    edt4: TEdit;
    btn1: TButton;
    lbl1: TLabel;
    function f(x:Real):Real;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form4: TForm4;
  a, b, c, E, x: Real;
 
 
implementation
 
{$R *.dfm}
function TForm4.f(x:Real):Real;
begin
f:=x;
end;
 
procedure TForm4.btn1Click(Sender: TObject);
begin
x:=StrToFloat(edt1.Text);
a:=StrToFloat(edt2.Text);
b:=StrToFloat(edt3.Text);
E:=StrToFloat(edt4.Text);
c:=(a+b)/2;
repeat
begin
c:=(a+b)/2;
if (f(a)*f(c))<0 then c:=b
else if (f(a)*f(c))>0 then c:=a;
end;
until Abs(b-a)>E;
if Abs(b-a)<E then lbl1.Caption:=FloatToStr(Abs(b-a));
end;
 
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
unit Unit5;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm5 = class(TForm)
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    edt4: TEdit;
    edt5: TEdit;
    edt6: TEdit;
    btn1: TButton;
    lbl1: TLabel;
    function f(x:Real):real;
    function f1(x1:Real):Real;
    function f2(x2:Real):Real;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form5: TForm5;
  x, x1, x2, a, b, E, g: Real;
  i: Integer;
  y: array [0..10000] of Real;
 
 
implementation
 
{$R *.dfm}
 
function TForm5.f(x:Real):Real;
begin
  f:=x;
end;
 
function TForm5.f1(x1:Real):Real;
begin
  f1:=x1;
end;
function TForm5.f2(x2:Real):Real;
begin
  f2:=x2;
end;
 
procedure TForm5.btn1Click(Sender: TObject);
begin
  a:=StrToFloat(edt2.text);
  b:=StrToFloat(edt3.text);
  E:=StrtoFloat(edt6.Text);
  x:=StrToFloat(edt1.Text);
  x1:=StrToFloat(edt4.Text);
  x2:=StrToFloat(edt5.Text);
  repeat
  y[i]:=x;
  if ((x2>0) and (x>0)) or ((x2<0) and (x<0)) then
  y[i+1]:=y[i]-(f(y[i])/f1(y[i]));
  g:=(y[i+1]-y[i])
  until g<E
end;
 
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
unit Unit6;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm6 = class(TForm)
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    btn1: TButton;
    lbl1: TLabel;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form6: TForm6;
 
implementation
 
 
{$R *.dfm}
 
function f(x:Real):Real;
begin
  f:=x;
end;
 
procedure TForm6.btn1Click(Sender: TObject);
begin
x:=StrToFloat(edt1.Text);
x0:=StrToFloat(edt2.Text);
E:=StrToFloat(edt3.Text);
repeat
x0:=x;
x:=f(x0);
until Abs(x0-x)<E
lbl1.Caption:=FloatToStr(Abs(x0-x));
end;
 
end.
Задача заключается в том чтобы все вводилось в форме и выдавало только ответ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 14:42
Ответы с готовыми решениями:

Посмотрите код.
В чем дело? Выдается ошибка в этой строке. Data.Add('ab='+Edit1.Text); Сам...

Не сохраняется Topendialog посмотрите код Formcreate!
unit Unit1; interface uses shellapi, Windows, Messages, SysUtils,...

Посмотрите код. Почему выдает ошибку?
Как исправить ошибку? Помогите пожалуйста Задача: Авиабилет Структура...

Написал код для уточнения корней уравнения методом хорд. Но не знаю правильно ли. Посмотрите кто может
Программа работает, но правильно ли? unit Unit1; interface uses ...

Посмотрите задание

4
Shurvik
43 / 43 / 14
Регистрация: 12.02.2013
Сообщений: 151
14.12.2013, 18:21 2
А что делают функции f, f1, f2 ? Судя по коду ничего полезного.
Кто из них главная форма ? Или это все отдельные программы ?
0
Collapse1506
-1 / 0 / 1
Регистрация: 11.12.2013
Сообщений: 41
14.12.2013, 20:16  [ТС] 3
главной формы тут нет. Это отдельные модули)
функции служат для сравнения ведь в решении нелинейных уравнений надо сравнивать же
0
Shurvik
43 / 43 / 14
Регистрация: 12.02.2013
Сообщений: 151
15.12.2013, 10:43 4
Рассмотрим последний модуль.
1. x, x0, E - нигде не объявлены. Будем считать, что это мы сделали.
2. При x0:=x; строка x0:=StrToFloat(edt2.Text); не имеет смысла
3. Далее x:=f(x0); равносильно x:=x0;
4. Соответственно Abs(x0-x) всегда будет 0 (ноль)
0
Collapse1506
-1 / 0 / 1
Регистрация: 11.12.2013
Сообщений: 41
15.12.2013, 11:10  [ТС] 5
но х0 не всегда задано как 0!
0
15.12.2013, 11:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2013, 11:10

Посмотрите поиск
procedure TForm6.Button2Click(Sender: TObject); var f: textfile;...

посмотрите пожалуйста
{ Если N является простым, функция вернет -1 } function GetLehmanFactor(N:...

Посмотрите в чем ошибка
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru