Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 14:21   #1
DeadSoul
Пользователь
 
Аватар для DeadSoul
 
Регистрация: 23.11.2009
Сообщений: 11
Печаль Имитационное моделирование на Delphi

Промоделировать процесс распределения инфекции стригущего лишая по участку кожи размером n×n (n – нечетное) клеток. Предполагается, что исходной зараженной клеткой кожи является центральная. В каждый интервал времени пораженная инфекцией клетка может с вероятностью 0.5 заразить любую из здоровых соседних клеток. По прошествии шести единиц времени зараженная клетка становится невосприимчивой к инфекции, возникший иммунитет действует в течение последующих четырех единиц времени, а затем клетка оказывается здоровой. В ходе моделирования описанного процесса выдавать текущее состояние моделируемого участка кожи в каждом интервале времени, отмечая зараженные, невосприимчивые к инфекции и здоровые клетки. Проследить, как сказывается на результат моделирования изменение размеров поля и вероятность заражения.
Насколько я поняла решается наподобие игры Жизнь.
Кто-нибудь может помочь со следующей реализацией: В каждый интервал времени пораженная инфекцией клетка может с вероятностью 0.5 заразить любую из здоровых соседних клеток. По прошествии шести единиц времени зараженная клетка становится невосприимчивой к инфекции, возникший иммунитет действует в течение последующих четырех единиц времени, а затем клетка оказывается здоровой.или...со всем помочь
DeadSoul вне форума Ответить с цитированием
Старый 24.11.2009, 14:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ух... Мы подобные задачи на My GPRS расчитывали.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2009, 14:46   #3
DeadSoul
Пользователь
 
Аватар для DeadSoul
 
Регистрация: 23.11.2009
Сообщений: 11
По умолчанию

' у нас все не как у людей...
DeadSoul вне форума Ответить с цитированием
Старый 24.11.2009, 15:51   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Да просто это. Обсчет массива в цикле. Что такое вероятность 0.5? 0,5 % или 50%? И потому что значит любую? Любую одну или любую, что рядом? Единицы времени в твоем случае будут такты цикла. Пронумеруй элементы массива, ну например:
0 - пусто
1 - просто клетка организма
2 - больная клетка
3 - 9 - переболевшая клетка
10 - клетка с иммунитетом.
В конце цикла проверяешь - если клетка имеет статус от 3 до 9 то увеличиваешь его на единицу.

ЗЫ. А позже можно еще и зеленку учитывать.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 24.11.2009, 16:04   #5
DeadSoul
Пользователь
 
Аватар для DeadSoul
 
Регистрация: 23.11.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Что такое вероятность 0.5? 0,5 % или 50%? И потому что значит любую?
вероятность именно 0.5. Конечно это просто, когда понимаешь (((
DeadSoul вне форума Ответить с цитированием
Старый 24.11.2009, 16:07   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

50%

Я б еще добавил флаг десяток, чтобы одну и ту же клетку не заражать по 8 раз за обработку. Ну или просто булевский массив а после каждого хода обнулять его.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 24.11.2009, 16:10   #7
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
Конечно это просто, когда понимаешь
а что тут не понятного Utkin доступно все обьяснил!
вы не знаете что такое матрицы? или циклы?
или к чему прицепить 0.5? вы начните кодить, а в процессе, что будет не понятно спрашивайте!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 24.11.2009, 16:39   #8
DeadSoul
Пользователь
 
Аватар для DeadSoul
 
Регистрация: 23.11.2009
Сообщений: 11
По умолчанию

Со второго раза до меня дошли слова Utkin'a. Матрицы и циклы я знаю, но так получилось. что матрицы мы практически не проходили на Delphi (были они только на зачете, а от практики я была освобождена). ((((
DeadSoul вне форума Ответить с цитированием
Старый 24.11.2009, 16:59   #9
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Вот Вам матрицы: http://www.programmersforum.ru/showthread.php?t=70310
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 24.11.2009, 17:49   #10
DeadSoul
Пользователь
 
Аватар для DeadSoul
 
Регистрация: 23.11.2009
Сообщений: 11
По умолчанию

Как найти центральный элемент матрицы? Заражение ведь из центра начинается
DeadSoul вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на моделирование qaqa Microsoft Office Excel 8 20.11.2009 20:53
Имитационное моделирование процессов управления Altera Общие вопросы Delphi 6 10.06.2009 07:23
геометрическое моделирование в delphi Ledi_Kapriza Общие вопросы Delphi 7 04.12.2008 14:57
Имитационное моделирование систем массового обслуживания на Delphi или C++Builder Приватная Фриланс 4 04.12.2008 10:39