Memo2.Lines.Add(Stroka2); // копируем слова из 5 букв
end;
end;
end.
2.13. Простейшие приемы работы с классами геометрических фигур
Разработать приложение, позволяющее определять площадь и периметр произвольного треугольника через его стороны. В главной форме должны находиться поля ввода исходных величин, поля вывода некоторых свойств фигуры, кнопка «Решение», кнопка «О программе», кнопка «Выход». Студент должен создать класс геометрической фигуры, включающий в себя поля, методы и свойства. При описании свойств фигуры необходимо иметь в виду, что некоторые свойства доступны только для чтения, другие – для записи, третьи – для чтения и записи.
При нажатии кнопки «Решение» программа должна считать значения исходных полей или свойств, выполнить некоторые действия над ними, поместить результаты в поля вывода.
Вставляем в пустую форму компонент Edit1-Edit2 для ввода сторон треугольника, три кнопки Button1-Button3 для запуска соответствующих процедур, компоненты Label1 и Label7 для вывода периметра и площади треугольника.
Форма приложения с исходными данными и результатами расчета показана на рис. 2.12.
Рис. 2.12. Простейшие приемы работы с классами геометрических фигур
Формируем процедуры обработки нажатия кнопок и компилируем программу. Текст модуля приводим ниже:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TTriang = class(TObject)
a,b,c: Real; {стороны треугольника}
alpha,beta,gamma: Real; {углы треугольника}
function GetPerimetr : real;
function GetPlosh_abc : real;
function GetPlosh_abu : real;
property Perimetr :real read GetPerimetr;
property Plosh_abc : real read GetPlosh_abc;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var t: TTriang;
procedure TForm1.Button1Click(Sender: TObject);
begin
t:=TTriang.Create; // создание объекта класса TTriang
t.a:=StrToFloat(Edit1.text);
t.b:=StrToFloat(Edit2.text);
t.c:=StrToFloat(Edit3.text);
Label1.Caption:=floattostrf(t.Perimetr,ffFixed,6,3);
Label7.Caption:=floattostrf(t.Plosh_abc,ffFixed,6,3);
t.Free;
end;
// описание метода определения периметра треугольника
Function TTriang.GetPerimetr : real;
begin
if (a+b>c)and(a+c>b)and(b+c>a)then Result:=a+b+c
else Result:=0;
end;
// описание метода определения площади треугольника
Function TTriang.GetPlosh_abc : real;
var p : real;
begin
if (a+b>c)and(a+c>b)and(b+c>a)then
begin
p:=(a+b+c)/2;
Result:=sqrt(p*(p-a)*(p-b)*(p-c))
end
else Result:=0;
end;
// процедура закрытие приложения
procedure TForm1.Button3Click(Sender: TObject);
begin
Close
end;
// процедура обработки кнопки "О программе"
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.MessageBox('Программу выполнил студент '+
'группы Д-11 Ульянов Н.С.','О программе')
end;
end.
2.14. Решения систем алгебраических уравнений
Разработать приложение, позволяющее производить решение системы линейных алгебраических уравнений третьего порядка методом Крамера. В главной форме должны находиться таблица основных коэффициентов системы уравнений, таблица-столбец свободных членов системы, таблица для вывода результата, кнопка «Решение», кнопка «О программе», кнопка «Выход».
При нажатии кнопки «Решение» программа должна считать значения исходных величин, решить систему уравнений, поместить результаты в таблицу вывода результата.
Вставляем в пустую форму компонент StringGrid1 для ввода матрицы коэффициентов А, компонент StringGrid2 для ввода вектора В, компонент StringGrid3 для вывода результата, три кнопки Button1-Button3 для запуска соответствующих процедур.
Форма приложения с исходными данными и результатами расчета показана на рис. 2.13.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.