Цикл For

Элемент диаграммы действий.

Цикл For является одним из трех блоков диаграммы действий, предназначенных для реализации циклов итераций. Циклы необходимы для того, чтобы повторить некоторые действия несколько раз. Другие два доступных цикла - это Цикл Do While и Цикл While.

AnyLogic поддерживает два типа цикла "for" - Цикл со счетчиком и Итератор по коллекции

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

Полную информацию об операторе Java цикл For вы можете получить здесь.

Цикл со счетчиком - это цикл, в котором некоторая переменная изменяет своё значение от заданного начального значения до конечного с некоторым шагом, и для каждого значения этой переменной выполняются действия, заданные с помощью блоков диаграммы действий, находящиеся внутри блока цикла. Перед первой итерацией производится выполнение кода, заданного в поле Инициализация. Затем производится проверка выполнения заданного Условия. Если условие ложно, то диаграмма действий выполняет все действия, заданные в ветви данного цикла. Затем выполняется код, заданный в поле Счетчик - обычно здесь увеличивается или уменьшается значение переменной, используемой в качестве счетчика цикла. После этого цикл начинает новую итерацию и так далее, пока не будет выполнено Условие цикла.    

 Чтобы вставить цикл "for" в диаграмму действий
  1. Перетащите элемент Цикл For  из палитры Диаграмма действий на диаграмму типа агентов. Перетаскивая блок, отпустите кнопку мыши тогда, когда курсор мыши будет находиться над точкой, которая находится в той ветви диаграммы действий, куда вы хотите поместить данный блок (при наведении курсора эта точка должна подсветиться зеленым цветом).
  2. В выбранной вами ветви диаграммы действий должен появиться новый блок.
  3. Перейдите в панель Свойства и выберите тип цикла - Цикл со счетчиком или Итератор по коллекции
  4. Если вы хотите, чтобы этот цикл последовательно проходил по всем элементам коллекции, выберите опцию Итератор по коллекции, затем введите в поле Элемент тип элемента коллекции и то имя, по которому будет доступен элемент коллекции в действиях итерации цикла. Например, если ваша коллекция содержит элементы класса String, то вы можете ввести здесь String element. В этом случае элемент коллекции будет доступен из всех блоков, расположенных внутри блока "цикл for", как element.
  5. В обратном случае выберите Цикл со счетчиком и заполните поля ИнициализацияУсловие и Счетчик. На приведенном ниже рисунке показан пример свойств цикла со счетчиком. Такой цикл выполнит 10 итераций и затем передаст управление дальше.

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

Свойства

Основные
Тип – Тип цикла "for". Цикл может быть одного из двух следующих типов:

Цикл со счетчиком – Такой цикл выполняет заданные для этого цикла действия несколько раз, до тех пор, пока не выполнится заданное условие. Перед первой итерацией производится выполнение кода, заданного в поле Инициализация. Затем производится проверка выполнения заданного Условия. Если условие ложно, то диаграмма действий выполняет все действия, заданные в ветви данного цикла. Затем выполняется код, заданный в поле Счетчик - обычно здесь увеличивается или уменьшается значение переменной, используемой в качестве счетчика цикла. После этого цикл начинает новую итерацию и так далее, пока не будет выполнено Условие цикла. 

Итератор по коллекции – Такой цикл итеративно проходит по всем элементам указанной Коллекции. На каждой итерации выполняется заданное действие, в котором доступен очередной элемент коллекции. В поле Элемент вы должны указать тип элемента коллекции и то имя, по которому будет доступен элемент коллекции в действиях итерации цикла.
Например, если ваша коллекция содержит элементы класса String, то вы можете ввести здесь String element. В этом случае элемент коллекции будет доступен из всех блоков, расположенных внутри блока "цикл for", как element.

Специфические
Имя – Здесь вы можете задать имя цикла.

Метка – Здесь вы можете ввести комментарий к блоку, объясняющий смысл этого цикла. Комментарий будет отображен внутри блока вместо Java кода, соответствующего этому циклу.

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


См. также

 Визуальное задание алгоритмов с помощью диаграмм действий

 Редактирование блоков диаграммы действий

 Создание диаграммы действий. Учебное пособие