ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sentencias De Selección Sentencias De Selección


Enviado por   •  9 de Septiembre de 2012  •  717 Palabras (3 Páginas)  •  357 Visitas

Página 1 de 3

Las sentencias de selección, también llamadas de control de flujo, permiten decidir entre distintos cursos de acción en función de ciertos valores. En C++ existen tres tipos de estas sentencias de selección:

• if...else .

• else if .

• switch .

Recuerde que de no ser por estas sentencias, el flujo de ejecución del programa estaría siempre constreñido a la ejecución de sus sentencias en el orden en que están colocadas en el fuente.

§2 if … else

En su forma abreviada, cuando no existe la cláusula else, esta sentencia permite escoger entre ejecutar o no una sentencia, en función del resultado de una expresión lógica. En su forma ampliada, cuando la cláusula else está presente, permite escoger entre dos opciones alternativas.

§2.1 Sintaxis

if ( <condición> ) <sentencia1>;

[ else <sentencia2>; ]

§2.2 Descripción

<condición> debe ser una expresión relacional ( 4.9.12) que devuelve un valor lógico, es decir, un bool ( 3.2.1b), y estar obligatoriamente entre paréntesis. Pueden declararse variables dentro de la <condición>. Por ejemplo, la siguiente es una sintaxis válida:

if (int val = func(arg))

val = z ;

else val = y;

El ámbito de la variable val incluye toda la sentencia if, incluyendo, en su caso, el bloque <sentencia2> de else. La cláusula else es opcional, pero no puede haber sentencias entre el if y else. Recuerde las precauciones indicadas respecto de las expresiones relacionales ( 4.9.12), ya que son motivo frecuente de error en este tipo de sentencias.

<sentencia1>. Es una sentencia o bloque de código que se ejecuta si <condicion> se evalúa como cierto (true != 0).

<sentencia2> es una sentencia o bloque de código que se ejecuta si existe un else y <condicion> resulta falso (false == 0)

Puesto que el if simplemente chequea el valor resultante de <condicion> (igual o desigual a cero), las dos expresiones siguientes son equivalentes:

if ( expresion ) <sentencia> ;

if ( expresion !=0 ) <sentencia> ;

La forma más general es:

if (<condicion>) {

<sentencia1>;

}

else {

<sentencia2>;

}

§2.3 Ejemplos

Uno sencillo:

if (salida == 'S') break;

Otro ejemplo:

if (a > b)

z = a;

else

z = b;

Se podría haber escrito de forma más comprimida:

if (a > b) z = a;

else z = b;

También:

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

o mejor aún:

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

Otro ejemplo:

if (int val = func(count)) { /* sentencias */ }

else { // otra vía de acción

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com