Sie sind auf Seite 1von 6

ESTRUCTURAS CONDICIONALES ANIDADAS

CONCEPTO

Decimos que una estructura condicional es anidada cuando por la rama del verdadero
o el falso de una estructura condicional hay otra estructura condicional.

Diagrama

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".
Diagrama de flujo:

Analicemos el siguiente diagrama. Se ingresan tres valores por teclado que


representan las notas de un alumno, se obtiene el promedio sumando los tres valores
y dividiendo por 3 dicho resultado (Tener en cuenta que si el resultado es un valor
real solo se almacena la parte entera).

Primeramente preguntamos si el promedio es superior o igual a 7, en caso afirmativo


va por la rama del verdadero de la estructura condicional mostramos un mensaje que
indica "Promocionado" (con comillas indicamos un texto que debe imprimirse en
pantalla).
En caso que la condición nos de falso, por la rama del falso aparece otra estructura
condicional, porque todavía debemos averiguar si el promedio del alumno es superior
o igual a cuatro o inferior a cuatro.

Estamos en presencia de dos estructuras condicionales compuestas.

Programa:

import java.util.Scanner;

public class EstructuraCondicionalAnidada1 {


public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
int nota1,nota2,nota3;
System.out.print("Ingrese primer nota:");
nota1=teclado.nextInt();
System.out.print("Ingrese segunda nota:");
nota2=teclado.nextInt();
System.out.print("Ingrese tercer nota:");
nota3=teclado.nextInt();
int promedio=(nota1 + nota2 + nota3) / 3;
if (promedio>=7) {
System.out.print("Promocionado");
} else {
if (promedio>=4) {
System.out.print("Regular");
} else {
System.out.print("Reprobado");
}
}
}
}

Codifiquemos y ejecutemos este programa. Al correr el programa deberá solicitar por


teclado la carga de tres notas y mostrarnos un mensaje según el promedio de las
mismas.

Podemos definir un conjunto de variables del mismo tipo en una misma línea:

int nota1,nota2,nota3;
Esto no es obligatorio pero a veces, por estar relacionadas, conviene.
A la codificación del if anidado podemos observarla por el else del primer if.
Para no tener problemas (olvidarnos) con las llaves de apertura y cerrado podemos
ver la siguiente regla:

Cada vértice representa una llave de apertura y una de cierre:

If en Java
La estructura condicional más simple en Java es el if, se evalúa una condición y en
caso de que se cumpla se ejecuta el contenido entre las llaves {} o en caso de que se
omitan se ejecuta el código hasta el primer “;” por lo tanto si no se usan los {} la
condición aplica solo a la siguiente instrucción al if.

if (condicion) {
ejecutar();
}

// Los {} son opcionales


if (condicion)
ejecutar();

// Y mas compacto
if (condicion) ejecutar();

Por lo tanto el uso de las llaves es opcional cuando dentro de la condición hay una sola
línea de código, pero puede generar errores si se añade más código que se espere que
se ejecute bajo la condición si no recordamos que tenemos que añadir las llaves en
estos casos. Personalmente, prefiero usar las llaves y en caso de no utilizarlas pondría
el if completo en una única línea para que sea más claro que la condición solo aplica a
esa línea.

Para que se ejecute el código dentro de un if se debe de cumplir la condición que


puede ser directamente un boolean o una comprobación que genere uno
(==,<,<=,>,>=,!=,.equals() o cualquier otra función que devuelva true o false pudiendo
ser la condición todo lo compleja que queramos.

// Si la temperatura es mayor que 25


if (temperatura > 25) {
System.out.println("A la playa!!!");
}

// Si haceSol es vedadero
if (haceSol) {
System.out.println("No te olvides la sombrilla");
}

// Si está nevando o hace sol


if (nevando || haceSol) {
System.out.println("Que bien");
}

// Si nevando y la temperatura está entre 20 y 30


if (nevando && (temperatura >= 20 && temperatura <= 30)) {
System.out.println("No me lo creo");
}

// Si la temperatura es menor que 0 o mayor que 30 y hace sol


if ((temperatura < 0 || temperatura > 30) && haceSol) {
System.out.println("Mejor me quedo en casa");
}
WEBGRAFIA

http://www.tutorialesprogramacionya.com/javaya/detalleconcepto.php?codigo=81&
punto=&inicio=

Das könnte Ihnen auch gefallen