Curso de Linux N19. Programación en Bash 006. Contadores, Acumuladores, Interruptores, for in (continuación), continue, break.

By rafaelaquino on 10/8/2023

Cordiales Saludos

![0-19_portada_nueva.png](Image from post)
![banner_bash.png](Image from post)

El tema de los contadores, acumuladores e interruptores es muy importante para la realización de nuestros script. Ya las variables no solo van a contener valores, sino que nos permiten usarlas para el conteo, el incremento variable o como bandera para luego ser usadas en la toma de decisiones.

Contador

Ya tratado este tema en uno de mis cursos anteriores te invito a leer la siguiente captura de pantalla donde explico el tema de Contador.

![0-19_contador.png](Image from post) [Fuente](https://hive.blog/hive-154226/@rafaelaquino/python-para-principiantes-n039-contadores-y-acumuladores)

En el siguiente ejercicio te muestro la forma básica del funcionamiento de los contadores, cómo a través de cada instrucción se va incrementando. Usarlo de esta manera no es muy útil pero nos permite ver como es su funcionamiento. La sintaxis es: cont=cont+1

![0-19_39.png](Image from post)

Ejecución del código

$ bash script_39.sh 
cont tiene valor 0
cont tiene valor 1
cont tiene valor 2
cont tiene valor 3
![separador_bash.png](Image from post)
A continuación te muestro una forma compacta de uso: **cont++**, teniendo la misma función que: **cont=cont+1**
![0-19_40.png](Image from post)

Ejecución del código

$ bash script_40.sh 
Forma reducida o compacta
cont tiene valor 1
cont tiene valor 2
cont tiene valor 3
![separador_bash.png](Image from post)

Un ejercicio sencillo y de fácil comprensión, es colocar el contador dentro de una estructura repetitiva en esta caso un for. A medida que el ciclo se repite se va incrementando el contador.

![0-19_41.png](Image from post)
$ bash script_41.sh 
 Este es i: 1
 Este es el contador  1
 Este es i: 2
 Este es el contador  2
 Este es i: 3
 Este es el contador  3
 Este es i: 4
 Este es el contador  4
 Este es i: 5
 Este es el contador  5
![separador_bash.png](Image from post)

Podemos usar el contador de forma decreciente. Todo dependerá de nuestro interés para la realización del script.

![0-19_42.png](Image from post)
$ bash script_42.sh 
 Este es i: 1
 Este es el contador  9
 Este es i: 2
 Este es el contador  8
 Este es i: 3
 Este es el contador  7
 Este es i: 4
 Este es el contador  6
 Este es i: 5
 Este es el contador  5
![separador.png](Image from post)

Acumulador

Ya tratado este tema en uno de mis cursos anteriores te invito a leer la siguiente captura de pantalla donde explico el tema de Acumulador.

![0-19_acumulador.png](Image from post) [Fuente](https://hive.blog/hive-154226/@rafaelaquino/python-para-principiantes-n039-contadores-y-acumuladores)

En el siguiente ejercicio utilizamos la variable sum para sumar los número del 1 al 5. En este caso la variable sum se comporta como un acumulador ya que contendrá la primera vez el 1, luego se le sumara el 2 y luego el 3 hasta el 5. La sumatoria de 1 + 2 + 3 + 4 + 5 = 15

![0-19_43.png](Image from post)
$ bash script_43.sh 
 Este es i: 1
 Este es el acumulador  1
 Este es i: 2
 Este es el acumulador  3
 Este es i: 3
 Este es el acumulador  6
 Este es i: 4
 Este es el acumulador  10
 Este es i: 5
 Este es el acumulador  15
![separador.png](Image from post)

Interruptores

Interruptores: Se le llama así a una variable que toma dos valores (1 ó 0) o también (falso o verdadero). Se utiliza para que se realice un condicional o para que cambie su valor en determinada instrucción. También es conocido como conmutador, switch, sw, bandera, flag o indicador. Fuente

Las banderas o interruptores son de gran utilidad. Cuando la bandera cambia de estado podemos realizar otras acciones. El estado de una bandera puede volver a su valor inicial en cualquier momento del script. Aquí lo importante es que de acuerdo a su valor hace una acción.

En el siguiente script la variable flag inicia con el valor false cuando la variable i es igual a 3 la variable flag ahora cambia a true.

![0-19_44.png](Image from post)
Ejecución del código ~~~ $ bash script_44.sh flag comienza con valor: false Ahora flag es igual a: true ~~~
![separador.png](Image from post)
## For in (Continucacion)

Esta es una nueva forma de estructura el for in. i=1 --> Es el valor inicial **i<=5** --> Condicional que determina donde concluye el ciclo i++ --> Incremento en 1, de la variable i

![0-19_45.png](Image from post)

Ejecución del código

$ bash script_45.sh 
 Valor de i:  1
 Valor de i:  2
 Valor de i:  3
 Valor de i:  4
 Valor de i:  5
![separador_bash.png](Image from post)

Continue

En este script muy sencillo mostramos el uso de continue, cuando la iteracción pasa por continue, la instrucción salta es decir continua, notemos que no realiza ninguna de las acciones que están después. Al ejecutar el script no muestra nada porque por cada iteracción del ciclo for al encontrarse con un continue continuaba el ciclo.

![0-19_46.png](Image from post)
Ejecución del Código ~~~ $ bash script_46.sh $ ~~~
![separador_bash.png](Image from post)
En el siguinte script se comprenderá mejor. Cuando **i** es igual a 2 y a 5 continuará sin visualizar el 2 y el 5. En cambio visualizará los demás valores de **i** ![0-19_47.png](Image from post)

Ejecución del Código

$ bash script_47.sh 
 Valor de i:  1
 Valor de i:  3
 Valor de i:  4
 Valor de i:  6
 Valor de i:  7
![separador_bash.png](Image from post)

Break

Break se usa cuando queremos interrumpir un ciclo. De acuerdo a un evento o condición queremos que termine la estructura repetitiva, de forma estricta. En el siguinet script cuando i llega al valor de 5 se interrumpe el ciclo.

![0-19_48.png](Image from post)
Ejecución del Código ~~~ rafael@HP:~/ir_bash$ bash script_48.sh Valor de i: 1 Valor de i: 2 Valor de i: 3 Valor de i: 4 Hasta aqui ~~~
![separador.png](Image from post)

Hasta aquí nuestra publicación, con un poco de práctica y la realización de estos ejercicio con algunas modificaciones podemos comprenderlos mejor. Notaste que dentro de un ciclo podemos colocar condicionales. Todas las estructuras pueden estar anidadas. También podríamos hacer lo contrario, que dentro de un if podemos colocar un for in.

![bannerfundamentos.png](Image from post)

Operadores aritméticos (Bash)

+ Suma
- Resta
* Multiplicación
/ División
% Resto
** Potenciación
![0-19_49.png](Image from post)
Ejecución del Código ~~~ $ bash script_49.sh Suma La suma de 2 + 1 es igual a: 3 Resta La resta de 2 - 1 es igual a: 1 Multiplicacion La multiplicacion de 2 * 1 es igual a: 2 Division La division de 2 / 1 es igual a: 2 Resto El resto de 2 % 1 es igual a: 0 Potenciacion Potencia de 2 ** 1 es igual a: 2 ~~~

Todos a practicar, incluyéndome! Nos vemos en la próxima publicación...


Estos ejercicio y los anteriores los puedes encontrar en el repositorio del curso: https://gitlab.com/btcsiraquino/hp_bash_ejercicios


Mi Twitter

Comments (1)

stemsocial's avatar @stemsocial 10/9/2023

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.