miércoles, 17 de diciembre de 2014

IF ANIDADOS.

Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional.El diagrama de flujo que se presenta contiene dos estructuras condicionales. La principal se trata de una estructura condicional compuesta y la segunda es una estructura condicional simple y está contenida por la rama del falso de la primer estructura.
Es común que se presenten estructuras condicionales anidadas aún más complejas.

Problema:

Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el promedio e imprima alguno de estos mensajes:
Si el promedio es >=7 mostrar "Promocionado".
Si el promedio es >=4 y <7 mostrar "Regular".
Si el promedio es <4 mostrar "Reprobado".

OPERADOR SWITCH.

Switch es un tipo especial de iterador de concatenación que tiene n entradas. A cada operador Switch se asocia una expresión. Dependiendo del valor devuelto de la expresión (entre 0 y n-1), Switch copia la secuencia de entrada correspondiente en la secuencia de salida.
Un uso de Switch es implementar planes de consulta en el que participan cursores de avance rápido con determinados operadores, como el operador TOP.
Switch es un operador lógico y físico.El switch no es tan popular como el if, pero se utiliza con regularidad en la programación. En principio la funcionalidad de un switch también se puede implementar con múltiples ifs anidados. En el caso de que hayan muchas acciones dependientes de muchos valores iniciales, es recomendable su uso. El switch favorece la legibilidad y rapidez en la programación.

BUCLE FOR.

Es un bucle más "fijo", permite ejecutar el conjunto de sentencias un numero determinado de veces fijado al principio del bucle y funciona por tanto como un contador. Su expresión general seria como la que sigue: 

for (inicialización, expresionBooleana, incremento) {conjuntoDeSentencias;} 

for (int i= 0; i <10; i++){     System.out.println("el valor de i es: " + i); }

Este ejemplo nos mostraría por la pantalla diez líneas diciéndonos el valor creciente de 'i' de cero a nueve. 



CONTROL FOR MEJORADO.

La ejecución de la estructura de control for comienza con la instrucción de inicialización. Esta instrucción suele realizar la inicialización de una variable de control que suele conocerse como centinela. A continuación se comprueba la condición cuyo resultado tiene que ser un valor booleano true o false.
Si la condición se evalúa como true se ejcuta el bloque de instrucciones delimitadas por las llaves que solo son necesarias si hay más de una instrucción. Después se ejcuta la instrucción de incremento y vuelve a comprobarse la condición. Así sucesivamente hasta que la condición no se cumple.
La inicialización, la condición y el incremento son instrucciones opcionales. Aún así sino se utilizan debe de estar presente el delimitador punto y coma (;). Por ejemplo si omitimos la condición y el incremento, la estructura de control for quedaría así:
for(int i=0;;)
{
   //instrucciones
}

Además si declaramos una variable en la instrucción de inicialización como en el ejemplo anterior, ésta solo será accesible desde el interior de la estructura de control for. Remarco esto porque todavía no hemos visto el ámbito de las variables y puede llevar a confusiones, así que de momento saber que solo puede utilizarse dentro del bucle for.
Vamos a ver el ejemplo que vimos en la entrada dedicada a la estructura de control while, pero en este caso utilizando la estructura de control for:
public class EjemploFor
{
    public static void main(String[] args)
    {
          for(int i=1; i<11; i++){
               System.out.println("Número: " + i);
          }
     }
}


CONTROL WHILE, DO WHILE.


if else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuantas veces queremos ejecutar una instrucción.:
While (condicion) {
// Instrucciones a ejecutar una y otra
//vez mientras la condición sea cierta
}
El funcionamiento es muy parecido al del if-else, la diferencia estriba en que si la condición es cierta y se ejecuta la orden, la condición vuelve a comprobarse una y otra vez mientras siga siendo cierta. En cambio en el cambio del if-else sólo se comprueba la condición una vez, si es cierta se ejecuta la instrucción y se sigue con el programa.
La estructura de control while permite ejecutar un bloque de instrucciones mientras se cumpla una condición que se evañúa a un booleano true o false. Como en el caso de la estructura de control if, las llaves solo son obligatorias si el bloque de instrucciones está formado por más de una instrucción.
La sintaxis básica de la estructura de control while es la siguiente:
while(condicion)
{
    //instrucciones
}
Existe también una versión diferente, la estructura de control do…while. La diferencia está en que en la estructura while primero comprueba la condición y si se cumple ejecuta el bloque de instrucciones, en cambio en la estructura de control do…while primero se ejecutan las instrucciones y después se comprueba la condición. De esta forma se garantiza que el bloque de instrucciones se ejecute al menos una vez.
La sintaxis básica de la estructura de control do…while es la siguiente:

do
{
   //instrucciones   

} while(condicion);