Программирование в среде Delphi. Практикум к лабораторным работам по курсу «Информатика», страница 9

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.