if

If en MySQL con selección de columnas

Función if en MySQL

A través de este post voy a ilustrar la función IF en MySQL; la cual funciona similar a los lenguajes de programación pero en forma de función; lo sé, es un poco complicado de decir pero verás que con los ejemplos quedará claro.

Nota: voy a explicar la función if en MySQL, no la sentencia. Me parece que MySQL también cuenta con la sentencia If pero eso es otra historia y se usa sobre todo en funciones, así que seguramente llegaste al post correcto.

Continue reading…

Ejercicio resuelto: semáforo con JavaScript

En este post veremos la solución a un ejercicio sencillo de JavaScript. Se trata de crear una función que regrese “amarillo”, “rojo”, o “verde” dependiendo del argumento que reciba indicando la luz encendida actualmente.

La función va a indicar cuál es la luz que debería encender de acuerdo a la que está encendida actualmente.

Si la luz es “rojo” entonces debe mostrar “verde”, si es “verde” debe mostrar “amarillo” y finalmente si es “amarillo” debe mostrar “rojo”.

Por cierto, este es un ejercicio de Codewars.

Continue reading…

Programa que indica la situación de un alumno en Python

Otro ejercicio con Python. En este caso vamos a indicar la situación final de un alumno de acuerdo a su promedio. La lista queda así:

  • Si tiene menos de 6, es Insuficiente
  • En caso de tener 6, es Irregular
  • Con un 7 es Regular
  • Si tiene 8, es Bueno
  • Con un 9 es Muy bueno
  • Si tiene 10, es Excelente

En otros lenguajes de programación lo haríamos con switch, pero en Python no existe switch así vamos a hacerlo con unos if y elifs.

Continue reading…

Alternativas y equivalentes a switch en Python

Sentencia switch en Python

No existe la sentencia switch en Python, pero existen equivalentes dependiendo de lo que se desee alcanzar. El uso más conocido de switch es evaluar un valor y evitar anidar múltiples sentencias if.

Alternativas y equivalentes a switch en Python

Alternativas y equivalentes a switch en Python

Aquí se explica justamente eso: cómo hacer un equivalente a switch en Python.

Continue reading…

Booleanos en C

Tipo de dato bool en C

En el inicio de los tiempos, el lenguaje de programación C no tenía el tipo de dato booleano. De hecho, ni siquiera hoy en día lo tiene como tal, es un simple macro.

Sin embargo, como programadores nos hemos dado a la tarea de implementarlos o de emular su uso. Veamos hoy cómo podemos implementar booleanos en C de dos maneras, analizando ventajas y desventajas de cada uso, así como exponiendo ejemplos.

Continue reading…

Mayor y menor de 3 números en C

Introducción

No sé por qué pero hoy estaba recordando mis inicios en esto de la programación y vino a mi mente una ocasión en la que tuve que sacar el mayor de 3 números en el lenguaje de programación C.

Recuerdo que hice un montón de estructuras de control if, comparando el número 1 con el 2, luego el 1 con el 3, y así sucesivamente; cuando en realidad se puede resolver de una forma más elegante.

Continue reading…

Sentencias de control en Go: If y Switch

Introducción

Este tutorial pretende ser muy sencillo. Simplemente explica cómo funciona la sentencia if, else y switch. Veremos cómo a veces vamos a preferir switch, y cómo aquí no tenemos que utilizar break cuando lo utilizamos.

If y else

Comencemos con la sentencia if. A diferencia de otros lenguajes, la condición no va entre paréntesis. Y aunque el cuerpo ocupe una línea, debemos encerrarlo entre llaves.

La forma más simple del if y else es esta:

Al ejecutar el código, se imprime “Verdadero”:

También puede haber if sin else

En este caso imprimimos sólo si la condición se cumple; en caso de que no, no hacemos nada. Recordemos que un if siempre puede ir sin else.

Podemos hacer negaciones

Recuerdo que cuando inicié a programar (con C) hace algunos años, me ocurrió algo muy gracioso. No sabía cómo hacer un else sin un if. Es decir, dejaba el if (con la condición) vacío, y ejecutaba el código sólo en el bloque del else.

Si tan sólo mis profesores (y no los culpo) me hubieran enseñado que las condiciones se pueden negar con ! las cosas serían distintas. En fin, podemos negar una variable, el resultado de una función, etcétera.

 

En este caso estamos negando a false, lo que da como resultado true.

Utilizar and y or

Dos de las compuertas lógicas básicas: and, en donde todas las condiciones deben cumplirse. Y or, en donde al menos una de ellas debe cumplirse.

La salida al ejecutar el programa es la siguiente:

5 > 0 && 10 > 9
1 < 2 && 5 > 1
4 > 9 || 3 < 10

If anidados con else

Podemos crear tantos if y elses como deseemos, aunque en estos casos se prefiere el switch, que veremos más abajo. En fin, así se ve:

La salida será Excelente. Si la calificación no cumple ninguna condición, el programa irá al else, en donde dirá “Sin palabras”.

If anidados

Puede que deseemos ejecutar múltiples cosas en varios bloques if, así:

En este caso utilizamos el operador módulo, que se encarga de sacar el residuo de una división. Por ejemplo, al dividir 10 entre 3, el residuo es 1; es por ello que sabemos que 10 no es múltiplo de 3. Pero no pasa lo mismo con 5 y 2.

Asignar variables antes de iniciar la condición

A veces es necesario asignar una variable que utilizaremos dentro de la condición. Para ello, podemos hacerlo como en los ejemplos de arriba, en donde asignamos calificación. O podemos hacerlo así:

En este caso es un ejemplo sin sentido, pues no utilizamos a edad dentro del if o else, pero ilustra correctamente.

Por favor notar que esta variable sólo vivirá dentro del if (y else, si es que ponemos); ya que si la queremos utilizar fuera de éstos habrá errores.

Asignar variables dependiendo de condición

Para terminar, veremos cómo asignar un valor dependiendo de una condición.

Qué bueno que hice este ejemplo, así también puedo demostrar que si una variable es booleana o devuelve un booleano, no es necesario compararlo con == true o con == false. Es decir, es lo mismo:

if variable == true{} y if variable{}

Así como:

if variable == false{} y if !variable{}

Switch

Esto será sencillo. Switch es como un if, pero más limpio. Permite comparar muchas condiciones, y sólo evalúa una de ellas; cuando se cumple, ya no ejecuta las demás.

Lo que más me gusta de esto es que podemos no sólo comparar números, sino cadenas y resultados de funciones.

Si ninguna condición se ejecuta, se llama a default.

Finalmente quiero hacer que noten que no es necesario el uso de break como en otros lenguajes, ya que el switch se termina cuando una de sus condiciones se cumple.

Evaluando muchas condiciones

Podemos evaluar varias condiciones que se verían confusas con bloques if. Notar por favor que es como si se comparase con ==, y no podemos utilizar >= o <=

 

Comparando cadenas

Podemos comparar tanto cadenas como números enteros. Si queremos hacerlo con cadenas, puede ser así:

Y también podemos declarar variables que sólo serán visibles en el ámbito del switch. Por ejemplo, así se vería el ejemplo de arriba: