Programación en C++ : 6 Ciclos, Contadores y Acumuladores


Los ciclos o estructuras repetitivas, son estructuras que permiten indicar dentro de un programa, que un bloque de instrucciones se ejecutará un número finito de veces, en este post comenzaremos con el ciclo FOR y veremos algunos de los usos que tiene.

El ciclo FOR, es un ciclo numérico, basado en el uso de un contador, el cual no es otra cosa que una variable a la cual le damos un valor inicial y a la que le iremos incrementando de forma fija su valor, para que nos permita contar el número de veces o iteraciones que el ciclo ejecuta.

Dado que el ciclo FOR está basado en usar un contador, debemos de saber con certeza cuántas iteraciones realizará, antes de entrar a el, su sintaxis es muy simple

FOR (inicio; condición; incremento)

 

 Como podemos ver en la imagen, en la línea 8, definimos un ciclo, FOR en donde la variable «i» que va a ser el contador del ciclo, se le asigna un valor inicial de 0, se le indica que el ciclo se ejecutará mientras el valor de i sea menor de 3; al final vemos la notación de postincremento i++, que equivale a i=i+1, es decir, incrementar el valor de i en 1 en cada iteración.

La llave que esta después del paréntesis marca el inicio del bloque de instrucciones que se ejecutará mientras i sea menor de 3, dicho bloque son las líneas 9 y 10, ya que en la línea 11 vemos la llave que cierra el bloque del ciclo FOR, por lo que, lo que esté después se ejecutará hasta que termine el ciclo.

Como vemos en la imagen anterior, aún lado del código tenemos la pantalla de ejecución, en donde vemos que aunque solo escribimos 1 ves el printf y el scanf, estas se ejecutaron 3 veces.

 

 ACUMULADOR

 Un acumulador es una variable, a la cual le vamos a incrementar su valor de forma variable dentro de un ciclo, para ello, la variable debe tener un valor inicial antes de entrar al ciclo y debemos incrementar o decrementar su valor dentro del ciclo, veamos un ejemplo

 En este caso, vamos a sumar tres números, un ejemplo típico del uso de ciclos y de un acumulador. La variable «t», servirá de acumulador, observemos que en la línea 8, antes del FOR, le damos un valor de cero. Dentro del ciclo, una vez que pedimos el valor de la variable «p», vemos que en la línea 12 usamos la típica forma de los acumuladores.

Acumulador=Acumulador + variable.

 En esta forma, el valor que tiene «t» que es cero, se suma con el de «p», el resultado se almacena en «t», como las variables usan almacenamiento destructivo, cada ves que le asigamos a una variable el resultado de una operación, esta almacena el resultado y desecha su valor anterior, de este forma cuando regresemos en la siguiente iteración «t» contendrá el resultado anterior y a ese se agregará el nuevo valor.

Como vemos en la imagen anterior, la variable «t» al final almacenó la suma de los valores que tuvo «p», cabe señalar que el acumulador igual puede funcionar con restas, multiplicaciones y divisiones.

 

Estructuras anidadas

Como en cualquier otra estructura, dentro del FOR podemos incluir otras estructuras, como en el caso de la imagen siguiente, en el que hemos modificado el programa, para que en lugar de sumar los 3 valores, de ellos, solo acumule los valores que sean mayores o iguales a 0.

 

 

 La única condición para anidar una estructura dentro de un ciclo es que la estructura quede dentro de las llaves del ciclo y esta no trate de pasar los límites de este. 

Al ser parte del bloque de instrucciones del ciclo, la estructura que anidemos, se ejecutará en cada iteración del ciclo.

 

Ciclos con distintos valores

Solo para aclarar, los ciclos no tienen que comenzar siempre en 0, ni el incremento siempre será 1, esto dependerá de las condiciones del problema que debamos de resolver, por lo que en la siguiente imagen vemos un ciclo FOR cuyo contador va del 0 al 10, con un incremento de 2 

 

 Para concluir, dejamos la explicación del tema en vídeo.

 

 

 

12 Comments

  1. Me encanta que te centres en el explicar la lógica del funcionamiento del lenguaje y no el lenguaje en sí mismo. Por que creo que es lo complicado para quien se inicia en programación. No sé programar, es la primera vez que leo algo sobre el lenguaje de c++ , se entiende a la perfección y aunque me interesa la potencialidad de la programación, siempre acabo dejando los manuales porque en esencia no puedo encuentro la lógica del por qué y del para qué y de porque en unos casos se muestra de una forma y en otros casos de otra. Así que,por mi parte felicidades. Muy bueno y muy intuitivo

    Me gusta

¿Qué estas pensando?

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.