Heyyyyyyyyyyyyyyy

Aprende a programar microcontroladores en C... http://tecdigitaldelbajio.com/software-tarjeta.html

lunes, 13 de julio de 2009

Instrucciones de condición



Estructuras de Control

Para realizar programas más complejos cada vez, vamos a introducir instrucciones nuevas de Java, empezamos con las estructuras de control, estas me permiten modificar el flujo de ejecución de un programa. Se dividen en dos grandes grupos:

  • De condición
  • De Repetición

Instrucciones de Condición

Estas instrucciones de acuerdo a una condición, ejecutan un grupo de instrucciones u otro. Se evalúa una condición, si es verdadera ejecuta un grupo de instrucciones y si es falsa ejecuta otro grupo de instrucciones. Estas instrucciones me permiten tomar decisiones basándose en la evaluación de una condición.

Por ejemplo, para el siguiente programa se desea que se ingrese una calificación y si es mayor o igual a 70, que envié un mensaje de "APROBADO" en caso contrario que envié en el mensaje "REPROBADO".

La siguiente figura muestra como el programa "decide" uno de los dos caminos en base a la evaluación de la condición.




La sintaxis para realizar instrucciones de condición en Java es la siguiente:

if (condicion)

__{ grupo de instrucciones, cuando es verdadero }

else

__{ grupo de instrucciones, cuando es falso }

Para el ejemplo de la figura, suponiendo que usamos un objeto StringItem para mostrar el mensaje, le corresponde el código siguiente:


if ( Calif >= 70 ) {
__stringItem.setText("APROBADO");
}
else {
__stringItem.setText("REPROBADO");
}

Simulación del código

La siguiente animación muestra como ejecuta el código el procesador. Inserta un valor entre 0 y 70 dar clic en el botón de “iniciar” para que se vea lo que el procesador hece, que es comparar y elegir uno de los dos caminos dependiendo de si la condición es verdadera o falsa.




Operadores Relacionales en Java

En el ejemplo anterior para denotar si el numero es mayor o igual se usa el operador >= , la siguiente tabla muestra los operadores relacionales de Java.

Operador

Descripción

= =

Igual que

>

Mayor que

<

Menor que

>=

Mayor e igual que

<=

Menor e igual que

!=

Diferente


Más ejemplos

El objetivo de los siguientes ejemplos es mostrar diferentes sintaxis del if, no es el objetivo entrar en detalle de la solución exacta del problema.

Escribir solo el código condicional para los siguientes problemas:

1.- Programa que lea un número y que diga si es positivo o negativo:

Los números mayores e iguales a 0 son positivos en caso contrario son negativos, el código quedaría así:

if ( Numero >= 0 )
__stringItem.setText("Número Positivo");
else
__stringItem.setText"Número Negativo");

Nótese como se omitieron las { }, esto es válido, si y solo si, sigue una única instrucción como es el caso, si son más de una debe por fuerza llevar las { }

2.- Programa que lea el sueldo de un empleado y si supera los 5000.00 que le quite el 5 % de impuesto

Este es el código para el ejemplo:

if ( sueldo > 5000 ) {
__sueldo = sueldo - ((sueldo * 5 ) / 100 )
__stringItem.setText(" El sueldo total es " + sueldo);
}


Nótese como es posible omitir el else, cuando no es necesario se puede hacer, también nótese las llaves, recuerde si son dos o más instrucciones siempre van las llaves.

3.- Programa que lea un número y diga si es par o impar.

Un número es par si el resultado de la división entre el número y el 2 da como resultado un residuo de 0, y es impar si el residuo es 1, por ejemplo 433 / 2 da como residuo un 1, entonces el número es impar, 556 / 2, da como residuo un 0 el número entonces es par, para obtener el residuo de una división en Java se usa el %, el código es así:

if ( Numero % 2 = = 0 )
__stringItem.setText("Número Par");
else
__stringItem.setText("Número Impar
");

Programa que lea un número entre 1 y 7 y que escriba su correspondiente día de la semana. Si se ingresa el 1 que muestre "LUNES", si es el 2 "MARTES" y así sucesivamente.

Para este ejemplo la solución se puede realizar sin la necesidad del else, también el código muestra un mensaje de error si se insertan valores fuera del rango. Este es el código:

if ( Numero <= 0 )

__stringItem.setText("ERROR: Número fuera de rango");

if ( Numero == 1 )

__stringItem.setText(" El día es LUNES");

if ( Numero == 2 )

__stringItem.setText(" El día es MARTES");

if ( Numero == 3 )

__stringItem.setText(" El día es MIERCOLES");

if ( Numero == 4 )

__stringItem.setText(" El día es JUEVES");

if ( Numero == 5 )

__stringItem.setText(" El día es VIERNES");

if ( Numero == 6 )

__stringItem.setText(" El día es SABADO");

if ( Numero == 7 )

__stringItem.setText(" El día es DOMINGO");

if ( Numero > 7 )

__stringItem.setText("ERROR: Número fuera de rango");

Bueno hasta aquí termina este post, la próxima vez se realizará un ejemplo completo de esta instrucción condicional.


5 comentarios:

  1. Hola, tu pagina sigue siendo muy buena, una pregunta, sabes como abrir una imagen desde el celular para que se vea en la aplicación??
    Y como guardar una imagen modificada en la memoria del celular??
    Gracias

    ResponderEliminar
  2. Hola, pues el Ejemplo #5 Agregar imágenes al celular usando instancias de “ImageItem” muestra presisamente eso, como cargar imágenes desde el celular, lo puedes ver desde el menú archivos del blog, en el mes de junio, ahi esta ese ejemplo espero que sea lo que buscas.

    ResponderEliminar
  3. Hola, gracias, te cuento que ya probe esa opcion, pero no es lo que busco, porque la imagen ya aparece cargada en la aplicacion, yo quisiera que se muestre una lista de todas las imagenes que estan en la memoria del celular para poder elegir alguna y poder cargarla.
    Te agradezco tu atencion.

    ResponderEliminar
  4. Y, sabes como cargar la imagen en la aplicacion del celular como lo explique en mi anterior mensaje?? O como guardar una imagen modificada en la memoria del celular??

    ResponderEliminar
  5. Hola de nuevo Pamet... si ya vi lo que deseas hacer pero no, tu cres, no se como se pueda implementar lo que deseas, lamento no poder ayudarte.

    ResponderEliminar