top of page
Estructura Condicional Anidada

Se le conoce como estructura anidada a la estructura que contiene otra estructura dentro de ella.

Si vemos el diagrama podemos ver que primero hay una estructura condicional compuesta luego en el bloque de falso de esa estructura hay otra estructura condicional solo que esta es simple.

 

Resolveremos el siguiente problema: ingresaremos las notas de una alumno si el promedio es mayor a 85 se mostrara excelente si su promedio es 60 hacia arriba pero menor a 85 se mostrara bueno pero si el promedio es menor a 60 se mostrara malo.

Analicemos el diagrama se ingresan cuatro notas luego se calcula el promedio, esa variable es la que ponemos en las condiciones primero si el promedio es mayor a 85 se escribirá EXCELENTE si NO es mayor a 85 pasa al bloque de falso y evalúa una nueva condición si el promedio es mayor a 60 escribe BUENO sino se cumple pasa al bloque falso y escribe MALO.

Codificado seria así:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sueldos
{
    class Program
    {
        static void Main(string[] args)
        {
            int nota1 = 0, nota2 = 0, nota3=0, nota4=0, promedio=0;
            Console.WriteLine("Ingrese nota 1");
            nota1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese nota 2");
            nota2 = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese nota 3");
            nota3 = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese nota 4");
            nota4 = int.Parse(Console.ReadLine());
            promedio = (nota1 + nota2 + nota3 + nota4) / 4;
            if (promedio > 85)
            {
                Console.WriteLine("EXCELENTE");
            }
            else
            {
                if (promedio >= 60)
                {
                    Console.WriteLine("BUENO");
                }
                else
                {
                    Console.WriteLine("MALO");
                }
            }
            Console.ReadKey();
        }
    }
}

Probemos el programa para ver cómo está funcionando.
Analizando el código podemos ver que la estructura if anidada está dentro del bloque else de la primera estructura es importante aprende a colocar las llaves para esto nos servirá la siguiente imagen:

Pero para este tipo de problemas tenemos otra opción para resolverlos que sería siguiendo esta estructurara.
Que básicamente es lo mismo.
If (condición)
{
}
else if (condición)
{
}
else
{
}
Es como anidar una estructura pero sin tener que tener que poner el bloque else y adentro el bloque if
else
{
    If (condición)
}
Sino que de una vez indicamos lo siguiente
else if(condición)
{
}
Pero en este caso debemos utilizar un operador lógico por motivos de explicación nos adelantaremos a ese tema más adelante lo veremos un poco más a fondo.
El ejemplo anterior con el nuevo código queda así:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sueldos
{
    class Program
    {
        static void Main(string[] args)
        {
            int nota1 = 0, nota2 = 0, nota3=0, nota4=0, promedio=0;
            Console.WriteLine("Ingrese nota 1");
            nota1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese nota 2");
            nota2 = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese nota 3");
            nota3 = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese nota 4");
            nota4 = int.Parse(Console.ReadLine());
            promedio = (nota1 + nota2 + nota3 + nota4) / 4;
            if (promedio > 85)
            {
                Console.WriteLine("EXCELENTE");
            }
            else if (promedio >= 60 && promedio<=85)
            {
                Console.WriteLine("BUENO");
            }
            else
            {
                Console.WriteLine("MALO");
            }
            
            Console.ReadKey();
        }
    }
}

¡SÍGUEME! 

  • Facebook Classic
  • c-youtube

Creado Por Leonardo Herrera © 2016

bottom of page