Vamos a continuar con el programa que hemos visto en el vídeo anterior. El programa nos ha quedado
bastante complejo. De hecho, fijaos que si era complejo que me he tenido que saltar la estructura que explicaba
antes de, entrada de datos, algoritmo y después salida de datos. Voy a emplear ahora valores lógicos para
simplificar este programa y que se adapte a la estructura que os he explicado. Voy a ir a la línea comandos, voy a
borrar todo lo que había, para hacer un par de ejemplos. Fijaos que hemos visto las variables de tipo lógico,
que devuelven verdadero o falso. Veis, en este caso 3 es mayor que 2 devuelve verdadero. Si hubiera puesto
menor que 2 en este caso devuelve falso. Nosotros también podemos crear directamente variables de
tipo lógico usando 2 comandos que son. True, verdadero y False, falso. Fijaos True es un valor lógico de valor 1
y False falso es un valor lógico, valor 0. Yo puedo asignar una variable estos valores.
Por ejemplo, puedo decir x igual a True, entonces x vale verdadero. Fijaos ahora en el
espacio trabajo. x tiene el valor tipo lógico y es 1. Fijaos que esto es diferente a que yo
hubiera dicho que x valiera 1. ¿Cuál es la diferencia? Le voy a dar al Intro. ¿Observáis la diferencia?
Ha cambiado el tipo de la variable. Esto no es una variable de tipo lógico, no basta con poner x igual a 1.
Es mejor poner x igual a true. True el valor es 1. Aparentemente no hay diferencia pero como vemos en el
espacio de trabajo si hay diferencias. Esto es un valor de tipo lógico. Es el que se usa para tomar decisiones.
Voy a simplificar este programa usando la variable tipo lógico. Esa variable tipo lógico va a valer
verdadero si el año bisiesto. Y va a valer falso si el año no es bisiesto. Fijaos que lo que
nos interesa aquí capturar siempre es el caso en el que fue bisiesto. Vamos a simplificar
el programa asumiendo que el año que ha i ntroducido no es bisiesto usando una variable lógica
Voy a crear esta variable la voy a llamar esBisiesto y voy a asumir, la voy a poner por defecto al valor a falso.
Voy a asumir que el año que ha introducido el usuario no es bisiesto. Y si se demuestra
lo contrario. Si dentro del código consigo demostrar lo contrario, le cambio el valor.
Por ejemplo. ¿Donde puedo demostrar lo contrario? Aquí, se que fue bisiesto. Pues en vez de mostrar el mensaje.
Voy a cambiar el valor de la variable esBisiesto y la voy a poner a verdadero. Efectivamente, fue bisiesto.
Fijaos, pongo por defecto la variable esBisiesto a falso. Todos los casos donde sea falso ya no me hacen falta.
¿Por qué? Porque en este caso tendría que poner la variable, tendría que escribir siguiendo el ejemplo anterior,
que la variable esBisiesto es falso. Pero ¿Qué ocurre? Que ya era falsa antes; entonces al hacer este uso
de variables lógicas ya me puedo quitar este caso de encima y ya voy simplificando un poco el caso.
¿Donde hay un mensaje también de que fue bisiesto? Aquí, pues aquí pongo que
la variable esBisiesto es verdadero. He capturado que la variable esBisiesto, el año es bisiesto, tengo que
poner la variable en verdadero. Y aquí tendría que poner de nuevo la variable a falso. Pero como ya se
falso si no ha caído en ningún caso anterior; no hace falta volver a ponerla. Ya he supuesto desde el inicio
que es falso. Borró este caso y fijaos el programa ha quedado ahora bastante más sencillo. Sí alguna
de estas condiciones se cumple se va a cambiar el valor de la variable esbisiesto. Si el el año es bisiesto, se va
cambiar el valor de la variable esBisiesto. Y si no cayera en ninguno de estos dos casos, la variable esBisiesto
no se va a tocar. Y como ya he supuesto que era falsa, pues se va a quedar falsa. Al suponer que es falsa
me he ahorrado condiciones aquí y he simplificado el código. Además como bonus, ahora ya puedo
poner la salida datos aquí fuera. ¿Porqué? Pues es muy fácil.
Si el año fue bisiesto o es bisiesto. Muestro el mensaje fue bisiesto.Y si no muestro el mensaje no fue bisiesto.
Fijaos que es sencillo usando la variable lógica esbisiesto. Puede ser un poco complicado darse
cuenta qué es fácil simplificar el programa usando esta variable lógica. Es difícil; si pensáis que es difícil,
que no se le hubiera ocurrido a vosotros, es normal. Sobre todo al principio; ya con el tiempo ya iréis cogiendo
más experiencia. Pero lo importante en este vídeo es que entendáis los cambios que ha realizado en el programa.
Incluso si os parece más complicado que en el caso anterior. Porque esto de tener una variable,
que vale verdadero o falso y usarla aquí directamente como condición, pues no es trivial.
Fijaos que lo que tenemos que poner aquí siempre en un If es algo que devuelva verdadero o falso.
Y como la variable esbisiesto vale verdadero o falso, la podemos a poner aquí directamente sin ningún operador.
Este truco de usar la variable tipo lógico para simplificar los programas; pues es bastante habitual.
Ya lo sabéis y lo podéis usar en vuestros programas. Por último vamos a ejecutar. Vamos a comprobar que
esto funciona bien. Que no hemos cambiado nada. El año 79 no era bisiesto; debe salir no fue bisiesto. Muy bien.
El año 76 si era bisiesto, vemos que funciona igual. El año 2000 si era bisiesto, el año 1900 no era bisiesto
pues parece que el programa con estas modificaciones que hemos hecho está funcionando igual y es correcto.