迭代是重复一个过程以产生一系列结果(可能是无限的)的行为,目的是达到所需的目的或结果。在数学或计算机科学的上下文中,迭代(以及相关的递归技术)是算法的标准构建块。
在计算机编程中,迭代(也称为英文术语loop)是一种控制结构,在一种解决给定问题的算法中,该结构命令计算机重复执行一系列指令,直到出现以下情况为止:具体的逻辑条件。
重要的是要强调,序列和选择构成了根据Böhm-Jacopini定理对给定问题进行算法求解的三个基本结构之一。迭代有几种形式。最著名的是MENTRE,REPEAT和PER。可以说,迭代是编程的强大纽带,它使您可以自动化过程的执行,而仅仅执行一条指令序列是不够的。
所谓的“无限循环”是由于编程错误导致程序停止执行而导致迭代的一种情况,而在某些编程技术中,尤其是在微控制器中,故意将其用于在程序内无限迭代。
在软件开发中,迭代用于描述启发式计划和开发过程,在该过程中,将应用程序分成称为迭代的小部分进行开发。每次迭代均由软件团队和潜在的最终用户进行审查和审查;通过批判迭代获得的见解可用于确定开发的下一步。数据模型或序列图通常用于绘制迭代图,跟踪已尝试,批准或丢弃的内容,并最终用作最终产品的一种蓝图。
迭代开发的挑战在于如何确保所有迭代都是兼容的。随着每个新迭代的批准,开发人员可以采用一种称为“后向工程”的技术,该技术是系统的审查和验证过程,可确保每个新迭代与先前的迭代兼容。使用迭代开发的优势在于最终用户将参与开发过程。当不容易进行更改时,不必等到应用程序成为最终产品,而是在开发的每个阶段识别并解决问题。迭代开发有时称为循环开发或进化开发。