Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика_Delphi.doc
Скачиваний:
11
Добавлен:
25.08.2019
Размер:
2.92 Mб
Скачать

Лабораторна робота №7 Створення найпростішого Windows-Додатка в Delphi, з використанням умовного оператора та оператора вибору.

Мета: 1. Навчитися створювати самостійно проекти в Delphi.

2. Навчитися розміщувати об’єкти на формі та змінювати їх властивості.

3. Навчитися записувати події для того чи іншого об’єкту.

4. Навчитися використовувати умовний та оператор вибору при створенні проекту.

Теоретичні питання:

  1. Які ви знаєте властивості текстових полів?

  2. Які способи виведення інформації, ви знаєте?

Практичне завдання:

  1. Створити додаток за зразком.

  2. Створити додатки за вказаним варіантом.

  1. Зразок: Створити програму для знаходження розв’язків квадратного рівняння.

1 Спосіб розв’язку квадратного рівняння

  1. Створюємо форму за зразком.

  1. Запрограмуємо кнопку «Обчислити». Для цього двічі клацнемо по кнопці «Обчислити» і у заготовці процедури програмного модуля введемо:

var

Form1: TForm1;

a,b,c, d,x1,x2:real;

code:integer;

s1,s2:string[5];

implementation {$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

b egin

val(edit1.Text,a,code);

val(edit2.Text,b,code);

val(edit3.Text,c,code);

d:=b*b-4*a*c;

if d<0 then label5.Caption:='Корені відсутні';

if d=0 then

begin

x1:=-b/(2*a); str(x1:6:2,s1);

label5.Caption:='Корінь рівняння:' +chr(10)+'x1='+s1;

{chr(10) - це вказівка перейти на новий рядок}

end;

if d>0 then begin

x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a);

str(x1:6:2,s1); str(x2:6:2,s2);

label5.Caption:='Корені рівняння:' +chr(10)+'x1='+s1+chr(10)+'x2='+s2;

{chr(10) - це вказівка перейти на новий рядок}

end;

end;

  1. Запрограмуємо кнопку «Інше рівняння»

procedure TForm1.Button2Click(Sender: TObject);

begin

edit1.Text:=''; {Очищаємо поля введення коефіцієнтів}

edit2.Text:='';

edit3.Text:='';

Label5.Caption:='';

edit1.Setfocus; end; {Активізуємо поле edit1 методом Setfocus:}

2 Спосіб розв’язання квадратного рівняння

Зауваження:

1. Ми вводимо коефіцієнти вкадратного рівняння.

2. Комп’ютер виводить повідомлення: дійсних коренів не існує або 1 корінь або два корені.

3. В залежності від результату, ми повинні організувати виведення відповіді на екран монітору. Це можна зробити в такий спосіб повідомлення про відсутність розв’язку вивести в текстовому полі, а самі розв’язки виводити в текстовому вікні. Для цього на формі потрібно розмістити всі об’єкти, але непотрібні в даний момент роботи програми – приховувати. Як це створити? Розглянемо створення коду програми.

1. Створіть форму за зразком.

2. Змініть властивості Caption для даних об’єктів

  1. Алгоритм розв’язку для випадку коли D>=0:

    1. Обчислити корені за відомими формулами;

    2. Зробити видими текстові вікна Edit4 I Edit5, в яких будуть виводитись результати

    3. Перетворити отриманий числовий результат в текстову величину;

    4. Вивести надпис – пояснення результату.

  2. Алгоритм розв»язку для випадку коли D<0:

    1. Обчислити корені за відомими формулами;

    2. Зробити невидими текстові вікна. Вивести надпис – пояснення, що дійсних коренів не має.

  3. Для кнопки «Обчислити» запишемо подію:

var

Form1: TForm1;

a,b,c,d,x1,x2:real;

implementation {$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

a:=StrtoFloat(Edit1.Text);

b:=StrtoFloat(Edit2.Text); // Вводимо коефіцієнти рівняння

c:=StrtoFloat(Edit3.Text);

d:=sqr(b)-4*a*c;

if d>=0 then

begin

x1:=(-b-sqrt(d))/(2*a);

x2:=(-b+sqrt(d))/(2*a);

Edit4.Text:=FloatToStr(x1); // Обчислюємо корені, перетворюємо числову величину в текстову

Edit4.Visible:=True; // Створюємо текстове вікно видимим

Edit5.Text:=FloatToStr(x2);

Edit5.Visible:=True;

Label4.Visible:=True;

Label4.Caption:='Корені рівняння';

end

else

begin

Label4.Visible:=True;

Label4.Caption:='Дійсні корені відсутні';

Edit4.Visible:=False; // Текстове вікно буде невидимим

Edit5.Visible:=False;

end;end;end.

7. Самостійно записати код події для кнопки «Очистити».