Слайд 2Дано
Есть вирус, вероятность заражения которым при контакте – 0,2
Инкубационный период – 3
![Дано Есть вирус, вероятность заражения которым при контакте – 0,2 Инкубационный период](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-1.jpg)
дня
После этого пациент болеет 7 дней
Через 7 дней пациент умирает с вероятностью 0,1
Переболевшие приобретают иммунитет
За время болезни пациент распространяет вирус
Слайд 3Класс вирус
Вероятность заражения
Инкубационный период
Болезнь
Вероятность летального исхода
![Класс вирус Вероятность заражения Инкубационный период Болезнь Вероятность летального исхода](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-2.jpg)
Слайд 4Класс пациент
Идентификатор
Состояние
Здоров
Носитель вируса в инкубационной стадии
Болен
Приобрел иммунитет
Умер
![Класс пациент Идентификатор Состояние Здоров Носитель вируса в инкубационной стадии Болен Приобрел иммунитет Умер](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-3.jpg)
Слайд 5Класс пациент
Идентификатор
Жив/мертв
Заражен / не заражен
Срок от начала заражения
По вирусу определяем:
Инкубационный период
Открытое течение
![Класс пациент Идентификатор Жив/мертв Заражен / не заражен Срок от начала заражения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-4.jpg)
болезни
Если пациент жив после болезни, то он обладает иммунитетом
Слайд 6Класс «Много пациентов»
Отражает состояние пациентов на определенном шаге во времени
![Класс «Много пациентов» Отражает состояние пациентов на определенном шаге во времени](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-5.jpg)
Слайд 7Класс «Эпидемия»
Считает время
На каждом шаге считает:
Новых зараженных
Меняет сроки болезни зараженным
Убивает / выздоравливает
![Класс «Эпидемия» Считает время На каждом шаге считает: Новых зараженных Меняет сроки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-6.jpg)
Считает статистику
Слайд 8Общий алгоритм
Создаем вирус
Создаем пациентов
«Заражаем» нескольких
Запускаем цикл:
Перемешиваем пациентов
«Заражаем» контактирующих, если у них нет
![Общий алгоритм Создаем вирус Создаем пациентов «Заражаем» нескольких Запускаем цикл: Перемешиваем пациентов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-7.jpg)
иммунитета и они живы
У зараженных – увеличиваем срок болезни на 1
Убиваем переболевших или придаем им иммунитет
Считаем статистику
Повторяем
Слайд 9Как перемешать пациентов и найти контактирующих?
Один из вариантов! (Возможны и другие)
Пробегаем по
![Как перемешать пациентов и найти контактирующих? Один из вариантов! (Возможны и другие)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-8.jpg)
пациентам и находим зараженного
Случайным образом генерируем 5-10 номеров контактирующих
Если они живы и без иммунитета – заражаем их с заданной вероятностью
Слайд 11namespace ConsoleApp6
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Эпидемия");
Console.ReadKey();
![namespace ConsoleApp6 { class Program { static void Main(string[] args) { Console.WriteLine("Эпидемия"); Console.ReadKey(); } } }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-10.jpg)
}
}
}
Слайд 18Добавлен метод для заполнения массива пациентов
![Добавлен метод для заполнения массива пациентов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/867974/slide-17.jpg)