Процедуры - обработчики событий FormCreate и ButtonlClick создаются аналогично тому, как и в первой теме. Тексты процедур приведены ниже. Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно.
Форма приложения приведена на рисунке 2.1.
Рисунок 2.1 – Форма приложения
Текст программы:
Unit LabRab_2;
Interface;
Uses
Windows, Messages, SysUtils Classes, Graphics, Controls,
Forms, Dialogs, SidClrls, ExtCtrIs;
Type
TForm1 = class(TForm)
CheckBoxl: TCheckBox;
RadioGroupl: TRadioGroup;
Memol: TMemo;
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdil;
procedure FormCreate(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations}
public
{ Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender:TObject);
begin
Edit1.Text:='0.1';
Edit2.Text:='0.356';
Edit3.Text:='0.0';
Memo1.Clear;
Memo1.Lines.Add('Peз-ты ст. гр. 107217 Юртаева Т.А.’);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x, y, z, u, ma: extended;
begin
// Ввод исходных данных и их вывод в окно Меmo1
x:= StrToFloat(Edit1.Text);
Memo1.Lines.Add('x=' + Edit1.Text);
y:= StrToFloat(Edit2.Text);
Memol.Lines.Add('y=' + Edit2.Text);
z:= StrToFloat(Edit3.Text);
Memol.Lines.Add(‘z=' + Edit3.Text);
// Проверка номера нажатой кнопки и выбор соответствующей ей функции
|
|
case RadioGroupl.ItemIndex of
0: u:= cos(x);
1: u:= sin(x);
2: u:= sin(x)/cos(x);
end;
// Проверка состояния кнопки CheckBox1
if CheckBox1.Checked then
begin
u:= abs(u);
y:= abs(y);
z:= abs(z)
end;
// Нахождение максимального из трех чисел
if u > y then ma:= u else ma:= y;
if z > ma then ma:= z;
if CheckBox1.Checked then
Memo1.Lines.Add(‘MaxAbs=’ + FloatToStrF(ma, ffFixed, 8, 2))
else
Memo1.Lines.Add(‘max=’ + FloatToStrF(ma, ffFixed, 8, 2));
end;
end.