Моделирование экологических систем в среде NetLogo на уроках информатики в средней школе

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 17.07.2018
Размер файла 673,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Моделирование экологических систем в среде NetLogo на уроках информатики в средней школе

№62-3, 30.03.2017

Педагогические науки

Векслер Виталий Абрамович, кандидат наук, доцент, доцент

Саратовский государственный университет им Н. Г. Чернышевского

В статье рассматривается вопрос изучения основ компьютерного моделирования в школе на основе проектирования децентрализованных систем в среде мультиагентного программного моделирования Netlogo.

Компьютерное моделирование, сегодня в школе, уже достаточно широко используется при изучении различных тем курса информатики.

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

В основе компьютерного моделирования лежит развитие познавательных навыков учащихся, умений самостоятельно конструировать свои знания и ориентироваться в информационном пространстве, развитие критического мышления. Компьютерное моделирование -- это, безусловно, комплексный обучающий метод, который индивидуализирует образовательный процесс, дает возможность ученику проявить самостоятельность в планировании, организации и контроле своей деятельности, проявить творческие способности при выполнении учебных заданий.

Компьютерное моделирование предполагает:

· наличие насущной проблемы, требующей интегрированных знаний и исследовательского поиска ее решения;

· практическую, теоретическую, познавательную значимость предполагаемых результатов;

· самостоятельную деятельность ученика;

· структурирование содержательной части с указанием поэтапных результатов;

· подведение итогов, корректировку, выводы.

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

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

Одним из важных этапов решения задач экологии является разработка математических моделей экологических систем.

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

Создадим интерфейс, в рамках которого мы сможем регулировать основные начальные параметры системы (численность волков, численность овец, условия репродукции овец и волков, рост травы). Установим необходимые параметры в коде таким образом, чтобы волки ели овец, только если голодны. Добавим визуальные датчики количества овец, волков и травы для постоянного мониторнига ситуации (рис 1).

Рисунок 1. Построение интерфейса

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

1. breed [ ]

Это ключевое слово, как и глобальные переменные, и глобальные ключевые слова может быть использовано только в начале исходного кода программы. Первое слово в команде определяет имя группы, второе слово -- определяет, как называется участник группы, например [солдаты солдат] Любой агент может принадлежать к какой-либо группе:

· он часть этой группы, будет подчиняться командам, примененным ко всей группы

· он обладает всеми характеристиками и переменными, относящимися к этой группе.

Используя данное ключевое слово, мы можем поделить всех агентов на группы и адресоваться именно к ним через имена групп. Например, если мы создали группы: breed [sheep a-sheep] , breed [wolves wolf], то командой сreate-sheep 5, мы создадим 5 агентов группы sheep, а командой create-wolves 5 мы создадим пять агентов группы wolves. Мы сможем обращаться раздельно к агентам двух групп и раздельно описывать правила их существования во вселенной Netlogo.

2. set-default-shape -- установка внешнего облика агента.

3. set size -- установка размера агента на экране.

4. if not any? turtles [ stop ] -- если на экране нет ни одного агента черепашки (все типы агентов), то остановить работу процедуры.

5. hatch number [ commands ]

hatch- number [ commands ]

Этот мобильный агент создает number-количество новых мобильных агентов для своей группы. Новые агенты наследуют все свойства породившего их родителя.

6. let prey one-of sheep-here

Конструкция let prey one-of sheep-here создает переменную prey, которая соотносит себя с любым агентом типа sheep существующим в рамках вселенной, на которую наткнулся другой агент в данной точке.

7. let variable value

Создает новую локальную переменную и присваивает ей заданное значение. Такая переменная существует только в рамках некоторого блока команд (не видна глобально во всем коде программы). Если хотите изменять значения переменной, необходимо использовать команду set. Например: set variable variable+1.

8. if prey != nobody

nobody

Это особое значение, применяемое к таким примитивам, как мобильный агент, one-of, max-one-of, и т.д. Возвращается для того, чтобы указать, что ни один агент не был найден. Когда агент умирает, он становится эквивалентен nobody.

! -- знак неравенства

Определим задачу моделирования: Во вселенной возникнут N овец и P волков. Овцы едят траву и прибавляют свою энергию. Трава обладает своими параметрами роста. Волки едят овец (когда их встречают) и прибавляют свою энергию. При перемещениях волки и овцы теряют энергию. Волки и овцы когда обладают большой энергией (+ фактор размножения) репродуцируют себя.

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

breed [sheep a-sheep] ; группа агентов -- овцы

breed [wolves wolf] ; группа агентов -- волки

turtles-own [energy] ; все агенты обладают данной переменной

; процедура установки базовых параметров

to setup

clear-all ; очистка экрана

ask patches [ set pcolor green ] ; окраска травы (пятна становятся зелеными)

set-default-shape sheep "sheep" ; придание форм овцам

create-sheep 10 ; создание овец с инициализацией параметров

[

set color white ; цвет агента

set size 1.5 ; размер агента

setxy random-xcor random-ycor; установка случайного местоположения

set energy random 100; определение параметра энергии

]

set-default-shape wolves "wolf" ; придание формы волкам

create-wolves 10 ; создание волков с инициализацией параметров

[

set color black ; цвет черный

set size 2 ; размер волка

setxy random-xcor random-ycor; установка случайного местоположения

set energy random 100; определение параметра энергии

]

ask turtles [ set label energy ] ; обратимся ко всем агентам, установить около себя

; этикетку-метку с обозначением энергии

end

; основная процедура действий

to go

if not any? turtles [ stop ] ; если исчезли все агенты -- остановить работу

ask sheep [ ; обращение к овцам

move ; вызвать процедуру перемещения

set energy energy -- 1 ; уменьшить энергию

eat-grass ; вызвать процедуру поедания травы

death ; вызвать процедуру возможной смерти

reproduce-sheep ; вызвать процедуру репродукции овец

]

ask wolves [ ; обращение к волкам

move ; вызвать процедуру перемещения

set energy energy -- 1 ; уменьшить энергию

catch-sheep; вызвать процедуру ловли овец

death ; вызвать процедуру возможной смерти

reproduce -wolves; вызвать процедуру репродукции волков

]

ask patches [ grow-grass ] ; обращение к траве -- вызов процедуры роста

ask turtles [ set label energy ] ; обратимся ко всем агентам, обновить около себя

; этикетку-метку с обозначением энергии

end

to move ; перемещение агента

rt random 50 ; повернуться на право (количество градусов случайно от 0 до 50)

lt random 50; повернуться на лево (количество градусов случайно от 0 до 50)

fd 1 ; сделать шаг вперед

end

to eat-grass ; поедание травы

if pcolor = green [ ; если цвет травы зеленый

set pcolor brown ; сделать его темным

; объекту вызвавшему процедуру увеличить энергию на 2 ед.

set energy energy + 2 ]

end

to reproduce-sheep ; появление нового агента sheep

; новый агент появится, если у вызвавшего процедуру агента

; показатель энергии больше 30 и случайным образом

; определенное вещественное число от 0 до 100 меньше 3

if random-float 100 < 3 and energy > 30

[

;у агента породившего нового агента уменьшиться энергия

set energy (energy -- 20)

hatch 1 [ rt random-float 360 fd 1 ] ; появление нового агента

; новый агент выбирает случайной направление и делает шаг вперед

]

end

to reproduce-wolves ; появление нового агента wolves

; новый агент -- волк появится, если у вызвавшего процедуру агента

; показатель энергии больше 30 и случайным образом

; определенное вещественное число от 0 до 100 меньше

if random-float 100 < 3 and energy > 30

[

set energy (energy -- 20) ; у агента породившего нового агента уменьшиться энергия

hatch 1 [ rt random-float 360 fd 1 ] ; появление нового агента

; новый агент выбирает случайной направление и делает шаг вперед

]

end

to catch-sheep ; процедура «поймать овцу»

; переменной присваивается агент sheep на котором мы находимся

let prey one-of sheep-here

if prey != nobody ; если такой агент sheep найден

[ ask prey [ die ] ; мы его удаляем

set energy energy + 10 ] ; у агента-волка вызвавшего процедуру

; увеличиваем энергию

end

to death ; гибель агента

if energy < 0 [ die ] ; если количество энергии меньше нуля, агент исчезает

end

to grow-grass ; процедура роста травы

; если травы не было и вычисленная случайная величина

; от 0 до 100 меньше 5

; пятно становится зеленым -- т.е. появилась трава

if pcolor = brown and random-float 100 < 5

[ set pcolor green ]

end

Создадим возможность отслеживания количество овец и волков в виде графика (рис.2).

Рисунок 2. Использование графиков в среде Netlogo

Опишем процедуру рисования графика

to do-plots

set-current-plot "Totals" ; имя графика

set-current-plot-pen "sheep" ; первая переменная

plot count sheep ; отражает количество овец

set-current-plot-pen "wolves" ; вторая переменная

plot count wolves ; отражает количество волков

end

Настройте вызов процедуры из цикла Go:

to go

do-plots

Установим объект -- график на экране интерфейса и проверим параметры (рис. 3). Удалите блок «default». Для отображения легенды установите переключатель «Показать».

Рисунок 3. Параметры графика

экология задача код netlogo

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

Решение задачи в среде Netlogo, повышает заинтересованность и мотивацию школьника, процесс решение задачи начинает носить творческий и исследовательский характеры и может быть реализован в рамках метода проектов. Алгоритм решения задачи сопровождается визуальным компонентом -- вселенной Netlogo, которая отражает в виде определенной «анимации» жизнь, поведение и взаимоотношение исследуемых агентов. Под решением исследуемой задачи мы примем экспериментальную, компьютерную проверку построенной модели, с последующим ее анализом и выведением выявленных «глобальных» закономерностей в построенной децентрализованной системе.

Список литературы

1. Александрова Н.А. Возможности решения типовых задач в базовом курсе информатики и ИКТ на языке программирования Python // А.В. Багаев, Н.А.Александрова / В сборнике: Информационные технологии в образовании Материалы VI Всероссийской научно-практической конференции. Саратовский государственный университет имени Н.Г. Чернышевского. 2014. С. 4-6.

2. Баженов Р.И. Обзор информационного рынка по помощи подготовки ребенка к школе // А.В. Шуйская, Р.И. Баженов //Постулат. 2016. № 12 (14). С. 57.

3. Баженов Р.И. Обзор программных комплексов, реализующих построение карт разума // А.С. Кардаш, Демченко, Р.И. Баженов / Постулат. 2016. № 1 (1). С. 16.

4. Векслер В.А. Проектирование для системы дополнительного образования информационной модели специалиста / Омский научный вестник. 2007. № 2 (56). С. 178-182.

5. Векслер В.А. Эргономические требования к электронным образовательным ресурсам / Психология, социология и педагогика. 2015. № 5 (44). С. 37-39.

6. Мулдашев Р.М Использование информационно-коммуникационных технологий в образовательном процессе // Р.М Мулдашев, С.В. Мулдашева / В сборнике: Информационные технологии в образовании Материалы VI Всероссийской научно-практической конференции. Саратовский государственный университет имени Н.Г. Чернышевского. 2014. С. 144-147.

7. Сулейманов Р.Р. Компьютерное моделирование математических задач. Элективный курс // Современные наукоемкие технологии. - 2015. - № 5. - С. 77-81;

8. Храмова М.В. Возможности использования некоторых «облачных» сервисов в школе// О.А. Феоктистова, М.В. Храмова, Н.А.Александрова /В сборнике: Информационные технологии в образовании V Всероссийская (с международным участием) научно-практическая конференция. 2013. С. 63-66.

9. Храмова М.В. Об опыте подготовки будущих учителей начальных классов по дополнительной специальности «информатика»// М.В.Храмова, Н.А.Александрова / Психолого-педагогический журнал Гаудеамус. 2012. Т. 1. № 19. С. 85-89.

Размещено на Allbest.ru

...

Подобные документы

  • Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.

    курсовая работа [1,5 M], добавлен 15.05.2014

  • Впровадження інформаційно-комунікаційних технологій в освітню практику. Комп'ютерне використання моделювання при вивченні хімії за програмою "Органічна хімія. Транспортні системи". Застосування моделі NetLogo для вивчення теми "Реакції йонного обміну".

    курсовая работа [11,0 M], добавлен 15.03.2014

  • Выполнение арифметических операций, этапы решения задач с помощью ЭВМ - постановка задачи, составление алгоритма решения, программная реализация алгоритма в среде Qbasic. Решение систем линейных уравнений по формулам Крамера. Графический режим Qbasic.

    курсовая работа [101,7 K], добавлен 29.09.2009

  • Исследование конечно-разностных методов решения краевых задач путем моделирования в среде пакета Micro-Cap V. Оценка эффективности и сравнительной точности этапов получения решений методом математического, аналогового моделирования и численными расчетами.

    курсовая работа [324,3 K], добавлен 23.06.2009

  • Команды, используемые для построения графиков функций одной переменной (двумерная графика). Назначение и возможности команды plot (), расположенной в системной библиотеке Maple, ее операции и принцип работы. Порядок отображения графиков функций.

    лабораторная работа [141,8 K], добавлен 15.07.2009

  • Ознакомление с педпосылками интеграции изучения средств информатики. Развитие логического и алгоритмического мышления при изучении информатики. Описание компьютерной технологии обучения. Использование здоровьесберегающих технологий для детского здоровья.

    контрольная работа [29,1 K], добавлен 26.02.2015

  • Теоретические основы преподавания раздела информатики "Моделирование и формализация" в школе. Разработка системы задач по моделированию в различных средах (графический и текстовый редакторы, электронные таблицы, система программирования Visual Basic).

    курсовая работа [127,2 K], добавлен 26.09.2012

  • Принципы решения задач линейного программирования в среде электронных таблиц Excel, в среде пакета Mathcad. Порядок решения задачи о назначении в среде электронных таблиц Excel. Анализ экономических данных с помощью диаграмм Парето, оценка результатов.

    лабораторная работа [2,0 M], добавлен 26.10.2013

  • Практические навыки моделирования структурных схем в среде SIMULINK пакета MATLAB. Построение графиков функций в декартовой системе координат. Решение систем линейных и нелинейных уравнений. Работа с блоками Sum, Algebraic Constraint, Gain, Product.

    лабораторная работа [159,2 K], добавлен 19.04.2009

  • Использование рекурсии в предметных областях. Рекурсивные процедуры и функции в программировании. Создание алгоритмов для рисования графических изображений с использованием рекурсии в среде программирования Pascal ABC. Примеры рекурсии в графике.

    творческая работа [6,7 M], добавлен 01.02.2014

  • Разработка в среде программирования LabVIEW прикладного программного обеспечения для организации взаимодействия с измерительной и управляющей аппаратурой. Моделирование линейных непрерывных и замкнутых систем. Численное решение дифференциальных уравнений.

    реферат [213,1 K], добавлен 18.03.2011

  • Рассмотрение информатики как учебного предмета в средней школе. Методика технологии работы в прикладных программных средах. Освоение среды текстового и табличного процессоров. Решение задач из курса "Математика" с помощью прикладной среды MS Excel.

    дипломная работа [14,9 M], добавлен 10.03.2012

  • Характеристика основных методов и средств моделирования мультиагентных систем. Ознакомление с результатами экспериментального тестирования и отладки программного комплекса. Рассмотрение методов оценки качества разработанного программного продукта.

    дипломная работа [3,1 M], добавлен 27.10.2017

  • Понятие алгоритмических исполнителей, их классификация и проектирование. Описание среды ЛогоМиры и КуМир. Проект в ПервоЛого "Смена Дня и Ночи". Моделирование алгоритмического исполнителя в интегрированной среде "Delphy". Исполнитель "Черный ящик".

    дипломная работа [630,7 K], добавлен 24.06.2011

  • Особенности использования графического режима в среде Турбо Паскаль. Типы драйверов. Инициализация графики. Построение изображения на экране. Графические примитивы и работа с текстом. Разработка и реализация программ в среде Турбо Паскаль "Графика".

    курсовая работа [1,2 M], добавлен 26.09.2014

  • Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.

    курсовая работа [290,9 K], добавлен 05.12.2008

  • Особенности и тонкости программирования в среде Delphi. Специфика перехода от алгоритмического решения к непосредственной программной реализации на языке Object Pascal с использованием всех необходимых средств данного языка. Анализ полученных результатов.

    реферат [246,2 K], добавлен 17.11.2012

  • Расчет параметров, оценка показателей качества регулирования и моделирование системы автоматического управления для лентопроводящей системы многокрасочной печатной машины. Значение эквивалентной постоянной времени. Передаточная функция замкнутой системы.

    курсовая работа [4,4 M], добавлен 26.05.2015

  • Программа вычисления системы, построение графика. Задача шага изменения аргумента. Набор диапазона значений и зависимость x от i. Наложение условия для решения заданной системы. Создание функции с помощью if. Общий вид графика решения заданной системы.

    лабораторная работа [48,5 K], добавлен 25.12.2011

  • Анализ методов и средств моделирования мультиагентных схем. Тестирование лабораторных работ "Climatechange", "ElFarol" и "Pagerank". Экспериментальное тестирование и отладка программного комплекса. Оценка качества разработанного программного продукта.

    дипломная работа [4,5 M], добавлен 12.08.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.