Para los casos en que se debe controlar el ciclo mediante una variable de tipo contadora existe una estructura particular que puede sustituir con ventaja a la estructura anterior. Nos referimos a la estructura iterativa, la cual se asocia a una variable que se incrementa automáticamente y que al llegar a un determinado valor interrumpe las repeticiones del bloque.
Utilizando pues este tipo de estructura el algoritmo quedaría planteado de la forma siguiente:
Diagrama de Flujo de Datos quedaría de la siguiente forma (para simplificar quitamos los mensajes referenciales).
¿Qué beneficios concretos obtenemos de utilizar esta estructura? Bueno, todos pueden ser discutibles ya que no todos los beneficios que mencionaremos son objetivos, pero diremos:
• No hace falta controlar la variable contadora, ya que el control será automático.
• No hace falta incrementar la variable contadora, también se hará automáticamente, ahorrando una línea de código.
• Sobre todo, en el caso que se utilicen muchos ciclos iterativos, es mucho más claro el enunciado del algoritmo.
• Cuando se traduzca el algoritmo a un lenguaje de programación este será capaz de optimizar los ciclos utilizando variables de tipo registro (un registro dentro de la Unidad de Control es mucho más rápido de utilizar que una variable alojada en la RAM).