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

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

a:=StrToInt (Edit1.Text);

Cosinus:=Cos(a*pi/180);

Panel1.Caption:=FloatToStr(Cosinus);

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

a:integer;

Cosinus:extended;

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

a:=StrToInt (Edit1.Text);

if (a=90) or (a=270) then Showmessage(‘Не існує')

else

begin

Tangens:=tan(a*pi/180);

Panel1.Caption:=FloatToStr(Tangens);

end;

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

a:integer;

Tangens:extended;

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

a:=StrToInt (Edit1.Text);

if (a=180) or (a=360) then Showmessage(‘Не існує')

else

begin

Cotangens:=Cotan(a*pi/180);

Panel1.Caption:=FloatToStr(Cotangens);

end;

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

a:integer;

Cotangens:extended;

19. Створюю ярлички-підказки для всіх елементів додатку . Для цього:

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

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

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

ЛІСТИНГ

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

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

uses

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

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

type

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

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    Edit1: TEdit;

    Memo1: TMemo;

    Label1: TLabel;

    Label2: TLabel;

    Button1: TButton;

    Panel1: TPanel;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

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

    procedure BitBtn2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

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

  Form1: TForm1;

implementation

{$R *.DFM}

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

label go_end; // мітка

var i:integer; //блок опису змінних

begin

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

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('Помилка!');// присвоєння властивості Lines компоненту Memo1 повідомлення про помилку

go_end:end;

end;

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

begin

Edit1.Clear; //очищення  Edit1

Memo1.Lines.Clear; //очищення  Memo1

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

end;

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

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

a:integer;

sinus:extended;

begin

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

sinus:=sin(a*pi/180); // формула знаходження синуса кута

Panel1.Caption:=FloatToStr(sinus); // виведення отриманого значення на Panel1

end;

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

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

a:integer;

Cosinus:extended;

begin

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

Cosinus:=Cos(a*pi/180); // формула знаходження косинуса кута

Panel1.Caption:=FloatToStr(Cosinus); // виведення отриманого значення на Panel1

end;

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

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

a:integer;

Tangens:extended;

begin

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

if (a=90) or (a=270) then Showmessage('Помилка) // умова при якій тангенс не існує

else

begin

Tangens:=tan(a*pi/180); // формула знаходження тангенса кута

Panel1.Caption:=FloatToStr(Tangens); // виведення отриманого значення на Panel1

end;

end;

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

var

a:integer;

Cotangens:extended;

begin

a:=StrToInt (Edit1.Text);

if (a=180) or (a=360) then Showmessage('Помилка ') // умова при якій котангенс не існує

else

begin

Cotangens:=Cotan(a*pi/180); // формула знаходження котангенса кута

Panel1.Caption:=FloatToStr(Cotangens); // виведення отриманого значення на Panel1

end;

end;

end.

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

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

День7

Варіант 8

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

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

Задача: За допомогою ряду Тейлора, (ln(x)=(x-1)/1-(x-2)2/2+(x-1)3/3-(x-1)4/4-(x-1)5/5+…-…знайти значення функції ln(x) (0<x<2) для введеного значення х із введеною точністю (від 0.0001 до 0.1).

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

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

·  2 рядки  введення                              Edit1, Edit2

·  3 мітки                                                Label1, Label2, Label3

·  2  кнопки                                            BitBtn1, BitBtn2

·  Поле                                                   Memo1

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