miércoles, 14 de noviembre de 2012


Las sentencias condicionales

En el blog anterior vimos cómo usar las expresiones lógicas en Objective-C para determinar si algo es verdadero o falso.

Dado que la programación es en gran medida un ejercicio de aplicación de la lógica, gran parte de la técnica de la programación implica la escritura de código que toma decisiones sobre la base de uno o más criterios.

Tales decisiones definir qué código se ejecuta y, a la inversa, que recibe el código anulado cuando el programa se está ejecutando.

Esto se refiere a menudo como control de flujo, ya que controla el flujo de la ejecución del programa.

En los capítulos anteriores, la declaración si se ha utilizado en algunos ejemplos. En este capítulo de Fundamentos de Objective-C 2.0, vamos a ver si las declaraciones de un poco más de detalle.


Uso de la instrucción if

La sintaxis básica del la declaración en Objective-C es el siguiente: La sentencia if es tal vez la más básica de las opciones de control de flujo disponibles.

Los programadores que estén familiarizados con C, C + + o Java inmediatamente se sentirán cómodos usando el if.

if (expresión booleana) {
    / / Objective-C código que se lleva a cabo cuando la expresión se evalúa como verdadera
}

Tenga en cuenta que las llaves ({}) sólo son necesarias si hay más de una línea de código que se ejecuta después de que la expresión if.

Si sólo hay una línea de código aparece en el caso de las llaves son opcionales.

Por ejemplo, el código válido lo siguiente:



int x = 10;

if (x > 10)
       x = 10;

En esencia, si la expresión booleana se evalúa como 1 (verdadero), entonces el código en el cuerpo de la sentencia se ejecuta. 

El cuerpo de la declaración se encierra entre llaves ({}). 

Si, por otro lado, la expresión se evalúa a 0 (falso) el código en el cuerpo de la instrucción se salta.

Por ejemplo, si una decisión debe hacerse en función de si un valor es mayor que otro, sería escribir código similar al siguiente:


int x = 10;

if ( x > 9 )
{
         NSLog (@"x es mayor que 9!");
}

Claramente, x es de hecho mayor que 9 haciendo que el mensaje que aparezca en la ventana de la consola.

Usando la declaración if ... else ..


La siguiente variación de la sentencia if nos permite especificar también algo de código a ejecutar si la expresión en la sentencia if se evalúa como false. La sintaxis de esta construcción es como sigue:

if (expresión booleana) {
      / / Código que se ejecuta si la expresión es verdadera
} else {
     / / Código que se ejecuta si la expresión es falsa
}

Uso de la sintaxis anterior, ahora podemos extender nuestro ejemplo anterior para mostrar un mensaje diferente si la expresión de comparación se evalúa como falsa:


int x = 10;

if ( x > 9 )
{
         NSLog (@"x es mayor que 9!");
}
else
{
         NSLog (@"x es menor que 9!");
}


En este caso, la instrucción NSLog segundo ejecutaría si el valor de x era menor que 9.
Usando if ... else if .. Declaraciones

Hasta ahora hemos examinado si las declaraciones que hagan decisiones basadas en el resultado de una expresión lógica única. 

Algunas veces es necesario para tomar decisiones sobre la base de un número de criterios diferentes. 

Para ello podemos utilizar el if ... else if ... construir, la sintaxis de la cual es como sigue:


int x = 9;

if (x == 10)
{
       NSLog (@"x is 10");
}
else if (x == 9)
{
       NSLog (@"x is 9");
}
else if (x == 8)
{
       NSLog (@"x is 8");
}

Este enfoque funciona bien para un número moderado de las comparaciones, pero puede llegar a ser engorroso para un volumen más grande de las evaluaciones de expresión. 
Para tales situaciones, la declaración de Objective-C switch ofrece una solución más flexible y eficiente. Para obtener más información sobre el uso de la sentencia switch leer el capítulo titulado 
El interruptor de Objective-C



No hay comentarios:

Publicar un comentario