Итерация - это акт повторения процесса для создания последовательности результатов (возможно, неограниченной) с целью достижения желаемой цели или результата. В контексте математики или информатики итерация (вместе с соответствующей техникой рекурсии) является стандартным строительным блоком алгоритмов.
В компьютерном программировании итерация, также называемая английским термином loop, представляет собой управляющую структуру внутри алгоритма, который решает данную проблему, который приказывает компьютеру многократно выполнять последовательность инструкций, как правило, до появления конкретные логические условия.
Важно отметить, что последовательность и выбор составляют одну из трех фундаментальных структур для алгоритмического решения конкретной проблемы в соответствии с теоремой Бема-Якопини. Есть несколько форм итераций; наиболее известны МЕНТРА, ПОВТОР и ПЕР. Можно сказать, что итерация - это сильное звено программирования, которое позволяет автоматизировать выполнение процесса, чего недостаточно для простого выполнения последовательности инструкций.
Так называемый «бесконечный цикл» - это случай итерации из-за ошибки программирования, которая останавливает выполнение программы, тогда как в некоторых методах программирования, особенно с микроконтроллерами, он сознательно используется для бесконечной итерации в программе.
В разработке программного обеспечения итеративность используется для описания эвристического процесса планирования и разработки, когда приложение разрабатывается небольшими разделами, называемыми итерациями. Каждая итерация рассматривается и критикуется командой разработчиков программного обеспечения и потенциальными конечными пользователями; Идеи, полученные в результате критики итерации, используются для определения следующего шага в разработке. Модели данных или диаграммы последовательности, которые часто используются для построения итераций, отслеживания того, что было опробовано, одобрено или отклонено, и в конечном итоге служат своего рода планом для конечного продукта.
Проблема итеративной разработки заключается в том, чтобы обеспечить совместимость всех итераций. По мере утверждения каждой новой итерации разработчики могут использовать метод, известный как обратная инженерия, который представляет собой процедуру систематического обзора и проверки, чтобы убедиться, что каждая новая итерация имеет обратную совместимость. Преимущество использования итеративной разработки заключается в том, что конечный пользователь участвует в процессе разработки. Вместо того чтобы ждать, пока приложение станет конечным продуктом, когда внести изменения нелегко, проблемы выявляются и решаются на каждом этапе разработки. Итеративное развитие иногда называют круговым или эволюционным развитием.