Hola y bienvenidos.
Vamos a ver a continuación el operador ternario en el lenguaje C.
Están listos?
Vamos.
Bien.
Básicamente, el operador ternario es una simplificación de la sentencia if else, así que vamos a comparar
a continuación la sentencia if else con el operador ternario.
Bien, por un lado podemos observar la sintaxis que ya hemos estudiado de la sintaxis del bloque if
else.
Por un lado tenemos nuestro bloque if y agregamos una condición Si esta condición es verdadera, sabemos
que se ejecuta este bloque de código.
Pero en cambio, si la condición es falsa, entonces agregamos nuestro bloque else y se ejecuta este
bloque de código solamente se ejecuta uno u otro dependiendo del valor de la condición.
Y ahora, si lo comparamos con la sintaxis del operador ternario, tenemos lo siguiente Por un lado
vamos a agregar nuestra condición entre paréntesis.
Así que hasta aquí únicamente estamos agregando la condición.
Es una condición también de tipo booleano, es decir, verdadero o falso, y dependiendo del valor,
si regresa verdadero, vamos a agregar un símbolo de interrogación.
Después de lo que tengamos del símbolo de interrogación, entonces podríamos decir que es el bloque
de código para la parte verdadera para el caso verdadero.
Sin embargo, realmente no es un bloque de código complejo, sino únicamente debe ser una instrucción
bastante breve, ya que el objetivo del operador ternario es que sea una simplificación de la sentencia
if else.
Básicamente, la cantidad de código del operador ternario debería caber en una sola línea de código.
De lo contrario, si es demasiado código, lo más recomendable sería utilizar un bloque if else, ya
que el operador ternario únicamente está pensado para simplificar bloques de código pequeños, pero
en los cuales tengamos que agregar una condición y tengamos que utilizar este código de tipo decisión.
Ahora, si la condición es falsa, entonces vamos a agregar dos puntos y después de los dos puntos tenemos
el caso para cuando la condición es falsa.
Así que vamos a ver un ejemplo para utilizar precisamente el operador ternario, lo que vamos a hacer
es utilizar nuestro ejercicio de sentencia if.
Sin embargo, si recordamos en este caso, hemos agregado más de una condición.
En el caso del operador ternario no tenemos opción para manejar el bloque else if.
Es decir, para agregar más condiciones.
Por lo tanto, para poderlo comparar, vamos a simplificar nuestro código.
Recordemos que simplificamos nuestro código en el caso de que la condición sea verdadera si imprime
valor positivo, pero en caso de que sea falso, entonces tenemos dos opciones puede ser valor cero
o negativo.
Esto debido a que quitamos la condición del bloque else if.
Ahora todo esto lo voy a poner entre comentarios, así que voy a agregar un comentario de varias líneas.
Al principio agrego diagonal, asterisco y cierro este comentario con asterisco diagonal y entonces
todo este bloque de código ya se encuentra entre comentarios.
Se va a omitir, no se va a ejecutar por parte del compilador.
Bien, y ahora entonces vamos a ver el operador ternario y la sintaxis sería la siguiente Lo que vamos
a hacer es mandar a imprimir.
Si el valor es positivo, vamos a dejar este código en el cual le pedimos al usuario que proporcione
un valor y lo asignamos a la variable número.
Una vez que ya tenemos ese valor, entonces vamos a hacer lo siguiente Tenemos nuestro operador ternario,
ya tenemos el valor almacenado en la variable número y agregamos la condición.
La condición va a ser la misma.
Si el número es mayor que cero, entonces quiere decir que es un valor positivo.
Por lo tanto, la sintaxis es después del símbolo de interrogación, vamos a agregar.
En este caso vamos a mandar a imprimir que el valor es positivo.
Como hemos comentado, la idea es que el operador ternario sea un bloque de código bastante pequeño.
Por ello solamente voy a mandar a imprimir la palabra positivo y en caso de que sea negativo voy a agregar
dos puntos y entonces mandamos a imprimir.
Negativo.
Así que si lo comparamos.
Tenemos nuestro bloque IF y tenemos la condición aquí.
En este caso, tenemos exactamente la misma condición.
Y en caso de que sea verdadero, se van a imprimir valor positivo.
Y de igual manera, en caso de que sea verdadero después del símbolo de interrogación de cierre, entonces
agregamos la parte para el bloque positivo.
Y si fue falsa nuestra condición, entonces después de los dos puntos agregamos nuestro bloque para
imprimir precisamente el caso negativo.
Y entonces con esto ya estamos comparando el bloque if else con nuestro operador ternario y podemos
observar que esto solamente se recomienda cuando nuestro código es bastante compacto.
Bien, vamos a ejecutar proporcionamos cualquier valor, por ejemplo, en este caso un valor positivo,
el valor de diez, y observamos que solamente se imprime el texto de positivo.
Así que el valor de diez es un valor positivo y en caso de que sea negativo, también podemos aquí imprimir
los dos casos cero o negativo, ya que debe de incluir ambos casos.
En caso de que la condición sea falsa.
Así que proporcionamos por ejemplo, el valor de cero y entonces ahora ya no se imprime, que es positivo,
sino que puede ser cualquiera de estas opciones cero o negativo.
Vamos a volver a ejecutar.
Proporcionamos algún valor negativo, por ejemplo.
Al menos siete, y también muestra el mensaje cero o negativo.
Así que esta es la forma en que trabaja nuestro operador ternario.
Podemos observar que es simplemente una simplificación de nuestra sentencia if else.
Bien, pongo en práctica lo que hemos visto y continuamos con la siguiente lección Saludos.