Разработать программу упрощенной имитации поведения объектов. Объекты
 реализуются через наследование: абстрактный класс, интерфейс → наследники.
 Рабочий цикл программы:
 - запускается процесс симуляции, генерируются объекты классов согласно заданию;
 - симуляция завершается, выводится статистическая информация.
 Для решения задачи:
 - создать интерфейс IBehaviour, задающий поведение объекта;
 - создать иерархию классов, определяющие объекты по варианту и реализующие
 интерфейс IBehaviour.
 - создать класс Habitat, определяющий размер рабочей области и хранящий список
 объектов, с параметрами заданными вариантом. Предусмотреть в классе метод Update,
 вызывающийся по таймеру и получающий на вход время от начала симуляции. В
 данном методе должны генерироваться новые объекты и помещаться в поле визуализации в
 случайном месте. Визуализация объекта – схематично.
 Рабочее окно программы – область визуализации среды обитания объектов.
 3. Симуляция должна запускаться по клавише S и останавливаться по клавише E. При
 остановке симуляции список уничтожается. Время симуляции должно отображаться текстом в
 области визуализации и скрываться/показываться по клавише T;
 4. По завершению симуляции в поле визуализации должна выводиться информация о
 количестве и типе сгенерированных объектов, а также время симуляции. Текст должен быть
 форматирован, т.е. выводиться с использованием разных шрифтов и цветов.
 5. Параметры симуляции задаются в классе Habitat.
 6. Для создания «интеллекта» в программе
 - создать абстрактный класс BaseAI, описывающий «интеллектуальное поведение»
 объектов по варианту. Класс должен быть выполнен в виде отдельного потока;
 - реализовать класс BaseAI для каждого из видов объекта, включив в него поведение,
 описанное в индивидуальном задании по варианту;
 - синхронизовать работу потоков расчета интеллекта объектов с их рисованием. Рисование
 должно остаться в основном потоке. Синхронизация осуществляется через передачу данных в
 основной поток;
 - добавить в панель управления кнопки для остановки и возобновления работы интеллекта
 каждого вида объектов. Реализовать через засыпание/пробуждение потоков.
 1. Объект – кролик. Бывают 2 видов: обыкновенный и альбинос. Обыкновенные кролики рождаются
 каждые N1 секунд с вероятностью P1. Альбиносы рождаются каждые N2 секунд, при условии, что их
 количество менее K% от общего числа кроликов, в противном случае – не рождаются вовсе.
 2. Обыкновенные кролики двигаются хаотично со скоростью V. Хаотичность достигается
 случайной сменой направления движения раз в N секунд.
 3. Альбиносы двигаются по оси X от одного края области обитания до другого со скоростью
 V.
                                                            
                             
                         
                    
a: array[0..10] of integer;
i, n, k: integer;
begin
for i := 0 to 10 do
A[i] := i;
PrintLn(a);
for i := 1 to 11 do
begin
A[i - 1] := A[11 - i];
PrintLn(a);
end;
end.
Трасировка второго цикла А
[10,1,2,3,4,5,6,7,8,9,10]
[10,9,2,3,4,5,6,7,8,9,10]
[10,9,8,3,4,5,6,7,8,9,10]
[10,9,8,7,4,5,6,7,8,9,10]
[10,9,8,7,6,5,6,7,8,9,10]
[10,9,8,7,6,5,6,7,8,9,10]
[10,9,8,7,6,5,6,7,8,9,10]
[10,9,8,7,6,5,6,7,8,9,10]
[10,9,8,7,6,5,6,7,8,9,10]
[10,9,8,7,6,5,6,7,8,9,10]
[10,9,8,7,6,5,6,7,8,9,10]