Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ЗАД_ООПТС_15_06_2012.doc
Скачиваний:
6
Добавлен:
24.09.2019
Размер:
193.54 Кб
Скачать

ЛАБОРАТОРНЫЕ РАБОТЫ: ТЕОРИЯ И ЗАДАНИЯ

1.Текстовые компоненты Label, Edit, Memo. Кнопка Button

Пример использования компонентов Label, Edit, Memo и Button

Пример 1.1. Задание - Составить программу, вычисляющую корни квадратного уравнения

а2 * х2 + а1 * х + а0=0

с произвольными коэффициентами (a2 ≠0).

Решение

  1. Создадим папку D:\MyProject\Text (можно любую другую).

  2. Откроем новое приложение с помощью команды главного меню File | New Application.

  3. На форме Form1 разместим следующие компоненты: четыре метки Label, три компонента Edit, один редактор Memo и две кнопки Button

Все компоненты берем со страницы Standard Палитры Компонентов.

4. Свойству Caption метки Label1 зададим значение:

Введите коэффициенты квадратного уравне­ния

А2 * Х^2+А1 * Х+А0 = 0

Для того чтобы текст располагался в двух строках и был выровнен по центру для метки необходимо установить следующие значения свойств:

AutoSize - False,

WordWrap - True,

Alignment - taCenter.

Размеры метки и ее местоположение можно отрегулировать вручную.

Перейдем в свойство Font и щелкнем по кнопке с тремя точками. В появившемся окне изменим размер шрифта с 8 на 10. Нажмем ОК.

  1. Для меток Label2, Label3 и Label4 установим свойство Caption равным ‘А0 = ‘, ‘ А1 = ‘ и ‘ А2 = ‘ соответственно.

  2. Для компонентов Edit1, Edit2 и Edit3 установим значение свойства Text равным пустой строке.

  3. Для компонента Memo1 выберем свойство Lines и щелкнем по кнопке с тремя точками. В появившемся окне Stringlist editor удалим строку ‘Memо1’. Нажмем ОК.

  4. Кнопкам Button1 и Button2 установим свойство Caption равным ‘Решение’ и ‘Очистить’ соответственно.

  5. Двойным щелчком активизируем кнопку Решение и для обработчика события OnClick вставим следующие строки:

procedure TForm1.Button1Click(Sender: TObject);

var a0, a1, a2, d, x1, x2 : double;

begin

a0 := StrToFloat(Edit1.Text);

al := StrToFloat(Edit2.Text);

a2 := StrToFloat(Edit3.Text);

d := a1*a1-4*a2*a0;

if d>=0 then begin

xl := (-a1+sqrt(d))/(2*a2);

x2 := (-a1-sqrt(d))/(2*a2);

Memo1.Lines.Add(‘Результат:’);

Memo1.Lines.Add(‘x1 = ’+ FloatToStrF(x1,ffGeneral,7,2));

Memo1.Lines.Add(‘x2 = ’+ FloatToStrF(x2,ffGeneral,7,2));

end

else

Memo1.Lines.Add(‘Решений нет:’);

end;

10. Нажмем клавишу F12 и вернемся в форму. Двойным щелчком активизиру­ем кнопку «Очистить» и в обработчик события OnClick вставим строку

Memo1.Clear;

11.Сохраним проект в папке D:\MyProject\Text и запустим приложе­ние на выполнение, используя функци­ональную клавишу F9 или кнопку «зелёный треугольник». Для решения квадратного уравнения введем коэффи­циенты и нажмем кнопку Решение. Для очистки окна редактора нажмем кнопку «Очистить»

Полный текст сформированного модуля Unit1.pas

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1 : TLabel;

Label2 : TLabel;

Label3 : TLabel;

Label4 : TLabel;

Edit1 : TEdit;

Edit2 : TEdit;

Edit3 : TEdit;

Memo1 : TMemo;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation {$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var a0,a1,a2,d,x1,x2 : double;

begin

a0 := StrToFloat(Edit1.Text);

a1 := StrToFloat(Edit2.Text);

a2 := StrToFloat(Edit3.Text);

d := a1*a1-4*a2*a0;

if d>=0 then begin

x1 := (-a1+sqrt(d))/(2*a2);

x2 := (-a1-sqrt(d))/(2*a2);

Memo1.Lines.Add(‘Результат:’);

Memo1.Lines.Add(‘x1 =’+ FloatToStrF(x1, ffGeneral,7,2));

Memo1.Lines.Add(‘x2 =’+ FloatToStrF(x2, ffGeneral,7,2));

end

else

Memo1.Lines.Add(‘Решений нет:’);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Memo1.Clear;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]