Estructura condicional compuesto en c#

En este capítulo se revisan los distintos métodos con los que C # controla el flujo lógico de un programa.

Como se revisó en el capítulo anterior, los operadores relaciones binarios que se usan son:

==,  !=,  <,  <=,  > y  >=

además los operadores lógicos binarios:

||,  &&,  ?

y el operador lógico unario de negación !, que sólo toma un argumento.

Opreador || en C#

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.

operador && en C#

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.

Operador ? en C#

El operador ternario condicional ? es más eficiente que la sentencia if. El operador ? tiene el siguiente formato:

              expresion1 ? expresion 2 : expresion3;

Que es equivalente a la siguiente expresión:

             if (expresion1) then expresion2 else expresion3;

Por ejemplo, para asignar el máximo de a y b a la variable z, usando ?, tendríamos:

             z = (a>b) ? a : b;

que es lo mismo que:

             if (a > b)
                  z = a;
             else
                   z = b;

El uso del operador ? para reemplazar las sentencias if ... else no se restringe sólo a asignaciones, como en el ejemplo anterior. Se pueden ejecutar una o más llamadas de función usando el operador ? poniéndolas en las expresiones que forman los operandos. 

La Instrucción Switch en C# 

La instrucción switch es una instrucción de control que controla múltiples selecciones y enumeraciones pasando el control a una de las instrucciones case de su cuerpo, como se muestra en el ejemplo siguiente:

int caseSwitch = 1;
switch (caseSwitch)
{
    case 1:
        Console.WriteLine("Case 1");
        break;
    case 2:
        Console.WriteLine("Case 2");
        break;
    default:
        Console.WriteLine("Default case");
        break;
} 

Ejercicios Resueltos de Estructura Condicional Compuesto en C# 

Ejemplo 1 

Realizar un programa que dado tres valores por teclado, si todos son iguales se imprime la suma del primero con el segundo y a este resultado se lo multiplica por el tercero.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CondicionesCompuestas4
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1, num2, num3;
            string linea;
            Console.Write("Ingrese primer numero:");
            linea = Console.ReadLine();
            num1 = int.Parse(linea);
            Console.Write("Ingrese segundo numero:");
            linea = Console.ReadLine();
            num2 = int.Parse(linea);
            Console.Write("Ingrese tercer numero:");
            linea = Console.ReadLine();
            num3 = int.Parse(linea);
            if (num1 == num2 && num1 == num3)
            {
                int suma = num1 + num2;
                Console.Write("La suma del primero y segundo es:");
                Console.WriteLine(suma);
                int producto = suma * num3;
                Console.Write("La suma del primero y segundo multiplicado por el tercero es:");
                Console.Write(producto);
            }
            Console.ReadKey();
        }
    }
}


Al ejecutar el código muestra el siguiente resultado 


Ejemplo 2

Realizar un programa en el cual: dada una lista de tres valores numéricos distintos se calcule e informe su rango de variación (debe mostrar el mayor y el menor de ellos)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CondicionesCompuestas9
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1, num2, num3;
            string linea;
            Console.Write("Ingrese primer numero:");
            linea = Console.ReadLine();
            num1 = int.Parse(linea);
            Console.Write("Ingrese segundo numero:");
            linea = Console.ReadLine();
            num2 = int.Parse(linea);
            Console.Write("Ingrese tercer numero:");
            linea = Console.ReadLine();
            num3 = int.Parse(linea);
            Console.Write("Rango de valores es:");
            if (num1>num2 && num1 > num3)
            {
                Console.Write(num1);
            }
            else
            {
                if (num2 > num3)
                {
                    Console.Write(num2);
                }
                else
                {
                    Console.Write(num3);
                }
            }
            Console.ReadKey();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado


Ejemplo 3

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CondicionCompuesta1
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1, num2, num3;
            string linea;
            Console.Write("Ingrese primer numero:");
            linea = Console.ReadLine();
            num1 = int.Parse(linea);
            Console.Write("Ingrese segundo numero:");
            linea = Console.ReadLine();
            num2 = int.Parse(linea);
            Console.Write("Ingrese tercer numero:");
            linea = Console.ReadLine();
            num3 = int.Parse(linea);
            if (num1 > num2 && num1 > num3)
            {
                Console.Write("El mauor es"+num1);
            }
            else
            {
                if (num2 > num3)
                {
                    Console.Write("El mauor es" + num2);
                }
                else
                {
                    Console.Write("El mauor es" + num3);
                }
            }
            Console.ReadKey();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado


Ejemplo 4

Realizar un programa que dado un operario se conoce su sueldo y los años de antigüedad. Se pide confeccionar un programa que lea los datos de entrada e informe:
  1.  Si el sueldo es inferior a 500 y su antigüedad es igual o superior a 10 años, otorgarle un aumento del 20 %, mostrar el sueldo a pagar.
  2. Si el sueldo es inferior a 500 pero su antigüedad es menor a 10 años, otorgarle un aumento de 5 %.
  3. Si el sueldo es mayor o igual a 500 mostrar el sueldo en pantalla sin cambios.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CondicionesCompuestas8
{
    class Program
    {
        static void Main(string[] args)
        {
            float sueldo;
            int antiguedad;
            string linea;
            Console.Write("Ingrese sueldo del empleado:");
            linea = Console.ReadLine();
            sueldo = float.Parse(linea);
            Console.Write("Ingrese su antiguedad en años:");
            linea = Console.ReadLine();
            antiguedad = int.Parse(linea);
            if (sueldo < 500 && antiguedad > 10)
            {
                float aumento = sueldo * 0.20f;
                float sueldoTotal = sueldo + aumento;
                Console.Write("Sueldo a pagar:");
                Console.Write(sueldoTotal);
            }
            else
            {
                if (sueldo < 500)
                {
                    float aumento = sueldo * 0.05f;
                    float sueldoTotal = sueldo + aumento;
                    Console.Write("Sueldo a pagar:");
                    Console.Write(sueldoTotal);
                }
                else
                {
                    Console.Write("Sueldo a pagar:");
                    Console.Write(sueldo);
                }
            }
            Console.ReadKey();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado


1 comentario:

  1. hola pueden ayudarme con estos ejercicios
    Realizar un algoritmo utilizando ciclos repetitivos que permita el ingreso de 10 valores y
    posteriormente mostrar el de mayor valor y el de menor valor.
    2) Realizar un algoritmo utilizando ciclos repetitivos que permita ingresar 20 valores y
    posteriormente muestre la suma de los valores pares y la multiplicación de los valores
    impares.
    3) Realizar un algoritmo utilizando ciclos repetitivos que permita el ingreso de 10 nombres de
    personas con sus edades y posteriormente mostrar el nombre de la persona con mayor
    edad y el de menor edad.

    soy nuevo quiero aprender

    gracias

    ResponderEliminar