В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
viktoria050504
viktoria050504
09.07.2021 16:30 •  Информатика

Разработать программу упрощенной имитации поведения объектов. Объекты
реализуются через наследование: абстрактный класс, интерфейс → наследники.
Рабочий цикл программы:
- запускается процесс симуляции, генерируются объекты классов согласно заданию;
- симуляция завершается, выводится статистическая информация.
Для решения задачи:
- создать интерфейс 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.

Показать ответ
Ответ:
Weronica98
Weronica98
27.07.2021 14:11

ответ: 3

Объяснение:

Тот факт, что код удовлетворяет условию Фано, означает, что ни одно кодовое слово не является началом другого (например, т.к. для кодирования буквы А используется цифра 0, то никакое другое кодовое слово не может начинаться с нуля, ведь тогда кодовое слово для А будет началом другого кодового слова).

Итак, кодовые слова для букв Б, В и Г не могут начинаться с нуля. Так как код двоичный, все они начинаются с единицы. Наша задача — найти три последовательности, которые начинаются с единицы и при этом имеют наименьшее возможное число символов (цифр).

Закодировать какую-либо букву одним символом, единицей, мы не можем, потому что в этом случае уже не удастся закодировать другие буквы (из-за условия Фано; к тому же, буква, закодированная одной единицей, была бы началом кодового слова для Б (110), что опять не удовлетворяет условию Фано).

Если использовать кодовые слова длиной в 2 символа, получится закодировать только две буквы, ведь таких кодовых слова всего два: 11 и 10. Составить третье кодовое слово не позволит условие Фано.

Если используем кодовые слова длиной в 3 символа, сможем закодировать все буквы, например, присвоить букве Г кодовое слово 111, а букве Б, как и сказано в условии, кодовое слово 110, и тогда свободные слова ещё останутся. Но в этом случае остаётся ещё одно кодовое слово из двух символов, не являющееся началом другого, — 10 (т.к. А = 0, Б = 110, Г = 111). Присвоим это кодовое слово оставшейся букве В.

Итак, присвоить всем трём буквам (кроме А) кодовые слова длиной 2 символа невозможно, а если все три кодовых слова будут длиной в 3 символа, то их последовательность не будет иметь наименьшее число символов (как нужно в задании), поэтому вариант, когда одна буква закодирована двумя символами, а две оставшиеся — тремя, даёт при сложении числа символов последовательность наименьшей длины.

Получается, что длины кодовых слов букв:

А — 1 символ (0)

Б — 3 символа (110)

В — 2 символа (10)

Г — 3 символа (111)

При кодировании последовательности из этих букв (например, АБВГ, порядок в данном случае не важен) каждая буква заменяется её кодовым словом.

Значит, число символов в последовательности равно общему количеству символов во всех четырёх кодовых словах и составляет

1 + 3 + 2 + 3 = 9 (символов).

ответ: 3

0,0(0 оценок)
Ответ:
sanjar860s
sanjar860s
27.07.2021 14:11

ответ: 3

Объяснение:

Тот факт, что код удовлетворяет условию Фано, означает, что ни одно кодовое слово не является началом другого (например, т.к. для кодирования буквы А используется цифра 0, то никакое другое кодовое слово не может начинаться с нуля, ведь тогда кодовое слово для А будет началом другого кодового слова).

Итак, кодовые слова для букв Б, В и Г не могут начинаться с нуля. Так как код двоичный, все они начинаются с единицы. Наша задача — найти три последовательности, которые начинаются с единицы и при этом имеют наименьшее возможное число символов (цифр).

Закодировать какую-либо букву одним символом, единицей, мы не можем, потому что в этом случае уже не удастся закодировать другие буквы (из-за условия Фано; к тому же, буква, закодированная одной единицей, была бы началом кодового слова для Б (110), что опять не удовлетворяет условию Фано).

Если использовать кодовые слова длиной в 2 символа, получится закодировать только две буквы, ведь таких кодовых слова всего два: 11 и 10. Составить третье кодовое слово не позволит условие Фано.

Если используем кодовые слова длиной в 3 символа, сможем закодировать все буквы, например, присвоить букве Г кодовое слово 111, а букве Б, как и сказано в условии, кодовое слово 110, и тогда свободные слова ещё останутся. Но в этом случае остаётся ещё одно кодовое слово из двух символов, не являющееся началом другого, — 10 (т.к. А = 0, Б = 110, Г = 111). Присвоим это кодовое слово оставшейся букве В.

Итак, присвоить всем трём буквам (кроме А) кодовые слова длиной 2 символа невозможно, а если все три кодовых слова будут длиной в 3 символа, то их последовательность не будет иметь наименьшее число символов (как нужно в задании), поэтому вариант, когда одна буква закодирована двумя символами, а две оставшиеся — тремя, даёт при сложении числа символов последовательность наименьшей длины.

Получается, что длины кодовых слов букв:

А — 1 символ (0)

Б — 3 символа (110)

В — 2 символа (10)

Г — 3 символа (111)

При кодировании последовательности из этих букв (например, АБВГ, порядок в данном случае не важен) каждая буква заменяется её кодовым словом.

Значит, число символов в последовательности равно общему количеству символов во всех четырёх кодовых словах и составляет

1 + 3 + 2 + 3 = 9 (символов).

ответ: 3

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота