Постановка завдання  
   У прямокутній рамці, рівній поверхні екрану, рухаються N м'ячів, радіусами r1, ..., rn. Вони соударяются між собою, вдаряються об краї рамки. Початкове положення і вектор швидкості для кожного кулі випадкові. Написати програму, що моделює і відображає на екрані їх рух. Удари вважати абсолютно пружними, силу тертя не враховувати. br/> 
  Специфікація  
   Вхідні дані: 
  Інформація, що вводиться в спеціальному вікні: для кожного графічного об'єкта задається радіус, складові. 
  Вихідні дані: 
  Графічний інтерфейс у вигляді діалогового вікна дозволяє додавати м'ячі, під засобом виклику спеціального діалогового вікна, змінювати дані прямо в процесі роботи програми без її зупинки, переривати програму. 
  Програма повинна: ​​
  Реалізувати переміщення n-ого кількості м'ячів які відштовхуються від кордонів заданій області і один від одного згідно з правилами пружного удару. 
  Методика рішення 
  Написання програми вироблялося в три основних етапи: розробка ієрархії класів, опис власне алгоритму програми, розробка графічного інтерфейсу та об'єднання двох перших пунктів в єдине ціле. 
				
				
				
				
			  Завдання можна розбити на 3 блоки: 
  Завдання початкових параметрів (який відбувається в режимі діалогу). 
  Безпосередньо роботи програми, тобто реалізація пружного зіткнення м'ячів. 
  Можливість додавання об'єктів і зміни даних під час роботи програми. 
  Завдання початкових параметрів припускає, перш за все, ініціалізацію масиву об'єктів класу, визначення деяких характеристик кожного об'єкта відповідно до полями які приписані йому в описі класу. 
  Безпосередньо робота програми передбачає графічне відображення на екрані монітора зіткнення м'ячів з кордоном певній галузі і один з одним. Алгоритм реалізації даної частини програми буде описаний нижче. p align="justify"> Також у програмі реалізована можливість додавати, змінювати і видаляти м'ячі прямо в процесі виконання програми. Створення та видалення об'єктів відбувається під засобом виклику певних методів, а зміна властивостей кожного об'єкта за допомогою візуальних компонентів. br/> 
  Організація даних  
   У програмі описано два класи TBall і TBalls. p align="justify"> Клас TBall містить поля, методи і властивості. p align="justify"> Поля: 
  _x, _y: integer; - координати центру м'яча по x і y. 
  _rad: integer; - радіус м'ячі. 
  _color: integer; - колір м'яча. 
  _dx: integer; - вектор ...