Правила симуляции и модель состояний
Любая симуляция опирается на строгий математический алгоритм. В классической эпидемиологии используют модель SIR, разделяющую популяцию на восприимчивых к вирусу, зараженных и выздоровевших с приобретенным иммунитетом. В программном коде каждому состоянию назначается свой цвет спрайта. При сближении больного со здоровым программа запускает генератор случайных чисел. Если случайное значение оказывается ниже заданного порога вероятности, здоровый персонаж меняет цвет и сам начинает переносить инфекцию. Также персонажу необходим встроенный таймер, который через определенное количество секунд переводит его в статус переболевшего.
Техническая реализация алгоритма
При создании проекта в Scratch удобно применить механизм клонов одного базового спрайта. Клонам задают случайное направление движения по координатам X и Y, отскок от краев сцены и непрерывную проверку касания через блок сенсоров. Если ты пишешь проект на Python, подойдут модули Pygame или Turtle. Координаты каждого ученика хранятся в списке словарей или внутри экземпляров специального класса. Факт контакта фиксируется по геометрической формуле расстояния между центрами двух кругов, когда дистанция между ними становится меньше суммы их радиусов.
Эксперимент с масочным режимом и сбор статистики
Смысл работы заключается в контролируемом сравнении двух разных сценариев. Сначала запускается базовая симуляция без защиты, где вероятность передачи вируса при касании составляет, например, 80 процентов. Программа каждые несколько секунд считывает количество заболевших и выводит эти значения на экран. Затем вводится условие ношения масок, которое снижает вероятность заражения при контакте до 20 процентов. Сопоставление полученных данных показывает, насколько сглаживается пик эпидемии и как растягивается общее время распространения инфекции по классу.
Что проверяет преподаватель в таком проекте
Учитель информатики оценивает не красоту фоновой картинки кабинета, а чистоту программной логики и доказательность выводов. При проверке смотрят на правильность работы генератора случайных чисел, отсутствие застревания спрайтов в стенах и корректность подсчета данных в переменных. Отдельным плюсом будет визуализация результатов в виде графика эпидемической кривой, построенного прямо внутри программы или сформированного в электронных таблицах по экспортированным точкам.
Частые вопросы
Что лучше выбрать для работы, Scratch или Python?
Для 5–7 классов отлично подходит Scratch, так как в нем легко настроить движение клонов и встроенные сенсоры касания цветов. В 8–9 классах проект на Python выглядит серьезнее, позволяет точнее вычислять координаты столкновений и автоматически сохранять координаты в файлы для построения графиков.
Сколько объектов должно быть на поле симуляции?
Оптимальное количество составляет от 20 до 30 персонажей, что соответствует реальному числу учеников в школьном кабинете. Меньшее число сделает статистику случайной, а сотня движущихся объектов в Scratch приведет к заметным задержкам и искажению времени опыта.
Где взять реалистичные данные для параметров программы?
Используй открытые публикации Роспотребнадзора и научно-популярные статьи по эпидемиологии. В описании модели достаточно зафиксировать, что использование медицинских масок снижает вероятность передачи инфекции при кратковременном бытовом контакте примерно в три или четыре раза.