Файл: Курсовой проект дисциплина Инструментальные средства информационных систем Наименование темы Падение метеорита.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 26

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Ударной волной было уничтожено 10% деревьев, ещё почти 350 деревьев сгорело.

Четвертый эксперимент.



Ударной волной повреждено почти 150 деревьев, ещё больше 100 деревьев сгорело.

Пятый эксперимент.





При максимальном размере метеорита ударной волной сносится половина леса. Ещё 165 деревьев сгорает от пожара. Популяция кроликов почти уничтожена за счёт пожара и нехватки еды.

При увеличении размера метеорита можно увидеть, что от пожара уничтожается всё меньше деревьев, а от ударной волны – всё больше. На популяцию кроликов падение метеорита почти не влияет, но, когда в лесу не остаётся еды, они начинают вымирать.

3.2 Вторая серия экспериментов.

Проведём исследование модели меняя количество деревьев. Размер метеорита выставим средний.

Первый эксперимент.



При минимальном количестве деревьев, пожар до них не доходит.

Второй эксперимент.



Больше, чем в половине случаев пожар всё ещё не влияет на количество деревьев. Ударная волна уничтожает треть леса.

Третий эксперимент.



Ударной волной уничтожается 100 деревьев. Почти всегда пожар сжигает ещё около 250, иногда не доходя до леса, либо уничтожая почти весь.

Четвертый эксперимент.



Ударной волной уничтожается около 130 деревьев. Почти всегда лес почти полностью сгорает.

Пятый эксперимент.





Ударной волной уничтожается около 130 деревьев. Почти всегда лес почти полностью сгорает. Популяция кроликов почти вымирает.


При увеличении густоты деревьев пожар оказывает всё большее влияние на количество деревьев, сжигая и траву. При максимальном количестве деревьев, кроликов почти не остаётся.


3.3. Третья серия экспериментов. Итог.




В третьей серии экспериментов, изменяя количество кроликов, итоговая ситуация остаётся почти всегда одинаковой. Однако, когда кроликов нет, лес всегда сгорает.

После проведения экспериментов было выяснено, что на последствия падения метеорита влияют только размер самого метеорита и густота леса. Чем плотнее друг к другу расположены деревья, тем больше их сгорает. Чем больше метеорит, тем меньше деревьев успевает сгореть от пожара, и тем больше их уничтожается от ударной волны.

4 ОЦЕНКА РАЗРАБОТАННОЙ ПРОГРАММНОЙ МОДЕЛИ

Скорость распространения пожара в густом лесу чрезвычайно высока, поэтому они обычно сгорают в большом количестве. Распространению пожара способствует близость расположения деревьев.

По результатам проделанных экспериментов над созданной моделью, можно сделать вывод, что на распространение информации в сети влияет множество факторов.

Отсюда можно сделать вывод, что модель сделана правильно и работоспособна.

ЗАКЛЮЧЕНИЕ

В результате выполнения данного курсового проекта была разработана модель в программе NetLogo падение метеорита и его последствия.

Была описана предметная область, а именно структура, состав и характеристик входящих в систему объектов, предполагаемые взаимосвязи и ограничения.

Разработана и реализована программная модель средствами языка NetLogo c подробным описанием структуры программной модели, выбранных классов агентов, применяемых подпрограмм, передаваемых параметров и т.п.

Проведено исследование разработанной программной модели и проведена оценка этой модели.

Исходя из проделанной работы, можно сделать вывод, что цель курсовой работы была достигнута.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Симоненко А.Н. Метеориты - осколки астероидов. М: Наука

  2. Воронцов-Вельяминов Б.А. / Астрономия // М.:Просвещение

  3. И. А. Климишин . Астрономия наших дней. - М.: «Наука».

  4. 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