Cuadro Sinoptico de las estructuras de control selectivas aplicadas al lenguaje C#
Get the Flash Player to see this player.
If-else
Definicion
La sentencia if permite elegir el flujo del progama al evaluar una expresion booleana. La sentencia If define cual sentencia es la que se va a ejecutar enseguida basado en una evaluacion de una exprecion booleana
Caracteristicas
Se utiliza cuando se desea ejecutar una o mas sentencias si una condicion es verdadera (expresion booleana)
Se puede determinara que sentencias se ejecutaran si la condicion es falsa tambien
la palabra y segmento else son opcionales por lo que si se omite no se realizara alguna sentencia predeterminada si a condicion booleana es falsa
Se puede agrupar varias sentencias en e bloque si a condicion es verdadera o falsa. Se agrupa con llaves
Sintaxis
bool condicion = true;
if (condicion)
{
Console.WriteLine("La variable es true o verdadera entonces se ejecta esta sentencia.");
}
else
{
Console.WriteLine("La variable es False o falsa entonces se ejecuta esta sentencia.");
}
Ejemplo
Ejempo se if-else en una forma de ingreso comprobando si usuario y pasword son correctos:
string username = null;
Console.WriteLine("Usuario: ");
username = Console.ReadLine();
Console.WriteLine("Pasword: ");
pasword = Console.ReadLine();
if (username == "empleado_real" && password == “pasword123”)
{
Console.WriteLine("Bienvenido " + username);
}
else
{
Console.WriteLine("Error al escribir usuario y/o contraseña " );
}
Console.ReadLine();
If – anidado
Definicion
Los if anidados son una condicion dentro de otra que esta despues de la palabra else. Los if anidados permiten encadenar secuencias de condiciones booleanas si la primera es falsa se pasa a la siguiente y si la segunda es falsa se pasa a la siguiente y asi susecivamente hasta que alguna exprexion sea verdadera o se acabe la cadena de condiciones anidadas.
Caracteristicas
Es como una sentencia if-else solo que al final o encadenado esta otra condicion if-else o if sola si es el caso de que sea el ultimo eslabon de la cadena
Es parecido a switch-case pero con if-else se puede hacer evaluaciones booleanas como un rango de valores
Puede haber una gran cantidad de ifs anidados pero se debe cuidar la complejidad o se terminara con algo muy dificil de entender
Sintaxis
bool Condicion1 = true;
bool Condicion2 = true;
bool Condicion3 = true;
if (Condicion1)
{
// Condicion1 es verdadero o true.
}
else if (Condicion2)
{
// Condicion1 es false y Condicion2 es verdadero o true.
}
else if (Condicion3)
{
// Condicion1 y Condicion2 son false. Condicion3 es verdadera o true.
}
Ejemplo
Ejemplo para determinar si un numero es una letra, mayuscuas o minúsculas.
Console.Write("Ingresa un caracter: ");
char caracter = (char)Console.Read();
if (Char.IsUpper(caracter))
{
Console.WriteLine("El caracter que ingresaste esta en Mayusculas.");
}
else if (Char.IsLower(caracter))
{
Console.WriteLine("El caracter que ingresaste esta en Minusculas.");
}
else if (Char.IsDigit(caracter))
{
Console.WriteLine("El caracter que ingresaste es un numero.");
}
else // si el caracter que se ingesa no es numero o leta se impime lo siguiente
{
Console.WriteLine("El caracter que ingresaste no es alfanumerico.");
}
switch-case
Definicion
swuitch-case permite ejecutar una de varias acciones dependiendo del resultado de evaluar una expresion
Caracteristicas
Es adecuada cuando se tienen expresiones con desiciones multiples
cada caso en el switch-case especifica un valor constante
La sentencia switch tansfiere el flujo del programa a la seccion switch o case que coincide con el resultado de la expresion de control
Sintaxis
Switch (expresión)
Case expresión – constante 1:]
Sentencia1;
Case expresión – constante 1:]
Sentencia1;
…
[default:]
Sentencia n;
}
Ejemplo
Console.Write("Ingresa el numero de mes: ");
int numMes = int.parse(Console.Read());
switch (numMes)
{
case 1:
Console.WriteLine("Enero");
break;
case 2:
Console.WriteLine("Febrero");
break;
case 3:
Console.WriteLine("Marzo");
break;
case 4:
Console.WriteLine("Abril");
break;
case 5:
Console.WriteLine("Mayo");
break;
case 6:
Console.WriteLine("Junio");
break;
case 7:
Console.WriteLine("Julio");
break;
case 8:
Console.WriteLine("Agosto");
break;
case 9:
Console.WriteLine("Septiembre");
break;
case 10:
Console.WriteLine("Octubre");
break;
case 11:
Console.WriteLine("Noviembre");
break;
case 12:
Console.WriteLine("Diciembre");
break;
default:
Console.WriteLine("el numeo que ingresaste no corresponde a un mes");
break;
}