Ir al contenido principal

Comenzando a programar: Condicionales

Programación: Condicionales

Hola, futuros programadores. Hoy vamos a ver qué son y para qué sirven los condicionales. Estos elementos permiten modificar el flujo de nuestro programa. ¿Y qué quiere decir esto? Esto significa que, el lugar de ejecutar todas las líneas de código podamos decidir qué bloque de código de nuestra aplicación queremos ejecutar en función de una condición. Una condición no es más que una comprobación: si un valor es mayor que otro, si es igual a 0, etc.

Hay dos tipos principales de condicionales cuando estamos programando: los if-else y los switch -y no, no me refiero a la consola-. Los if-else son los más genéricos. En ellos se pueden colocar cualquier tipo de condición, mientras que los switch son utilizados únicamente para comprobar si un valor es igual a otro(s) concreto(s).

Los if-else se pueden encadenar unos con otros, de forma que podemos unir tantas condiciones como queramos de muchas formas, cosa que veremos en los ejercicios. Podemos ver la lista de operadores aquí, en la sección "Relational Operators". Vamos a ver cómo funciona un if con un simple ejemplo:


#include <stdio.h>

int main(){
   int x = 4;
   if(x<5){
       printf("x es menor que 5");
   }else{
       printf("x es mayor o igual que 5");
   }
}


Aquí se puede ver como funciona un if-else habitual. Se define la condición entre los paréntesis. Si la condición indicada se cumple -es decir, es true o verdadera- se ejecutará el código entre las llaves del if, y si no se cumple el código entre las llaves del else. Por tanto, lo que hace este programa es imprimir el mensaje "x es menor que 5" si x es menor a 5 y el mensaje "x es mayor o igual que 5" si no lo es.

Las expresiones utilizadas para las comparaciones pueden ser muy complejas. Para ello se utilizan los conocidos como operadores lógicos. Lista aquí, sección "Logical Operators". Básicamente permiten crear una expresión de condición juntando varias. Por ejemplo el operador && (y) permite hacer expresiones que tengan que cumplirse las dos condiciones, o el operador || (o), que con que se cumpla una de ellas es suficiente. También existe el operador negación (!), que invierte la condición que indiquemos. Veamos un ejemplo:


#include <stdio.h>

int main(){
   int x = 4;
   if(x<5 || !(x<=10)){
       printf("x es menor que 5 o mayor que 10");
   }else{
       printf("x es un número entre 5 y 10");
   }
}


En este caso la condición se cumplirá tanto si x es menor a cinco como si es mayor que 10. Esto es así porque !(x<=10) solo será true si x>10, ya que la condición está negada -es al revés-. Y como la expresión x<5 y la expresión !(x<=10) están unidas por un operador || llega con que una de ellas se cumpla. Parece muy difícil, pero os aseguro que solo es pillarle el truco.

Los switch, como ya hemos adelantado al principio, son mucho más limitados, ya que simplemente pueden comprobar si una variable tiene un valor concreto. Veamos el ejemplo:



#include <stdio.h>

int main(){
   int x = 4;
   switch(x){
       case 5:
              printf("x es 5");
              break;
       case 6:
              printf("x es 6");
              break;
       default:
              printf("x no es ni 5 ni 6");

              break;
   }
}


En los switch, a diferencia de a los if, entre sus llaves se le indica la variable a  comprobar. Entre sus llaves le sigue una serie de case's y un default. En el case se indica un valor concreto, que debe ser siempre una constante -es decir, no puede ser una variable-. Los case's del switch se van comprobando por orden de aparición, y cuando un valor coincide con el valor de la variable, ejecuta el código del case correspondiente. Si no coincide con ningún valor de los case, ejecuta el código del default. Los break se utilizan para indicar dónde termina el código de un case.

Ejercicios

Como ya sabéis, con todos los ejemplos os voy a dejar unos ejercicios para que practiquéis por vuestra cuenta.

Ejercicios aquí.
Soluciones aquí.

Cualquier duda que tengáis con lo que se ha explicado aquí o con los ejercicios no dudéis en dejarnos un mensaje.

Comentarios

Entradas populares de este blog

¿Por qué programar?

Hola, futuro programador. Supongo que te estás preguntando para qué puede ser útil para ti saber programar. Espero poder responderte a eso con unos pequeños ejemplos y experiencias para las que, para mi, me ha sido muy provechoso. Lo primero es tener claro qué es la programación. Para ello podemos guiarnos por definiciones bastante formales pero realmente programar simplemente es resolver un problema concreto mediante la automatización de tareas. Aún así, esta definición puede sonar bastante abstracta, pero os pondré un pequeño ejemplo: la alarma que nos despierta todos los días. Puede parecer un elemento poco importante, pero todos sabemos que no lo es. El problema que trata de resolver está claro, despertarnos. ¿Y cómo lo consigue?. La respuesta es simple, automatizando una tarea: comprobar la hora y, si coincide, hacer sonar la alarma. Os voy a poner un ejemplo -un tanto curioso, por seros sinceros- en el que saber programar me ha sido extremadamente útil. Se basa en un pr...

Nuestro primer programa

Hola, futuros programadores. Es el momento de programar nuestra primera aplicación. Hay multitud de lenguajes en la actualidad pero para comenzar utilizaremos el famoso C -lenguaje en el que se ha escrito gran parte de los sistemas operativos modernos, como Linux, Windows o MacOS-. Pese a ser un lenguaje muy engorroso, para nuestros primeros pasos es la mejor opción. Vamos a empezar haciendo un simple programa de Hello World! . Este es el programa por excelencia en cualquier lenguaje. Es el más simple que se puede crear, simplemente genera el mensaje "Hello World!" por algún modo de visualización. En estos primeros pasos no vamos a utilizar interfaces gráficas, por lo que de lo único que disponemos es de nuestro viejo amigo el terminal -sí, esa pantalla negra con letras por todos lados que suele asociarse con los hackers-.  Para empezar a programar necesitamos un entorno de desarrollo. Por el momento os recomiendo utilizar alguna herramienta online como esta , aunque...

Comenzando a programar: Funciones

Programación: Funciones Hola, futuros programadores. Ya hemos visto que es una función y hemos trabajo con ellas. Con la función main . Las funciones tienen un nombre, pueden tener -o no- unos valores de entrada y uno -o ningún- valor de salida. Así dicho puede sonar muy genérico o abstracto, pero veremos que es muy sencillo. Las funciones, al igual que las variables, es necesario declararlas para posteriormente utilizarlas. En su declaración se especifica el tipo de variable que va a retornar al finalizar su ejecución -o void si no retornará valor alguno-, el nombre de dicha función, una serie de variables de entrada (con tipo de variable y nombre que va a tener dentro de la función para referirse a ella) y el código a ejecutar. En el caso de C y de muchos otros lenguajes la sintaxis es similar a la siguiente: int suma ( int var1, int var2 ){     return var1 + var2; } Es una función muy simple. Se llama suma , va a retornar un valor int , sus valor...