lunes, 17 de junio de 2013

Curso programación desde 0 - Tema 5 - Usando condicionales

Como podréis imaginar en la programación no va a ser todo líneas unas debajo de otras, usando distintas operaciones; una de las cosas más utilizadas son los condicionales, lo cual es simplemente eso, una condición en algún lugar del programa, cuando la condición que escribimos se cumple, el programa sigue por el camino marcado, si no se cumple, sigue por el camino alternativo, lo cual se representaría así:

Si (se cumple la condición)
                Sigo por aquí;
Si no
                Sigo por aquí;

Como la mejor manera de entender las cosas es verlas y después probarlas nosotros mismos, aquí vamos con un ejemplo, vamos a coger el ejemplo del tema 2, el ejercicio de tenemos sed, vamos a mejorarlo, utilizando todo lo aprendido hasta ahora

Var TenemosSed Verdadero/Falso; //declaro la variable
Var NumVasosLimpios Número;

TenemosSed = true (Verdadero);
NumVasosLimpios = 3;
Si (TenemosSed)
Nos levantamos;
Vamos hasta la cocina;
Abrimos la vitrina;
Si (NumVasosLimpios > 0)
Cogemos un vaso;
                Si no
                               FregamosUno;
                               Cogemos el vaso limpio;
Dejamos el vaso en un lugar seguro;
Vamos hasta la nevera;
Cogemos la botella de agua (o líquido a nuestro gusto);
Cerramos la nevera;
Abrimos la botella;
Llenamos el vaso;
Cerramos la botella;
Volvemos hasta la nevera;
La abrimos;
Guardamos la botella;
Cerramos la nevera
Volvemos hasta el vaso;
Bebemos;

En este ejemplo podemos ver fácilmente que lo primero que hacemos es declarar la variable TenemosSed y la declaramos como verdadero o falso, esta variable cojera un valor en concreto que cambiara al ser ejecutada por un evento, como puede ser hablar mucho, pero los eventos, funciones y otras cosillas las veremos en temas más avanzados, de momento solo nos interesa entender que es y cómo funciona un condicional, justo debajo declaramos otra variable NumVasosLimpios esta variable en vez de darle un valor como también hacemos con TenemosSed también deberíamos recogerla en una función, Si pudiéramos probar el programa tan solo deberíamos cambiar los valores y ejecutarlo. A TenemosSed le damos el valor de verdadero, así que el programa cuando comprueba Si TenemosSed ve que es verdadero, por lo que se cumple la condición, y sigue por debajo, ojo aquí tenemos 2 condicionales, el primero: Si (TenemosSed) no tiene un SI NO al final, por lo que no ejecutara nada si no se cumple la condición, el bloque SINO no es obligatorio.

Después hacemos algunas acciones que ya quedaron comentadas temas atrás, y tenemos otra condición en la que miramos el valor de NumVasosLimpios, como más arriba le hemos dicho que tenemos 3 vasos limpios el ordenador mirara si (3 > 0) o en otras palabras, si 3 es mayor a 0; en este caso sí, es decir verdadero, así que al ser verdadero, cogeremos un vaso.

Si le hubiéramos dado un 0 al número de vasos limpios la condición seria Si (0>0) y seria falso, por que 0 no es mayor que 0; 0 es igual a 0, pero no mayor, así que se iría a donde fregamos un vaso, y no ejecutara el paso de Cogemos uno; si quisiéramos que coja un vaso si tenemos 1 o más la condición seria así:

 Si (NumVasosLimpios => 1)
                Lo que sea

Con eso decimos si tenemos 1 o más vasos limpios, el resto del código; un punto a tener en cuenta es que si os fijáis, tenemos todas las líneas una debajo de otra, pero una vez metemos un condicional dejamos un espacio delante de las siguientes ordenes, así hasta llegar a la condición de SI NO, esto está hecho a propósito, a esto se le llama Indentar el código, o tabularlo, diciéndolo más coloquialmente, y tan solo consiste en dar una vez al tabulador, para dejar ese espacio en concreto; en la mayoría de lenguajes no es obligatorio, pero si es una buena costumbre y casi una necesidad, ya que de un solo vistazo podemos ver que parte del código se va a ejecutar cuando se cumple una condición, también se usa para marcar el código que va dentro de funciones, o de bucles repetitivos, y no afecta al rendimiento del programa, por lo que es casi obligatorio hacerlo; lenguajes como Python obligan a indentar el código, en caso de que no esté tabulado no funcionaria, son casos extraños, pero repito es buena costumbre.


Un buen ejercicio de ejemplo podría ser un programa que pida la edad del usuario, y si es menor de edad le muestre un mensaje diciéndole que no puede entrar, si es mayor, le muestre otro dándole la bienvenida

Recuerda que el mejor modo para la corrección es publicarlo como comentario debajo del ejercicio, así tú y todos tus compañeros podréis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com

Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales (Tema actual)
Tema 4 - Arrays
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores

Tema 1 - ¿Que es la programacion?