viernes, 20 de abril de 2012

Programando en Java con Eclipse VI - Condiciones compuestas con operadores lógicos

Hasta ahora hemos visto los operadores:
relacionales (>, <, >=, <= , ==, !=)
matemáticos (+, -, *, /, %)

pero nos están faltando otros operadores imprescindibles:
lógicos (&&, ||). equivalentes a la  o y a la Y

Estos dos operadores se emplean fundamentalmente en las estructuras condicionales para agrupar varias condiciones simples.

Operador &&


condiciones compuestas
Traducido se lo lee como “Y”. Si la Condición 1 es verdadera Y la condición 2 es verdadera luego ejecutar la rama del verdadero.
Cuando vinculamos dos o más condiciones con el operador “&&”, las dos condiciones deben ser verdaderas para que el resultado de la condición compuesta de Verdadero y continúe por la rama del verdadero de la estructura condicional.

La utilización de operadores lógicos permiten en muchos casos plantear algoritmos más cortos y comprensibles, pero requieren de un pequeño uso de tablas de verdad y lógica matemática para poder aplicarlos correctamente, además de esto los errores que produce una mala utilización de los mismos son de los más dificiles de corregir.

Problema:


Elaborar un programa en java que lea por teclado tres números distintos y nos muestre el mayor.

Diagrama de flujo:


condiciones compuestas
La primera estructura condicional es una ESTRUCTURA CONDICIONAL COMPUESTA con una CONDICION COMPUESTA.
Podemos leerla de la siguiente forma:
Si el contenido de la variable num1 es mayor al contenido de la variable num2 Y si el contenido de la variable num1 es mayor al contenido de la variable num3 entonces la CONDICION COMPUESTA resulta Verdadera.
Si una de las condiciones simples da falso la CONDICION COMPUESTA da Falso y continua por la rama del falso.
Es decir que se mostrará el contenido de num1 si y sólo si num1>num2 y num1>num3.
En caso de ser Falsa la condición, analizamos el contenido de num2 y num3 para ver cual tiene un valor mayor.
En esta segunda estructura condicional no se requieren operadores lógicos al haber una condición simple.

Programa:


import java.util.Scanner;
public class CondicionesCompuestas1 {
public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
int num1,num2,num3;
System.out.print("Ingrese primer valor:");
num1=teclado.nextInt();
System.out.print("Ingrese segundo valor:");
num2=teclado.nextInt();
System.out.print("Ingrese tercer valor:");
num3=teclado.nextInt();
if (num1>num2 && num1>num3) {
System.out.print(num1);
} else {
if (num2>num3) {
System.out.print(num2);
}else {
System.out.print(num3);
}
}
}
}

Operador ||


operador or

Traducido se lo lee como “O”. Si la condición 1 es Verdadera O la condición 2 es Verdadera, luego ejecutar la rama del Verdadero.
Cuando vinculamos dos o más condiciones con el operador “Or", con que una de las dos condiciones sea Verdadera alcanza para que el resultado de la condición compuesta sea Verdadero, en resumen, basta con que una de las dos condiciones se cumpla para que el resultado sea verdadero, cabe destacar que no son mutuamente excluyentes, es decir, se pueden cumplir ambas.

Problema:


Se carga una fecha (día, mes y año) por teclado. Mostrar un mensaje si corresponde al primer trimestre del año (enero, febrero o marzo) Cargar por teclado el valor numérico del día, mes y año.
Ejemplo: dia:10 mes:1 año:2010.

Diagrama de flujo:


operador logico or

La carga de una fecha se hace por partes, ingresamos las variables dia, mes y año.
Mostramos el mensaje "Corresponde al primer trimestre" en caso que el mes ingresado por teclado sea igual a 1, 2 ó 3.
En la condición no participan las variables dia y año.

Programa:


import java.util.Scanner;
public class CondicionesCompuestas2 {
public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
int dia,mes,año;
System.out.print("Ingrese nro de día:");
dia=teclado.nextInt();
System.out.print("Ingrese nro de mes:");
mes=teclado.nextInt();
System.out.print("Ingrese nro de año:");
año=teclado.nextInt();
if (mes==1 || mes==2 || mes==3) {
System.out.print("Corresponde al primer trimestre");
}
}
}

Eso es todo por esta entrada nos vemos en las siguientes entregas y o se olviden de recomendar este tutorial si sientes que les está siriviendo
nos leemos luego!!!!!

No hay comentarios:

Publicar un comentario en la entrada