Hola y bienvenidos.
Vamos a continuar con más temas de decisiones en el lenguaje.
Están listos?
Vamos.
Bien, vamos a agregar un complemento a la sentencia if else que ya hemos visto.
Así que vamos a ver ahora cómo poder agregar una nueva condición a evaluar después de la sentencia If.
Pero antes del último bloque, en caso de haberlo agregado el bloque else y agregar una nueva condición.
Entonces vamos a agregar otro bloque else if.
Así que vamos a ver la siguiente sintaxis.
Vamos a ver que nuestro bloque if tiene que ser el primer bloque que vamos a agregar.
Vamos a agregar una primera condición En caso de que esta condición sea verdadera, se ejecuta este
bloque de código y se omite la ejecución de los demás bloques que vienen a continuación.
Por otro lado, si la revisión de esta condición no es suficiente y queremos agregar otra condición
además de este bloque if, entonces para ello podemos agregar nuestro bloque else if y podemos agregar
tantos bloques de este tipo como necesitemos.
Eso tiene la ventaja que podemos agregar una nueva condición.
En este caso, abrimos otro bloque de código y si esta nueva condición ahora sí es verdadera, entonces
se ejecuta este bloque de código.
De lo contrario, si es falsa, se omite la ejecución de este bloque de código y continuamos con los
demás bloques else if en caso de que existan.
Y si ya no existen más bloques else if.
Pero si tenemos un último bloque else, entonces ejecuta por último este bloque else.
Así que en caso de que las condiciones anteriores que se han evaluado sean falsas, entonces por último,
se ejecuta este bloque else, pero cualquiera de las condiciones anteriores que hubiera sido verdadera,
entonces se ejecuta ese bloque y se omite la ejecución de los demás bloques de código.
Bien, vamos a completar nuestro ejemplo para poner en práctica esta condición de sentencia if else
if else.
Bien, lo que vamos a hacer en nuestro ejercicio para completarlo es que ya sabemos que si el número
es positivo, se ejecuta nuestro bloque if y entonces se imprime el número positivo que hemos encontrado.
Sin embargo, si la condición es falsa, entonces se ejecuta nuestro bloque else y se imprime valor
cero o negativo.
Pero aquí tenemos el detalle de que no estamos seguros si el valor es cero o si el valor es negativo.
Así que si queremos separar todavía más este bloque y asegurarnos que sea tanto cero o negativo, entonces
para ello precisamente podemos agregar una condición más.
En este caso vamos a agregar la condición else if.
Abrimos un bloque de código nuevo.
Estas llaves no tienen que terminar con punto y coma.
Así que en este caso, aunque lo agregó, Elide no debe de llevar punto y coma al final, ya que los
bloques de código.
Estas llaves no llevan punto y coma al final solamente las sentencias como de este tipo.
Las líneas de código es así, terminan con punto y coma al final.
Sin embargo, agregó ese punto y coma debido a que aquí me falta agregar la condición.
Así que de igual manera que nuestro primer bloque if ponemos la palabra if y posteriormente entre paréntesis,
agregamos la condición a evaluar.
Así que también este bloque else if podemos observar que else está separado de la palabra if.
En este caso tenemos que separarlo para que funcione correctamente, ya que si no utilizamos un espacio
podemos observar que esta palabra no se puede leer correctamente y entonces.
Por ello, para que se lea correctamente este código, el compilador necesita que carguemos un espacio
en caso de que manejemos esta sentencia else if.
Y entonces ahora sí, ya podemos agregar otra condición.
Ahora esta condición vamos a preguntar si el número proporcionado es menor que cero.
Así que la primera condición preguntamos si es mayor que cero.
Y en esta segunda condición agregamos si es menor que cero, con el objetivo de que si es menor que
cero, entonces ya estamos seguros y podemos mandar a imprimir que el valor proporcionado es negativo,
así que vamos a mandar a imprimir.
De igual manera, debido a que este bloque de código solamente tiene una línea de código, bien podríamos
omitir el uso de llaves.
Yo de momento las voy a dejar, pero ya saben que si tiene solamente una línea de código su bloque else
if bien podrían omitir las llaves.
Bien, y posteriormente voy a mandar a imprimir en primer lugar un salto de línea valor negativo.
En este momento ya estamos seguros debido a que estamos realizando la condición si el valor proporcionado
es menor que cero.
Así que imprimimos el valor de la variable mi número y por último el bloque else.
En caso de que no sea ni positivo ni negativo, entonces ya estamos seguros que el valor es cero.
Por lo tanto ya podemos quitar ese texto.
El valor ya estamos seguros que es cero.
Incluso aquí no habría necesidad de mandar a imprimir el valor de esta variable, pero vamos a dejarlo
simplemente para que sepamos y estar seguro de que nuestro código funciona correctamente.
Bien, así que con esto ya tenemos todo nuestro código.
Vamos a ejecutar.
Y entonces podemos cesar nos pide proporciona un valor.
Proporcionamos cualquier valor positivo.
Por ejemplo, el valor de siete sigue funcionando correctamente.
En nuestro código se imprime solamente el texto Valor positivo siete.
Esto quiere decir que esta condición fue verdadera y solamente se ejecuta el bloque de código asociado
a la revisión de esta condición y por lo tanto se omiten las demás revisiones.
Ya no se hace ninguna revisión más.
Esto ya no se revisa y tampoco se ejecuta el bloque else asociado, ya que solamente se ejecuta la condición
que fue verdadera.
Por ello es que en la salida solamente vemos el texto valor positivo y ya no vemos el texto ni valor
negativo ni valor cero.
Bien, vamos a probar.
Volvemos a ejecutar y probamos con los demás casos.
Probamos con algún valor negativo, por ejemplo, el valor de -9.
Damos enter y podemos observar que se imprime solamente el mensaje de valor negativo.
Esto quiere decir que se evaluó esta condición, pero debido a que fue falsa, entonces ya no se ejecutó
este bloque de código y continuamos con el siguiente bloque y se revisa la siguiente condición.
En este caso se revisa esta condición y debido a que nueve si es menor que cero, entonces en este caso
esta condición es verdadera y si se ejecuta este bloque de código y los demás bloques de código, recordemos
que aquí todavía podríamos tener más bloques else if podemos tener tantos como necesitemos.
A esto también se le conoce como bloques else if anidados.
Bien, pero de momento ya no tenemos más condiciones ni más bloques else if.
Pero si los tuviéramos, simplemente se omitirá.
También de igual manera el bloque else se omite, ya no se va a ejecutar, así que solamente se ejecuta
la parte de la condición verdadera y por ello en la salida se imprime valor negativo, el valor de -9.
Y vamos a probar con el último caso para que se ejecute la parte del bloque else.
Para que se ejecute tenemos que proporcionar el valor de cero.
Damos enter y entonces podemos comprobar que se imprime únicamente valor cero.
Es decir que se revisó esta condición.
Es decir, que si ejecutamos paso a paso se revisa esta condición en primer lugar debido a que es falso,
entonces ya no se ejecuta este bloque de código, nos vamos al siguiente.
Se revisa ahora esta condición.
En este caso también esta condición es falsa, ya que cero no es menor que cero si no es igual.
Por lo tanto, continuamos con la siguiente revisión y en este caso ya no hay ninguna otra condición
a evaluar.
Así que se ejecuta este bloque que es el último bloque también conocido como bloque por default, ya
que se ejecuta en caso de que ninguna de las otras condiciones haya sido verdadera ya sin evaluar ninguna
condición.
Y entonces se imprime únicamente el texto valor cero, incluyendo el valor de la variable número.
Así que podemos llevar en consola valor cero y con esto termina la ejecución de nuestro bloque if else.
Aquí, si todavía tuvieran alguna duda, pueden ejecutarlo paso a paso y también si nos ponemos en la
línea tres, vamos a generar nuestro diagrama de flujo.
Ustedes lo pueden revisar a detalle, pero básicamente podemos observar que tenemos dos bloques if anidados,
dos decisiones que se pueden tomar aquí Estamos revisando una primera condición y en caso de que la
condición sea verdadera, se imprime el valor positivo y termina la ejecución de nuestro programa,
como podemos observar en nuestro flujo.
Ahora, por otro lado, si esta condición es falsa, entonces pasamos a la siguiente condición.
Por ello, esta condición es una condición anidada, es decir, es una condición dentro de otra condición.
Eso significa que sea un bloque anidado o una decisión anidada.
Tenemos esta condición dentro, a su vez de esta otra condición.
Bien, así que entonces, si esta primera condición fue falsa, entonces volvemos a revisar otra condición.
Y si esta condición ahora es verdadera, se ejecuta este bloque de código, ya que la condición fue
verdadera, se imprime valor negativo, y si seguimos el flujo de nuestras flechas, entonces ya termina
de ejecutarse en nuestro programa.
Y en caso de que esta condición sea falsa, entonces quiere decir que el valor es cero.
Nos vamos únicamente por esta línea de flujo y podemos observar que aquí se unen las líneas y termina
la ejecución de nuestro programa.
Así que ese es el manejo de sentencias en el lenguaje C.
Con esto ya estamos poniendo en práctica la sintaxis completa del bloque if.
Else if else.
Así que pongan en práctica lo que hemos visto y continuamos con la siguiente lección.
Saludos.