ункція Sqr НЕ Дає Бажанов результату - вона НЕ вірно працює з занадто великими числами, что вінікають в результаті ОБРОБКИ координат про єктів по запропонованому в работе алгоритмом.
Функція GetLength, что отрімує на вході два про єкта типом TPoint, повертає відстань между точками, Чиї координат та візначені цімі про єктами.
Таким чином реалізовано ієрархію класів, основою Якої є TListItem и TList, что Забезпечує Програмі велику гнучкість, та TShape и TShapeLst, что Забезпечує підтрімку графічніх про єктів и роботи з ними .
Короткий описание методів описом у Програмі класів з обгрунтуванням використаних алгорітмів. Так як реалізація власне Завдання на курсову роботу ПОЧИНАЄТЬСЯ з класу TShape, є сенс НЕ розглядаті класи TList и TListItem особливо докладно, смороду відповідають за нізькорівневі Операції з пам яттю, ее віділенням та звільненням для про єктів.
Методи класу TShape НЕ відрізняються Нічим ВАРТА уваги. Їх дія Очевидне і НЕ потребує Додатковий пояснень. p align="justify"> Методи TLine теж віконують Тільки службову функцію ініціалізації про єктів класу и їх промальовування.
Клас TShapeLst описів як ядро ​​и базовий клас будь-якого списку фігур, того его єдиний неабстрактне метод Repaint просто віклікає метод Draw шкірного з ЕЛЕМЕНТІВ списку, перебіраючі їх від Першого (FirstItem) до последнего (Item-> ; Next == 0). Реалізація власне Завдання на курсову роботу ПОЧИНАЄТЬСЯ Тільки з класу TTriangleLst. Его метод Generate генерує завданні як вхідній параметр кількість ЕЛЕМЕНТІВ списку з довільнімі координатами. Змістовній алгоритм відсутній, а маштаб Розмірів про єктів Вибраний довільно, и НЕ заперечує умові.
Метод LoadFromFile є альтернативою методу Generate и с помощью звичайна функцій роботи з файлами и потоками Заповнює раніше Збереження на диску список відрізків. SaveToFile Виконує роль, протилежних методу LoadFromFile - зберігає на диску згенерований методом Generate список ЕЛЕМЕНТІВ. p align="justify"> За помощью ціх трьох методів реалізовано зв язок между елементами и їх координатами у файл.
Методом SetBiggSmall ініціалізується поле Smaller класу TTriangleLst. За таким алгоритмом: перебіраючі ВСІ відрізкі від іншого до последнего нужно порівняті їх з шкірними відрізком (від Першого - до последнего) у переліку (окрім самого себе). У разі, ЯКЩО відрізок менший від Smaller (что спочатку вказує на перший елемент списку) то Smaller змінює свое значення на значення активної на даній ітерації елементами списку. p align="justify"> Функція Cross є основою програми, вона повертає ...