Está en la página 1de 22

Estructuras de Control Selectivas

Estructuras selectivas

Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí


que se suelan denominar también estructuras de decisión o alternativas y
son utilizadas en todos los lenguajes de programación.

Se clasifican en:
• Simples
• Dobles
• Múltiples
• Anidadas
Operadores de decisión lógicos

 and &&
 or ||
 not !
Operadores Relacionales
 Mayor que >
 Menor que <
 Mayor o igual que >=
 Menor o igual que <=
 Igual que ==
 Diferente de !=
 Asignación =
Estructura if de selección simple
• La estructura de selección if ejecuta una acción si la condición que se
evalúa es verdadera o no realiza nada si la condición es falsa. La
condición a evaluar debe estar contenida entre paréntesis. Si el
resultado de la evaluación de esta condición es verdadero, entonces se
ejecutará la acción definida en la línea siguiente, de lo contrario no se
realizará nada. Se llama selección simple porque selecciona o ignora la
acción dependiendo del resultado de la condición.

Estructura general Ejemplo


if (condición) if (a<b)
acción; Console.WriteLine(“{0} es menor que {1}”, a, b);
Estructura if – else de selección doble
• La estructura de selección if ejecuta una acción si la condición que se
evalúa es verdadera o realiza otra acción en caso de ser falsa la
condición que se evalúa. Su estructura general es:

Estructura general Ejemplo


if (condición) if (a<b)
acción1; Console.WriteLine(“{0} es menor que {1}”, a, b);
else else
acción2 Console.WriteLine(“{0} no es menor que {1}”, a, b);
if-else (si-sino)

if (edad >=18)
Console.WriteLine(“Eres mayor de edad”);
else
Console.WriteLine(“Eres menor de edad”);
Ejercicios con Selectiva doble

1. Evaluar el mayor de 2 números

2. Evaluar sí un número es Par o Impar


Solución Ejercicio 1
Solución ejercicio 2

Se evalúa si el residuo de
dividir el numero entre 2 es
igual a cero, entonces el
numero es par, caso contrario
impar.
Estructura IF – ELSE anidada

• La estructura de selección if • if (a<b)


anidada consiste en una {
if (b<10)
estructura if dentro de otra.
{
• La estructura if anidada Console.WriteLine(“{0} es menor que {1} y b es menor a 10”, a, b);
puede encontrarse en la }
primera condición (como en else
el ejemplo), en la segunda {
condición o en ambas. Console.WriteLine(“{0} es menor que {1} y b no es menor a 10”, a, b);
Pueden existir varios niveles }
}
de anidamiento, pero la
else
estructura se vuelve más {
compleja. Console.WriteLine(“{0} no es menor que {1}”, a, b);
}
Ejemplo con selectiva anidada
• Determinar la cantidad de dinero que recibirá un trabajador
por concepto de salario de horas extras trabajadas en una
empresa, sabiendo que cuando las horas de trabajo exceden
de 44 horas semanales, el resto se consideran horas extras y
que estas se pagan al doble de una hora normal cuando no
exceden de 8; si las horas extras exceden de 8 se pagan las
primeras 8 al doble de lo que se pagan las horas normales y el
resto al triple.
Solución
Estructura if – else de escalera
La estructura de selección if de escalera consiste en Ejemplo
la evaluación de diferentes condiciones. Esta
expresión condicional es evaluada de arriba hacia if (N<4)
abajo. Tan pronto como una condición que sea Console.WriteLine(“REPROBADO”);
verdadera es encontrada, se ejecuta la sentencia o else if (N<6)
bloque de sentencias que tiene asociada, y el resto es
Console.WriteLine(“REGULAR”);
ignorado. Si ninguna de las condiciones es verdadera,
entonces se ejecutará la cláusula else final. Esta else if (N<8)
cláusula a menudo actúa como una condición por Console.WriteLine(“BUENO”);
defecto, esto significa que si todas las otras else if (N<9)
condiciones son falsas, se ejecutará la sentencia o Console.WriteLine(“MUY BUENO”);
bloque de sentencias que tiene asociada else. Si no
else
existe condición else, entonces no se llevará a cabo
ninguna acción. Console.WriteLine(“EXCELENTE”);

Esta forma de usar la estructura if puede volverse complicada si posee varias cláusulas else if,
por lo que se recomienda el uso de otra estructura.
Ejemplo 1

Leer 2 números; si son


iguales que los
multiplique, si el
primero es mayor que
el segundo que los
reste y si no que los
sume.
Ejemplo 2
Calcular la utilidad que un trabajador recibe en el reparto
anual de utilidades si este se le asigna como un porcentaje
de su salario mensual que depende de su antigüedad en la
empresa de acuerdo con la siguiente tabla:
SOLUCIÓN
ESTRUCTURA SWITCH
switch(expresión)
{
La otra de las estructuras de selección es switch, la case constante1:
cual proporciona múltiples ramificaciones. Así, secuencia de sentencias
permite que un programa seleccione entre varias break;
alternativas. A pesar de que una serie de sentencias if case constante2:
pueden efectuar tareas de múltiples alternativas, para secuencia de sentencias
muchas situaciones la sentencia switch es una break;
solución más eficiente. case constante3:
Switch funciona de la siguiente manera: el valor de la secuencia de sentencias
variable o expresión se compara con cada uno de los break;
valores literales de las sentencias case. Si coincide con …
alguno, se ejecuta su código asociado Si ningún valor default:
coincide con el valor de la expresión, se ejecuta el secuencia de sentencias
código asociado a default. break;
}
EJEMPLO DE SWITCH
using System; case ‘O’:
class SwitchDemo { Console.WriteLine(" La letra es O");
static void Main(string [] args) { break;
char ch; case ‘U’:
Console.Write("Digite una letra: "); Console.WriteLine(" La letra es U");
ch = Convert.ToChar(Console.ReadLine()); break;
switch (ch) default:
{ Console.WriteLine(" La letra es cualquier
case 'A': otro caracter");
Console.WriteLine(“La letra es A"); break;
break; }
case ‘E’: }
Console.WriteLine(" La letra es E"); }
break;
case ‘I’:
Console.WriteLine(" La letra es I");
break;
CONSIDERACIONES DE SWITCH
EJEMPLO 2 (VERSIÓN 1)

Haciendo uso de 2 variables

Esta forma de trabajar con el case es válido,


para agrupar un conjunto de casos que tendrán el
mismo resultado.
EJEMPLO 2 (VERSIÓN 2)
Haciendo uso de una
sola variable

Esta forma de trabajar con el case es válido, para


agrupar un conjunto de casos que tendrán el mismo
resultado.

También podría gustarte