martes, 21 de agosto de 2018

Casting y Bifurcaciones

Casting

Es la acción de convertir  una variable de un tipo de dato de mayor jerarquia (  ej flotante), a otro de menor jeraquia (ej. entero)

Ejemplo float c = 3,1458;
int b;
b=(int) c;
Luego b = 3;

Las conversiones de tipos de variables son muy útiles al programar, aunque como contrapartida reducen la precisión

Bifurcaciones


Las bifurcaciones permiten dirigir el flujo del programa para ejecutar una de entre varias opciones posibles, a partir  del valor de una variable o de una expresión lógica  Existen dos bifurcaciones diferentes: if y switch.

Bifurcación if

Esta estructura permite ejecutar una o mas sentencias a partir de si es verdeara o no la expresión de comparación (se ejecuta si la expresión de comparación es verdadera).
Su forma es :

if (Expresion que debe ser verdadera) {
sentencias;
}

Las llaves {} sirven para agrupar en un bloque las sentencias que se han de ejecutar, y no son necesarias si sólo hay una sentencia dentro del if.

Bifurcación if else

Semejante a la anterior, pero permite tener dos opciones. Las sentencias incluidas en el else se llevan a cabo si no es verdadera  la expresión de comparación ,

if (Expresion que debe ser verdadera) {
sentencias X;
} else {
sentencias Y;
}

Bifurcación if elseif else

Por medio de esta estructura podemos tener mas de una expresion para comparar. Si la primera condición no se cumple, se intenta con la segunda , hasta encontrar una verdadera.  Si es que no se cumple ninguna de las expresiones se ejecutan las sentencias correspondientes al else.

if ( Expresion de Comparacion 1 ) {
sentencias 1;
} else if (Expresion de Comparacion 2) {
sentencias 2;
} else if (Expresion de Comparacion 3) {
sentencias 3 ;
} else {
sentencias 4;
}

El siguiente programa nos permite calcular el Indice de Masa Corporal, utiliza Casting y Bifurcaciones






Sentencia switch

Se aplica del mismo modo que  la bifurcación if elseif else cuando expresión  de comparación es una sola pero puede tomar con distintos valores. Su formato es :

switch (expresion de comparacion) {
case valor1: sentencias 1; break;
case valor 2: sentencias 2; break;
case valor 3: sentencias 3; break;
case valor 4: sentencias 4; break;
case valor 5: sentencias 5; break;
case valor 6: sentencias 6; break;
default: sentencia 7;
}

Las características más importantes de switch son las siguientes:

1. Cada sentencia case se corresponde con un único valor de expresion de comparacion  No se pueden establecer rangos o condiciones sino que se debe comparar con valores concretos.

2. Los valores diferentes a los case  se pueden gestionar en default, que es opcional.

3. En ausencia de break, cuando se ejecuta una sentencia case se ejecutan también todas las case que van a continuación, hasta que se llega a un break o hasta que se termina el switch.

Ejemplo: Numero Primos del 1 al 10.

int c;...
private static Scanner entrada;
......
System.out.printf(...Introduzca un numero del 1 al 10...);

c= entrada.nextInt();

switch (c) {
case  1: // Se compara con el numero 1
case  3 : // Se compara con el numero 2
case 5: // Se compara con el numero 5
case 7: // Se compara con el numero 7
System.out.println(" Es un numero primo "+ c); break;
default:
System.out.println(" No es un numero primo " + c );
}

No hay comentarios:

Publicar un comentario