En nuestro código de programación, en líneas generales, el flujo del programa, se lee desde arriba hacia abajo, y de izquierda a derecha. De esta forma, y siempre por norma general, se procesa primero el código que está a la izquierda y arriba, actuando de forma secuencial, ya que cuando termina un primer bloque o línea de código, se comienza con el siguiente.
Este mecanismo es de los más sencillos y básicos, y a medida que vamos escribiendo código se puede complicar, o introducir variaciones que hacen que este flujo se vuelva más complejo.
Nombre | Descripción |
---|---|
Condiciones | Bifurcaciones donde el flujo se divide en dos o más caminos. |
Bucles | Repeticiones de un código idéntico varias veces o hasta cumplir una condición. |
Funciones | Fragmento de código que realiza una tarea, abstrayendo información. |
Anidación | Fragmentos o bloques de código dentro de otros. |
Estructuras de datos | Lugares o «compartimentos» donde podemos guardar información. |
Los condicionales, condiciones o bifurcaciones son fragmentos de código donde se establece una cierta condición para evaluar si realizar un bloque de código u otro. De esta forma, tenemos un bloque de código (en verde) que sólo se realizará si se cumple la condición, saltando el bloque rojo y continuando el programa, o un bloque de código (en rojo) que sólo se realiza si no se cumple la condición, saltando el bloque verde y continuando el programa:
Las condiciones pueden ser algo más complejas, o incluso tener expresiones que deben ser evaluadas. Las explicaremos más adelante.
Los bucles, ciclos o estructuras de repetición, son bloques especiales de código que se ejecutarán varias veces (de 0 a un número concreto de veces) dependiendo de una condición. Esto nos ahorra el tener que repetir código muchas veces, y hace que el programa sea más pequeño y más fácil de leer y escribir.
El flujo de un bucle es el siguiente:
1
.Cada una de las repeticiones que realiza es un concepto que se denomina iteración o vuelta.
A medida que escribimos código en nuestra aplicación, es muy común que nos encontremos con que hay partes del código que se repiten y/o se parecen mucho a otras (o directamente son idénticas). Existe un concepto llamado función que básicamente lo que permite es aislar un fragmento de código y darle un nombre. De esta forma, cada vez que llamemos a ese nombre, se aplicará el fragmento de código. Esto reduce sustancialmente el código de nuestra aplicación y lo hace mucho más fácil de leer y entender.
Las funciones son mucho más complejas, pero esto es un buen punto de partida para entenderlas. Más adelante las explicaremos en profundidad.
Otro concepto que conviene conocer es el denominado anidación o anidamiento. Cuando hablamos de un código anidado significa que tenemos un fragmento de código «dentro» de otro. Por ejemplo, imaginemos que tenemos un condicional que a su vez, tiene dentro otro condicional. En ese caso estaríamos hablando un condicional anidado. Si tenemos un bucle con otro bucle en su interior, estaríamos hablando de un bucle anidado.
También es interesante conocer el nivel de anidamiento, ya que en los casos mencionados sólo hay 2 niveles, pero podríamos hablar de niveles superiores de anidación donde por ejemplo tenemos 3 condicionales anidados o más.
Aunque ya lo veremos más adelante, hay que tener cuidado con las anidaciones, ya que pueden complicar nuestro programa, y en algunos casos hacerlo menos eficiente. Lo hablaremos en profundidad en próximos temas.
Por último, y no por ello menos importante, tenemos las denominadas estructuras de datos. Cuando programamos, de forma habitual necesitamos guardar información en nuestro programa, y a priori no conocemos dicha información porque variará dependiendo del usuario. Por ejemplo, imagina un programa que pregunta el nombre al usuario. En un caso podría ser Juan, en otro caso podría ser Sara, y en otro podría ser Pancracio.
Es por ello, que necesitamos utilizar ciertas estructuras de datos (compartimentos) para almacenar dicha información y usarla en nuestro programa de forma abstracta o genérica. Estos compartimentos se identificarán en nuestro programa mediante un nombre identificativo, sin mencionar el valor que contienen directamente.
Más adelante veremos los diferentes tipos de estructuras de datos que existen, ya que algunos se adaptan mejor que otros para almacenar la información, dependiendo de lo que necesitemos.
Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.
Puedes encontrar más sobre mi en Manz.dev