Исходники и листинги ::: 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
73
74
75
76
77
78
79
  unit SqRoot_;
 
  interface
 
  uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, OleCtrls;
 
  type
    TForm1 = class(TForm)
      Edit1: TEdit;
      Edit2: TEdit;
      Edit3: TEdit;
      Label1: TLabel;
      Label2: TLabel;
      Label3: TLabel;
      Label4: TLabel;
      Button1: TButton;
      Label5: TLabel;
      Button2: TButton;
      procedure Button1Click(Sender: TObject);
      procedure Button2Click(Sender: TObject);
    private
      { Private declarations }
    public
      { Public declarations }
    end;
 
  var
    Form1: TForm1;
 
  implementation
 
  // решает квадратное уравнение
  procedure SqRoot( a,b,c : real; var x1, x2 : real; var ok : boolean);
      { a,b,c - коэффициенты уравнения
        x1,x2 - корни уравнения
        ok = True  - решение есть
        ok = False - решения нет }
      var
          d : real; // дискриминант
      begin
          d:= Sqr( b ) - 4*a*c;
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if d < 0
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok := False&nbsp;&nbsp;// уравнение не имеет решения
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok := True;
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x1 := (-b + Sqrt(d)) / (2*a);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x2 := ( b + Sqrt(d)) / (2*a);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;
  &nbsp;&nbsp;&nbsp;&nbsp;end;
  {$R *.dfm}
 
  procedure TForm1.Button1Click(Sender: TObject);
  var
  &nbsp;&nbsp; k1,k2: real;&nbsp;&nbsp;// корни уравнения
  &nbsp;&nbsp; rez: boolean; // True - решение есть, False - решения нет
  &nbsp;&nbsp; mes: string;&nbsp;&nbsp;// сообщение
  begin
  &nbsp;&nbsp; SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StrToFloat(Edit3.Text), k1,k2,rez);
  &nbsp;&nbsp; if rez then
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mes := 'Корни уравнения' + #13 +
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'x1='+FloatToStrF(k1,ffGeneral,4,2)+#13+
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'x2='+FloatToStrF(k2,ffGeneral,4,2)+#13
  &nbsp;&nbsp; else
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mes := 'Уравнение не имеет решения';
 
  &nbsp;&nbsp; label5.Caption := mes;
  end;
 
  procedure TForm1.Button2Click(Sender: TObject);
  begin
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;winhelp(Form1.Handle,'sqroot.hlp',HELP_CONTEXT,1);
  end;
 
  end.
<<< Предыдущая работа

Вернуться в галерею исходников
Решение квадратных уравнений
Автор: Nerevarin*
Город: Новочебоксарск
Дата: 23.01.2007  18:06
Комментариев: 5
Просмотров: 407
Оценка: 0 (0|0|0|0|0) [0]

Вернуться на главную
Авторский комментарий к работе: Программа находится в программировании
Вы не можете оценивать

КОММЕНТАРИИ К РАБОТЕ:
Nerevarin* ::: комментарий от 27.02.2007 | 17:41
Nerevarin Наставник (ур.16)
Очки: 21560
Город: Новочебоксарск
Тв. работ: 119
Рег: 07.10.2006 (1013)
Ответ для Глеб 21.02.2007 | 10:31:

Например!


--------------------
Моя совесть чиста-я ей не пользуюсь!
Глеб* ::: комментарий от 21.02.2007 | 10:31
Глеб Перспективный (ур.8)
Очки: 1903
Город: Новокузнецк
Тв. работ: 13
Рег: 11.02.2007 (3546)
Можно сильно усовершенствовать!!!!!!!!!!!!!


--------------------
Лучше идти -чем бежать,лучше стоять -чем идти,лучше сидеть -чем стоять,лучше лежать -чем сидеть,лучш
Глеб* ::: комментарий от 21.02.2007 | 10:30
Глеб Перспективный (ур.8)
Очки: 1903
Город: Новокузнецк
Тв. работ: 13
Рег: 11.02.2007 (3546)
Просто но полезно!!!!!!


--------------------
Лучше идти -чем бежать,лучше стоять -чем идти,лучше сидеть -чем стоять,лучше лежать -чем сидеть,лучш
Nerevarin* ::: комментарий от 26.01.2007 | 00:26
Nerevarin Наставник (ур.16)
Очки: 21560
Город: Новочебоксарск
Тв. работ: 119
Рег: 07.10.2006 (1013)
Я знаю что просто!


--------------------
Моя совесть чиста-я ей не пользуюсь!
delphIN* ::: комментарий от 25.01.2007 | 20:08
delphIN Перспективный (ур.8)
Очки: 1552
Город: Братск
Тв. работ: 10
Рег: 17.01.2007 (2628)
Очень просто!!! Это можно пройти на первых уроках информатики и программирования!!!