![]() |
![]() ![]() ![]() ![]() |
|
Квадратное уравнениеDelphi , Синтаксис , Математика
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, решающий квадратные уравнения и отображающий результаты в графическом пользовательском интерфейсе (GUI). Программа включает два кнопки: "Расчитать" и "Помощь". Когда вы нажимаете на кнопку "Расчитать", она вызывает процедуру Программа также включает кнопку "Помощь", которая открывает файл справки приложения при нажатии на нее. Вот некоторые улучшения, которые вы могли бы сделать:
Вот пример, как вы можете переорганизовать код: В этом переорганизованном коде я разделил GUI-код от логики решения уравнения. Процедура Квадратное уравнение - программирование решения квадратного уравнения в Delphi с использованием интерфейса и функции SqRoot для поиска корней. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Математика ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||