Delphi World - Квадратное уравнение
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Квадратное уравнение

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;
  if d < 0
    then
    ok := False // уравнение не имеет решения
  else
  begin
    ok := True;
    x1 := (-b + Sqrt(d)) / (2 * a);
    x2 := (b + Sqrt(d)) / (2 * a);
  end;
end;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  k1, k2: real; // корни уравнения
  rez: boolean; // True - решение есть, False - решения нет
  mes: string; // сообщение
begin
  SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
    StrToFloat(Edit3.Text), k1, k2, rez);
  if rez then
    mes := 'Корни уравнения' + #13 +
      'x1=' + FloatToStrF(k1, ffGeneral, 4, 2) + #13 +
      'x2=' + FloatToStrF(k2, ffGeneral, 4, 2) + #13
  else
    mes := 'Уравнение не имеет решения';

  label5.Caption := mes;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  winhelp(Form1.Handle, 'sqroot.hlp', HELP_CONTEXT, 1);
end;

end.
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования