![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Квадратное уравнение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 |