martes, 13 de marzo de 2012

Estructuras Condicionales

Buenas amigos, en el anterior tema pudimos ver como funcionaban las estructuras secuenciales, unas estructuras que comenzaban en un punto A y terminaban en un punto B. En este tema realizaremos una estructura que comience en un punto A y termine en un punto B o en un punto C.
Como todos podéis observar en la vida hay que estar continuamente tomando decisiones...Llegas a un cruce y no sabes si ir a la izquierda o ala derecha.....Bien, para esa tomas de decisiones java (y casi todos los lenguajes de programación, por no decir todos) posee las estructuras condicionales, las cuales toma las decisiones bajo una condición. Claro está nosotros deberemos indicarle a Java que decisiones tiene que elegir para cada situación que le indiquemos. Hay 2 tipos de Estructuras Condicionales:
  • Estructuras Condicionales Simples:
Estas estructuras tienen el siguiente formato:

                 if(Expresión-Booleana){
                     sentencia
                        .......  
                 }
Las expresiones booleanas son aquellas que permiten dos valores : Verdadero(V) o Falso(F).

Pongamos un ejemplo:
*Realizar un programa que pida la nota media del alumno, y si la nota es superior a 5, mostrar un mensaje que diga "APROBADO"

Bueno, creamos un nuevo proyecto y una nueva clase para nuestro programa, el cual puedes volver a ver aquí



Bien comenzamos importando la clase Scanner de la librería Java.util para poder leer datos desde teclado.
        • import java.util.Scanner
Posteriormente creamos dentro de la main un objeto de la clase Scanner llamado teclado:
        • Scanner teclado=new Scanner(System.in);
*System.in se coloca siempre entre los paréntesis de la clase Scanner para indicarle a java que el objeto teclado creado es para leer datos desde teclado.

Creamos una variable de tipo Float (son las que admiten coma flotante junto con double ejem: 5,5):
        • float notaMedia;
Mostramos un mensaje por consola pidiendo la nota media del alumno:
        • System.out.print("Ingrese la nota media del alumno: ");
Asignamos a la variable notaMedia el valor leído por teclado:
        • notaMedia=teclado.nextFloat();
Una vez introducida la nota media del alumno, java se encuentra en la encrucijada, debe tomar una decisión, ¿Será el alumno aprobado? Bien, para ello le decimos a java "Si el alumno, tiene una nota media igual o superior a 5, es aprobado". Esto sería lo que haría una persona normal si estuviese revisando las notas una a una, ¿pero como pasamos esta expresión coloquial a un lenguaje para la máquina? Anteriormente ya dijimos el formato que poseía la Estructura Condicional Simple, así que nos vamos a ella y comenzamos
        • if(notaMedia>=5){
                                         System.out.print("APROBADO")
                                            }
La condición comienza como en castellano "Si...", pero para ello utilizamos el si condicional, en ingles IF,
posteriormente tenemos entre paréntesis la expresión Booleana (notaMedia>=5), comparamos la variable notaMedia con el valor mínimo para aprobar, así mientras una nota sea igual o superior a 5, el programa realizará la acción interpuesta, que en nuestro caso es un mensaje por pantalla que indica que el alumno está aprobado. Si la nota es menor a 5, el programa no realizará ninguna acción.
  • Estructuras Condicionales Compuestas
Mientras que en la anterior estructura condicional podíamos ver que Java realizaba una acción cuando la expresión booleana era verdadera, en este tipo de estructuras condicionales, podemos observar que Java realiza una acción cuando la condición es verdadera, y otra acción cuando la condición es Falsa.El formato es el siguiente:

                              if(Expresión-Booleana){
                                     sentencia;
                                        .......  
                                }else{
                                       sentencia;
                                          .........
                                }

Tomando el ejemplo anterior, ahora queremos que se nos muestre un mensaje por consola cuando el alumno aprueba, y otro mensaje por consola cuando el alumno suspende, veamoslo:


Como podemos observar, he utilizado el código del anterior ejercicio y le he agregado un par de lineas más a la condición IF, esto se podría traducir como: "SI la nota media del alumno es mayor o igual que 5, Aprobado SINO (else) Suspenso".

La traducción para la máquina sería:                                    
        • if(notaMedia>=5){
                                         System.out.print("APROBADO");
                                         }else{
                                          System.out.print("SUSPENSO");
                                          }

Con este nuevo trozo de código, Java toma decisiones de aprobar o suspender, pero siempre bajo un valor estipulado por el programador. Por muy potente que sea Java, no es capaz de tomar decisiones propias, si no le pasamos un valor previo para comparar, no realizará ninguna acción.

Hasta aquí las Estructuras Condicionales Simples y Compuestas, en el siguiente tema, veremos estas mismas Estructuras pero de forma anidada. Un saludo.

No hay comentarios:

Publicar un comentario