Hay tres categorías de sentencias de control en C#: Las instrucciones de selección, que son los if y switch, las instrucciones de iteración o ciclos, que consisten en el for, while, do-while y los bucles foreach, y las instrucciones de salto, que incluyen break, continue, goto, return y throw. Explicaremos cada uno de ellos a excepción del throw que forma parte de un mecanismo de excepción que lo postearemos después.
La Sentencia if
La forma completa de esta sentencia es la siguiente:
if (condición) sentencia;
else sentencia;
donde los objetivos de el if y el else son simples sentencias o declaraciones. La cláusula else es opcional. Los objetivos de ambos el if y el else puede ser un bloque se sentencias (recuerde que los bloques de sentencia en C# van entre llaves.
Si la expresión de condición es verdadera, se ejecutarán las secuencias de expresiones del if, en caso contrario si existe la parte del else, estas serán ejecutadas. No se ejecutarán las dos al mismo tiempo. La expresión condicional debe dar como resultado un valor booleano (bool).if (condición)
{
secuencia de expresiones
}
else
{
secuencia de expresiones
}
// Determinar si un valor es positivo o negativo
using System;
class PosNeg
{
static void Main()
{
int i;
for(i = -5; i <= 5; i++)
{
Console.Write("Probando " + i + " : ");
if (i < 0) Console.WriteLine("Negativo");
else Console.WriteLine("Positivo");
}
}
}
El resultado mostrará el resultado siguiente:
Probando –5 : Negativo
Probando –4 : Negativo
Probando –3 : Negativo
Probando –2 : Negativo
Probando –1 : Negativo
Probando 0 : Positivo
Probando 1 : Positivo
Probando 2 : Positivo
Probando 3 : Positivo
Probando 4 : Positivo
Probando 5 : Positivo
If anidados
Las instrucciones if pueden estar anidadas, es decir un if dentro de otro if. Esto es muy común en la programación diaria. Por ejemplo la siguiente instrucción muestra un if anidado
if (i == 10)
{
if (j < 20)
a = b;
if (k > 100)
c = d;
else // este else se refiere al if(k>100)
a = c;
}
else
a = d; // este else se refiere al if( i == 10)
La escalera if-eslse-if
Una estructura común en programación es la escalera if-else-if. Esto luciría de la siguiente manera:
if (condición)
instruccion;
else if (condición)
instrucción;
else if (condición)
instucción;
.
.
.
else
instrucción;
Las expresiones condicionales son evaluadas de arriba hacia abajo. Tan pronto como la condición verdadera se encuentra, la instrucción o instrucciones asociadas son ejecutadas. y el resto de la escalera es omitido. Si no se encuentra una condición verdadera la clausula else es ejecutada. En este caso la claúsula else funciona como una expresión default. Si no existiera una cláusula else y ninguna condición es verdadera, no se tomaría ninguna acción.
El siguiente programa demuestra el uso de la sentencia if-else-if
// Determinar el factor más pequeño
using System;
class Escalera {
static void Main() {
int num;
for(num = 2; num < 12; num++) {
if((num % 2) == 0)
Console.WriteLine("El factor más pequeño de " + num + " es 2.");
else if((num % 3) == 0)
Console.WriteLine("El factor más pequeño de " + num + " is 3.");
else if((num % 5) == 0)
Console.WriteLine("El factor más pequeño de " + num + " is 5.");
else if((num % 7) == 0)
Console.WriteLine("El factor más pequeño de " + num + " is 7.");
else
Console.WriteLine(num + " no es divisible por 2, 3, 5, o 7.");
}
}
}
El programa anterior mostraría la siguiente salida:
El factor más pequeño de 2 es 2.
El factor más pequeño de 3 es 3.
El factor más pequeño de 4 es 2.
El factor más pequeño de 5 es 5.
El factor más pequeño de 6 es 2.
El factor más pequeño de 7 es 7.
El factor más pequeño de 8 es 2.
El factor más pequeño de 9 es 3.
El factor más pequeño de 10 es 2.
11 no es divisible por 2, 3, 5, o 7.
Bueno, continuamos en el siguiente post.
Saludos
No hay comentarios:
Publicar un comentario