Что такое итерация цикла. Значение слова итерация. Примеры употребления слова итерация в литературе





Итерация и рекурсия в программировании.

Итерация в программировании

Итерация - это организации обработки данных, при котором действия повторяются многократно, не приводя при этом к вызовам самих себя.

Когда какое-то действие необходимо повторить большое количество раз, в программировании используются циклы. Например, нужно вывести 100 раз на экран текст «Hello, World!». Вместо 100-кратного повторения одной и той же команды вывода текста часто создается цикл, который прокручивается 100 раз, и 100 раз выполняет то, что написано в теле цикла. Один шаг цикла и называется итерацией.

В программировании рекурсия - вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия), например, функция A вызывает функцию B, а функция B - функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.

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

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

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

Итеративная и рекурсивная схема организации

Вычислительного процесса

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

Итеративная схема организации вычислительного процесса

Итеративный процесс можно проиллюстрировать с помощью схемы, приведенной на рис. 55. Этот процесс состоит из четырех блоков: инициализации, принятия решения (о продолжении вычислений), вычисления и модификации.

В основе итеративного вычислительного процесса лежит итеративный цикл While, Repeat-Until, For. Наиболее общим является цикл While:

While < условие цикла > do < тело цикла >;

Итеративная схема вычисления факториала:

N! = 1 * 2 * 3 * … * N.

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

Procedure Iter_Fact (n: word; var f: word);

I:=1; f:=1; { инициализация }

While i < = n do begin { решение о завершении }

F:= f * i; { вычисления }

Inc(i); { модификация }

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

1. Любой итеративный цикл может быть заменен рекурсией.

2. Рекурсия не всегда может быть заменена итерацией.

Рекурсивная схема организации вычислительного процесса

Общая схема рекурсивного вычислительного процесса представлена на рис. 56

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

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

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

Общая схема рекурсивного цикла:

Procedure Рекурсивный_Цикл (…);

If < условие цикла > then

< тело рекурсивного цикла; >

Рекурсивный_Цикл (…);

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

Общая схема бесконечного рекурсивного цикла:

Procedure Бесконечный_Рекурсивный_Цикл (…);

If < условие цикла > then

Бесконечный_Рекурсивный_Цикл (…);

< тело рекурсивного цикла; >

Итерация (лат. iteratio - повторение) - в математике, Одно из ряда повторений какой-либо математической операции, использующее результат предыдущей аналогичной операции. пример: Факториал(!) - N! = 1 х 2 х 3 x … x (N-1) x N, где N - любое целое число; Каждое последовательное умножение носит название «итерация».

Будучи существенно нелинейными вычислительными процессами, итерации в областях неустойчивости и бифуркационных «развилок» в точности воспроизводят хаотизацию поведения по сценарию Ферхюльста-Фейгенбаума, присущую нелинейным процессам самой разной физической, химической, биологической и даже социальной природы. См., напр.: Пайтген Х.-О., Рихтер П. Х. Красота фракталов. - М.: Мир, 1993.

Итерация в программировании

Итерация - это организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя.

Когда какое-то действие необходимо повторить большое количество раз, в программировании используются циклы . Например, нужно вывести 200 раз на экран текст «Hello, World! ». Вместо 200-кратного повторения одной и той же команды вывода текста часто создается цикл, который прокручивается 200 раз, и 200 раз выполняет то, что написано в теле цикла . Один шаг цикла и называется итерацией .

be:Ітэрацыя

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

Краткие сведения

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

Особенности

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

Интеграция

Любая простая итерация должна учитывать вероятные риски, представляющие важность для проекта, а также реализовывать высокоприоритетные компоненты работы. В результате появляется уверенность в том, что при каждом периоде добавляется максимум ценного для заинтересованных лиц на фоне снижения неопределенности. Обычно итеративная разработка сочетается с непрерывной или частой интеграцией. Другими словами, с того момента как компоненты становятся удовлетворительными по результатам модульных тестов, их интегрируют в общий проект. После осуществляются сборка и тестирование. Так, возможности интегрированных продуктов на протяжении итерации возрастают относительно целей, которые были определены во время планирования. Регулярные сборки (каждодневные либо более частые) позволяют разделить проблемы и задачи интеграции и тестирования, распределить равномерно их по всему циклу разработки. Зачастую причина краха проектов состоит в том, что все затруднения обнаруживаются в один момент в рамках одного происходящего на завершающем этапе. В таком случае из-за единственной проблемы останавливается вся команда.

Перспективы

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

Повторение, цикл Словарь русских синонимов. итерация сущ., кол во синонимов: 2 операция (457) … Словарь синонимов

итерация - — [] итерация Повторное применение математической операции (с измененными данными) при решении вычислительных задач для постепенного приближения к нужному результату (это видно на… … Справочник технического переводчика

Повторное применение математической операции в серии аналогичных операций, производимых для получения результата. Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов

- (от лат. iteratio повторение) повторное применение какой либо математической операции … Большой Энциклопедический словарь

Итерация - (iteration): более чем однократное использование компонента при различном выполнении операций... Источник: ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. МЕТОДЫ И СРЕДСТВА ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ. КРИТЕРИИ ОЦЕНКИ БЕЗОПАСНОСТИ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ. ЧАСТЬ 1.… … Официальная терминология

итерация - и, ж. itération f. <лат. iterare повторять, возобновлять. мат. Результат применения какой н. математической операции, получающийся в серии аналогичных операций. Крысин 1998. Итерированный ая, ое. Повторенный. Зауэр. Лекс. СИС 1954: итера/ция … Исторический словарь галлицизмов русского языка

Итерация - повторное применение математической операции (с измененными данными) при решении вычислительных задач для постепенного приближения к нужному результату (это видно на блок схеме вычисления среднего арифметического см. рис. A.2 к статье … Экономико-математический словарь

- (лат. iteratio повторение) мат. результат применения какой л. математической операции, получающийся в серии аналогичных операций. Новый словарь иностранных слов. by EdwART, 2009. итерация [Словарь иностранных слов русского языка

- (от лат. iteratio повторение), повторное применение какой либо математической операции. * * * ИТЕРАЦИЯ ИТЕРАЦИЯ (от лат. iteratio повторение), повторное применение какой либо математической операции … Энциклопедический словарь

итерация - iteracija statusas T sritis automatika atitikmenys: angl. iteration vok. Iteration, f rus. итерация, f pranc. itération, f … Automatikos terminų žodynas

Книги

  • Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд , Криспин Лайза, Грегори Джанет. Тестирование является ключевым компонентом гибкой разработки. Широкое внедрение гибких методов привело к необходимости помещения в центр внимания приемов эффективного тестирования, а гибкие…
  • Нормальные семейства аналитических функций. , Монтель П.. Нормальные семейства... принадлежат перу знаменитого французского математика П. Монтеля и представляют собой монографию по теории нормальных семейств, создателемкоторой является П. Монтель, и…