Смекни!
smekni.com

Розробка засобами Delphi дидактичного ілюстративного матеріалу для розвязання задачі з аналітичної (стр. 2 из 5)

Відрізок АС (та BD) називається діагоналлю даного чотирьохкутника, так як містить дві протилежні вершини.

1.2.2 Формули

По-перше, знайдемо значення за допомогою визначників:

(1)

Рівняння прямої для діагоналей АС таBD:

; (2)

;
;
.

; (3)

;
;
.

Рівняння прямої, що проходить через точки А та С:

(4)

та B та D:

(5)

Щоб знайти точку перетину діагоналей запишемо рівняння (4) та (5) у систему:

(6)

Вирішимо систему через визначення.

;
;
;
;
; (7)

Точка перетину діагоналей О має такі координати:

.

Знаходимо довжину повної діагоналі BD:

; (8)

довжину OD:

; (9)

та довжину OB:

(10)

Тепер знайдемо відношення OB та OD:

;
.(11)

1.3 Розв’язання задачі для самостійно заданих початкових даних

Задача

По введеним вершинам чотирьохкутника визначити, в якому відношенні його діагональ АС ділить діагональ BD.

Дано:

Знайти:ВідношенняOBдоOD.

Рішення:

Значення за допомогою визначників(1).

Знаходимо рівнянняпрямої для діагоналей АС таBD (формули (2) та (3)):

;
;

;
;

;
;

.
.

Рівняння прямої, що проходить через точки А та С (4):

;

та B та D (5):

.

Щоб знайти точку перетину діагоналей запишемо ці два рівняння у систему (6):

.

Вирішимо систему через визначники (7):

;
;
.

;
.

Точка перетину діагоналей О має такі координати:

.

Знаходимо довжину повної діагоналі BD (8):

;

довжину OD (9):

;

та довжину OB (10):

.

Тепер знайдемо відношення OB та OD (11):

;
.

Відповідь:діагональ АС ділить діагональ BD з відношенням 75% до25%.


2 Сценарій розв’язання задачі в Delphi

2.1 Програмування в консольному режимі

2.1.1 Блок-схема алгоритму

2.1.2 Код додатку

program Project1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

x0,y0:integer;

xa,ya,xb,yb,xc,yc,xd,yd:real;

OB,OD,D,BD:real;

X1,Y1,X2,Y2,Z1,Z2,xO,yO:real;

OBP,ODP:integer;

begin

writeln('vvedite vershihy chetyrehugolnika');

readln(xa,ya,xb,yb,xc,yc,xd,yd);

X1:=yC-yA;Y1:=xA-xC;

Z1:=xA*yC-xC*yA;

X2:=yD-yB;Y2:=xB-xD;

Z2:=xB*yD-xD*yB;

D:=X1*Y2-Y1*X2;

xO:=(Z1*Y2-Y1*Z2)/D;

yO:=(X1*Z2-Z1*X2)/D;

OB:=sqrt(sqr(xO-xB)+sqr(yO-yB));

OD:=sqrt(sqr(xO-xD)+sqr(yO-yD));

BD:=sqrt(sqr(xB-xD)+sqr(yB-yD));

OBP:=round(OB*(100/BD));

ODP:=100-OBP;

writeln('Dlina OB: ',OB:4:2);

writeln('Dlina OD: ',OD:4:2);

writeln('Otnoshenie: ',OBP,'/',ODP);

readln;

end.


2.1.3 Реакція ЕОМ

Рисунок 2 - Реакція ЕОМ

2.2 Компоненти форми та їх властивості

Створюючи дану програму я використовував різноманітні компоненти, такі як: Edit, Label, Button, GroupBox, CheckBox, PaintBox, ColorBox, ComboBox, Timer,MainMenuта OleContainer.

Таблиця 1 – Загальна характеристика компонентів:

Компонент Піктограма Панель компонентів Опис
Edit
(вікно редагування)
Standard Відображення, введення та редагування однорядкових текстів. Є можливість оформлення об'ємного бордюру. Основна властивість — Text.
Label
(позначка)
Standard Відображення тексту, який не з-змінюється користувачем. Ніякого оформлення тексту не передбачено, крім кольору позначки та тексту. Основна властивість — Caption.
Button
(командная кнопка)
Standard Використовується для створення кнопок, якими користувач виконує команди у додатку.
GroupBox
(групове вікно)
Standard Є контейнером, що об’єднує групу пов'язаних органів управління, таких, як радіокнопкі RadioButton, контрольні індикатори Checkbox і т.д.
CheckBox
(контрольний індикатор з прапорцем)
Standard Дозволяє користувачеві вмикати та вимикати опції програми.
PaintBox
(вікно для малювання)
System Використовується для створення на формі деякої області, в якій можна малювати.
ColorBox(список цветов)
Additional Спеціальний варіант ComboBox для вибору одного з системних кольорів.
ComboBox
(редактируемый список)
Standard Об’єднує функції ListBoxта Edit. Користувач може або ввести текст, або вибрати його із списку.
Timer
(таймер)
System Використовується для запуску процедур, функцій та подій у вказані інтервали часу.
MainMenu(головне меню)
Standard Дозволяє конструювати та створювати смугу головного меню форми та випадаючі меню. Компонент не-візуальний.
OLEContainer
(контейнер OLE)
System Використовується при створенні області клієнта для об'єкта OLE.

2.2.1 Edit

Компонент Edit — це однорядковий редактор (рядок), призначений для вводу користувачем деяких даних. Вміст рядку є значенням властивості Text.

Для даного компоненту маються можливості:

- редагування тексту (виділення фрагменту, перетворення виділеного тексту, чуттєвість до регістру);