Файл: Курсовой проект дисциплина Инструментальные средства информационных систем Наименование темы Падение метеорита.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 26
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Ударной волной было уничтожено 10% деревьев, ещё почти 350 деревьев сгорело.
Четвертый эксперимент.
Ударной волной повреждено почти 150 деревьев, ещё больше 100 деревьев сгорело.
Пятый эксперимент.
При максимальном размере метеорита ударной волной сносится половина леса. Ещё 165 деревьев сгорает от пожара. Популяция кроликов почти уничтожена за счёт пожара и нехватки еды.
При увеличении размера метеорита можно увидеть, что от пожара уничтожается всё меньше деревьев, а от ударной волны – всё больше. На популяцию кроликов падение метеорита почти не влияет, но, когда в лесу не остаётся еды, они начинают вымирать.
3.2 Вторая серия экспериментов.
Проведём исследование модели меняя количество деревьев. Размер метеорита выставим средний.
Первый эксперимент.
При минимальном количестве деревьев, пожар до них не доходит.
Второй эксперимент.
Больше, чем в половине случаев пожар всё ещё не влияет на количество деревьев. Ударная волна уничтожает треть леса.
Третий эксперимент.
Ударной волной уничтожается 100 деревьев. Почти всегда пожар сжигает ещё около 250, иногда не доходя до леса, либо уничтожая почти весь.
Четвертый эксперимент.
Ударной волной уничтожается около 130 деревьев. Почти всегда лес почти полностью сгорает.
Пятый эксперимент.
Ударной волной уничтожается около 130 деревьев. Почти всегда лес почти полностью сгорает. Популяция кроликов почти вымирает.
При увеличении густоты деревьев пожар оказывает всё большее влияние на количество деревьев, сжигая и траву. При максимальном количестве деревьев, кроликов почти не остаётся.
3.3. Третья серия экспериментов. Итог.
В третьей серии экспериментов, изменяя количество кроликов, итоговая ситуация остаётся почти всегда одинаковой. Однако, когда кроликов нет, лес всегда сгорает.
После проведения экспериментов было выяснено, что на последствия падения метеорита влияют только размер самого метеорита и густота леса. Чем плотнее друг к другу расположены деревья, тем больше их сгорает. Чем больше метеорит, тем меньше деревьев успевает сгореть от пожара, и тем больше их уничтожается от ударной волны.
4 ОЦЕНКА РАЗРАБОТАННОЙ ПРОГРАММНОЙ МОДЕЛИ
Скорость распространения пожара в густом лесу чрезвычайно высока, поэтому они обычно сгорают в большом количестве. Распространению пожара способствует близость расположения деревьев.
По результатам проделанных экспериментов над созданной моделью, можно сделать вывод, что на распространение информации в сети влияет множество факторов.
Отсюда можно сделать вывод, что модель сделана правильно и работоспособна.
ЗАКЛЮЧЕНИЕ
В результате выполнения данного курсового проекта была разработана модель в программе NetLogo падение метеорита и его последствия.
Была описана предметная область, а именно структура, состав и характеристик входящих в систему объектов, предполагаемые взаимосвязи и ограничения.
Разработана и реализована программная модель средствами языка NetLogo c подробным описанием структуры программной модели, выбранных классов агентов, применяемых подпрограмм, передаваемых параметров и т.п.
Проведено исследование разработанной программной модели и проведена оценка этой модели.
Исходя из проделанной работы, можно сделать вывод, что цель курсовой работы была достигнута.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
-
Симоненко А.Н. Метеориты - осколки астероидов. М: Наука -
Воронцов-Вельяминов Б.А. / Астрономия // М.:Просвещение -
И. А. Климишин . Астрономия наших дней. - М.: «Наука». -
NetLogo 6.3.0 User Manual URL: https://ccl.northwestern.edu/netlogo/docs/NetLogo%20User%20Manual.pdf
ПРИЛОЖЕНИЕ
globals [grass] ;;
отслеживает показатель количества травы
breed [rabbits rabbit]
breed [trees tree]
breed[fires fire]
rabbits-own [ energy ];; волки и кролики имеют энергию;
patches-own [countdown] ;; переменная, необходимая роста травы
to setup
clear-all
ask patches [
set pcolor green
set countdown grass-regrowth-time
]
set-default-shape trees "tree"
create-trees initial-number-trees [
set color lime - 1
set countdown trees-regrowth-time
setxy (random-xcor) (random-ycor)
]
set-default-shape rabbits "rabbit"
create-rabbits initial-number-rabbit [
set color yellow
set size 1 ;; easier to see
setxy random-xcor random-ycor
set energy random (2 * grass-energy)
]
set-default-shape fires "fire"
if drop-meteor [
create-fires initial-meteor-size [
set color red
setxy (random 3) (random 3)
let kill trees in-radius (2 + initial-meteor-size)
if kill != nobody
[ask kill [die] fd 1
hatch 1 [rt random 360 fd (2 + initial-meteor-size)]]
let burn patches in-radius (2 + initial-meteor-size)
if pcolor = green
[ask burn [set pcolor brown]
hatch 1 [rt random 360 fd (2 + initial-meteor-size)]]
]]
display-labels
set grass count patches with [pcolor = green]
reset-ticks
end
to go
if count fires > 0 [
ask rabbits [
move
set energy energy - 1
eat-grass
reproduce-rabbits
death
]
ask fires [
kill-trees
kill-rabbits
burn-grass
]
ask trees [grow-trees]
ask patches [ grow-grass ]
set grass count patches with [pcolor = green]
tick
display-labels]
end
to burn-grass
let burn one-of patches in-radius 1
ifelse pcolor = green
[face burn ask burn [set pcolor brown] fd 1
hatch 1 [rt random 360 fd 1]]
[die]
end
to kill-trees
let kill one-of trees in-radius 1
if kill != nobody
[face kill ask kill [die] fd 1
hatch 1 [rt random 360 fd 1]]
end
to kill-rabbits
let kill one-of rabbits in-radius 1
if kill != nobody
[face kill ask kill [die] fd 1
hatch 1 [rt random 360 fd 1]]
end
to move
rt random 50
lt random 50
fd 1
set energy energy - 0.5
end
to eat-grass ;; процедура поедания травы кроликами
if pcolor = green
[ set pcolor brown
set energy energy + grass-energy ]
end
to reproduce-rabbits ;; размножение кроликов
if animals-resurrect [
if random-float 100 < rabbit-reproduce [
set energy (energy / 2)
hatch 1 [ rt random-float 360 fd 1 ]
]]
end
to death ;; процедура смерти агентов
if energy < 0 [ die ]
end
to grow-trees
if plants-resurrect [
let grow one-of patches in-radius 1
ifelse countdown <= 0
[hatch 1 [rt random 360 fd 2]
set countdown trees-regrowth-time]
[set countdown countdown - 1]]
end
to grow-grass ;; процедура роста травы
if plants-resurrect [
if pcolor = brown [
ifelse countdown <= 0
[ set pcolor green
set countdown grass-regrowth-time ]
[ set countdown countdown - 1 ]
]]
end
to display-labels
ask turtles [ set label " " ]
if show-energy? [
ask rabbits [ set label round energy ]
]
End