mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

Нужна аналогичная программа (надстройка, макрос) для Excel?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

Создание модели хищник-жертва средствами Excel

Скриншот листа Excel с динамической моделью системы

Модель клеточного автомата, реализованная средствами VBA в Excel (с использованием модуля класса) 

В таблице произвольного размера клетки могут быть в трех состояниях: пустая (без цвета), травоядное (зеленый цвет ячейки), хищник (красный цвет ячейки).  

Поведение системы характеризуется следующими параметрами:

  • особь может переместиться на любую клетку, имеющую с данной общую сторону. Направление выбирается случайно из возможных свободных.
  • особь может оставить потомство в той клетке, из которой она переместилась. Потомство появляется периодически, период является параметром.
  • если особь является «хищной», то она может поглотить свою жертву, при этом перемещаясь на место жертвы.
  • особь живет ограниченное количество времени, называемое временем жизни особи – так же параметр.
  • если «хищная» особь не находит себе пищи в течение определенного времени (называемого временем голодной смерти), то она погибает.
  • время голодной смерти является параметром.

 

Для запуска программы нажмите зелёную кнопку.

Предварительно вы можете изменить параметры в желтых ячейках.

ВложениеРазмерЗагрузкиПоследняя загрузка
SacrificeModel.xls70.5 КБ1254 дня 18 часов назад

Комментарии

Спасибо большое заработало

Этот макрос я писал очень давно, - потому, могут быть проблемы с запуском, если Windows не русскоязычная
Поменяйте все русские слова в коде на английские, - должно заработать

Добрый день! Не запускается макрос. "Cannot run macro 'SacrificeModel.xls!НачатьДвижение'. The macro may not be available in this workbook or all macros may be disabled". Проверил макросы включены, но в коде отображаются крякозабры вместо русских букв, думаю может из-за этого. Попробовал запустить на русской версии excel, тоже самое.

Ну нельзя же так часто размножаться)
Зато теперь вы видите, что чрезмерно частое размножение не приводит ни к чему хорошему)
Надо будет жене показать - может, пореже станет приставать)

PS: Я писал этот макрос, когда только начинал осваивать VBA.
Соответственно, в макросе не в полной мере реализованы проверки на корректность тех или иных значений,
да и тестированием программы вплотную никто не занимался - это ведь студенческое задание, главное для заказчика было - сдать работу преподавателю.

Так что этот макрос стоит рассматривать прежде всего как демонстрацию возможностей Excel, а не как рабочую программу.

Поставил период размножения 1 и что-то там зациклилось :)

Все здорово сделано. Моделировал эту задачу в университете, правда без визуализации. Только как мне кажется выполнять подобные задачи на VBA не совсем удобно. Почему не используете например Delphi?

Только как мне кажется выполнять подобные задачи на VBA не совсем удобно. Почему не используете например Delphi?

По нескольким причинам. Например:

  • я не знаком с Delphi - работаю только с VB и VBA (соответственно, VBA мне намного удобнее по этой причине)
  • это было задание очередного студента - а в том задании было чётко сказано, что реализовать решение надо средствами Microsoft Excel

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
                 ____   _____   ____    _ 
_ _ ____ / ___| | ___| | _ \ (_)
| | | | |_ / | | _ | |_ | | | | | |
| |_| | / / | |_| | | _| | |_| | | |
\__,_| /___| \____| |_| |____/ |_|
Введите код, изображенный в стиле ASCII-арт.