Звіт за обчислювальну практику, страница 5

- виділяю компонент і до його властивості Hint вводжу пояснювальний текст;

- встановлюю властивість ShowHint (показ ярличка) у значення true.

13. Компілюю створений додаток, зберігаю його.

ЛІСТИНГ

unit Unit1; //назва проекта

interface // описання інтерфейсу

uses

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

  StdCtrls, Buttons; // підключення бібліотек

Type 

  TForm1 = class(TForm) // описання класу

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    Edit1: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Edit5: TEdit;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    BitBtn3: TBitBtn;

    procedure BitBtn2Click(Sender: TObject); // опис процедури

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var //блок опису змінних

  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BitBtn2Click(Sender: TObject); //обробка подіі onclick  на компоненті BitBtn2

begin

Edit1.Clear; // очищення поля введення Edit1

Edit2.Clear;

Edit3.Clear;

Edit4.Clear;

Edit5.Clear;

Label2.Caption:=''; // очищення Label2

Edit1.SetFocus; // встановлення фокусу компоненту Edit1

end;

procedure TForm1.BitBtn1Click(Sender: TObject); //обробка подіі onclick  на компоненті BitBtn1

 var //блок опису змінних

a,b,c,d,e,max,k:integer;

begin

k:=0;

a:=StrToInt(Edit1.text); // присвоєння змінній а значення поля Edit1; StrToInt – переведення рядкового типу даних в цілочисловий

b:=StrToInt(Edit2.text);

c:=StrToInt(Edit3.text);

d:=StrToInt(Edit4.text);

e:=StrToInt(Edit5.text);

if a<0 then max:=a // умовний оператор (визначення максимального числа)

else if b<0 then max:=b

else if c<0 then max:=c

else if d<0 then max:=d

else if e<0 then max:=e

else

        begin

        Label2.Caption:='Від’ємних чисел немає'; ; присвоєння властивості Caption компонента Label1 значення

          k:=1;// значення к при якому всі числа додатні

        end;

if k=0 then

begin

if b<0 then if b>max then max:=b;

if c<0 then if c>max then max:=c;

if d<0 then if d>max then max:=d;

if e<0 then if e>max then max:=e;

Label2.Caption:=IntToStr(max); //виведення на Label2 отриманого результату

 end;

end;

procedure TForm1.BitBtn3Click(Sender: TObject); //обробка подіі onclick  на компоненті BitBtn3

begin

Close; // процедура завершення роботи додатку

end;

end.

Вигляд форми:


            Результати виконання:


                                                                    


 


День6

Варіант 8

Постановка задачі

Самостійно розробити форму для проекту, що реалізує розв’язання даної задачі. Передбачити наявність зручного інтерфейсу користувача, який дозволяє прочитати умову задачі, що її розв’язує проект, підказки щодо того, в яке вікно що треба вводити, коментарі в разі некоректних дій при введенні даних, тощо. Проект повинен мати так званий “захист від дурня”, тобто в разі введення неправильного значення вхідної змінної проект має повідомляти про помилку, очищувати вікна і пропонувати користувачеві ввести правильні вхідні дані. Перевірити проект для різних наборів вхідних даних, у тому числі і некоректних, після чого записати його до окремої папки з назвою Day6. Папку записати до персональної флеш-карти пам’яті..

Задача: Ввести значення кута у градусах (від 0 до 180), вивести тип даного кута (0-90 – гострий, 90-180 – тупий, 90 – прямий, 180 – розгорнутий) і обчислити для нього значення основних тригонометричних функцій (sin, cos, tg, ctg). Передбачити спеціальні повідомлення, коли якась функція набуває значення ¥.

Опис форми та її компонентів

На формі міститься:

·  Рядок  введення                               Edit1

·  2 міткиLabel1, Label2

·  2  кнопки                                          BitBtn1, BitBtn2

·  4 кнопки                                            Button1, Button2, Button3, Button4

·  Поле                                                  Memo1

·  Панель                                              Panel1

Опис алгоритму розв’язання задачі

1. Проектую розташування додатку всередині екрану (Натискаю на форму-Object Inspector-Properties-Position: poScreenCenter)  і встановлюю заборону зміни  його розмірів (Натискаю на форму-Object Inspector-Properties-BorderStyle: bsDialog).

2. Зменшую розмір форми до розумних розмірів.

3. Додаю  на порожню форму Рядок  введення  Edit1, 2 мітки  Label, 2 кнопки BitBtn, 4 кнопки Button1, Button2, Button3, Button4, Поле Memo1, Панель                                                Panel1  та розташовую їх зручним  чином. 

4. Клацаю  мишею по формі, переходжу до Інспектора Об’єктів і задаю властивість Caption форми: Визначення типу кута за його градусною мірою.

5. Змінюю властивість Caption кнопки BitBtn1 на Визначення типу кута, кнопки BitBtn2 на Очищення.

6.Задаю властивість Caption для міток Label1 – Введіть значення міри кута, Label2 – Тип кута.

7. Очищую значення властивості Text компоненту  Edit1, властивість Lines поля  Memo1, властивість Caption панелі  Panel1.

8.Задаю властивість Caption для кнопок  Button1, Button2, Button3, Button4 відповідно sin, cos, tg, cotg.

9. До обробника події OnClick кнопки BitBtn1 вводжу такий програмний код:

label go_end;

var i:integer;

begin

i:=StrToInt(Edit1.Text);

case i of

0..89:Memo1.Lines.Add('Гострий');

90:Memo1.Lines.Add('Прямий');

91..179:Memo1.Lines.Add('Тупий');

180:Memo1.Lines.Add('Розгорнутий);

else

Memo1.Lines.Add('Помилка!');

go_end:end;

10. До обробника події OnClick кнопки BitBtn2 вводжу такий програмний код Edit1.Clear;

Memo1.Lines.Clear;

Panel1.Caption:='';

11. До обробника події OnClick кнопки Button1 вводжу такий програмний код :

a:=StrToInt (Edit1.Text);

sinus:=sin(a*pi/180);

Panel1.Caption:=FloatToStr(sinus);

12. До розділу var модуля дописую:

a:integer;

sinus:extended;;