You are on page 1of 19

CURSO

INFORMATICA I Autor: Diego Fernando Duque B., M.Sc.

Prohibida su reproduccin parcial o total sin permiso por escrito del autor.

Estructuras de Seleccin
Las estructuras de control utilizadas para la toma de decisiones dentro de un programa se conocen como estructuras selectivas o estructuras de decisin y hacen parte de las Instrucciones de Bifurcacin. Estas estructuras permiten que se tome un camino durante la ejecucin de un programa con base en el resultado de la decisin. Las estructuras de decisin estn conformadas por:
Estructura de Seleccin Simple: el if (condicin) Estructura de Seleccin Compuesta: el if (condicin) else Estructura de Seleccin Mltiple: el switch (selector) {}

Profesor : Diego Fernando Duque B., Msc.

Estructura de Seleccin Simple ESS


Formato general:
Lenguaje de programacin

I. Modelo de una instruccin if (condicin)


INSTRUCCIN ; Sin llaves indica que INSTRUCCIN es la nica instruccin que pertenecen al if.

II. Modelo ms de una instruccin

if (condicin) { INSTRUCCIN 1;
INSTRUCCIN 2; : INSTRUCCIN N;

Las llaves encierran el grupo de instrucciones que pertenecen al if. Existen dos modelos que dependen de la cantidad de instrucciones que contenga el if. Ambos modelos tienen lo que se conoce como condicin.
Profesor : Diego Fernando Duque B., Msc.

if es palabra reservada

Estructura de Seleccin Simple ESS


if (condicin) {
INSTRUCCIN 1; INSTRUCCIN 2; : INSTRUCCIN N;

Sobre la condicin:
I. Se construye con una:

Expresin o, Variable

II.

El resultado de la condicin (la evaluacin de la expresin o del contenido de la variable) debe ser true (verdadero) o false (falso)
La expresin se debe construir con operadores relacionales y/o lgicos. La variable debe estar declarada como tipo lgico (booleano) y contener un dato lgico (verdadero o falso).

III. Para cumplir lo anterior


Nota: en INSTRUCCIN se puede colocar instruccin de: Lectura captura de datos Escritura visualizacin de datos Asignacin operaciones Estructuras de repeticin otros if Profesor : Diego Fernando Duque B., Msc.

Estructura de Seleccin Simple ESS


Funcionamiento en el lenguaje de programacin:

I. Modelo de una instruccin


Si al evaluarse la condicin da true (verdadero) se ejecuta INSTRUCCION; INSTRUCCIN ; y luego se ejecuta RESTO DE INSTRUCCIONES; RESTO DE INSTRUCCIONES;

if (condicin)

if (condicin)
INSTRUCCIN ; RESTO DE INSTRUCCIONES;

Si la condicin da false (falso) salta para ejecutar


RESTO DE INSTRUCCIONES;
Nota: RESTO DE INSTRUCCIONES representa el cdigo que va, si lo hubiere, despus de la instruccin que pertenece al if. Hace referencia al resto del programa. Nota: La estructura de seleccin simple no contiene instrucciones que se ejecutan cuando la condicin da falso.

Nota: Toda INSTRUCCIN termina en punto y coma (;). No coloque punto y coma (;) despus del parntesis que cierra, en el if . Recuerde que en INSTRUCCIN puede colocar cualquier instruccin. Nota: Despus del parntesis, la primera instruccin es la nica que pertenece al if. Profesor : Diego Fernando Duque B., Msc.

Funcionamiento en el lenguaje de programacin:

Estructura de Seleccin Simple ESS


II. Modelo ms de una instruccin
if (condicin) {
Zona del verdadero
INSTRUCCIN 1; INSTRUCCIN 2; : INSTRUCCIN N;

Si al evaluarse la condicin da true (verdadero) Se ejecuta una a una las instrucciones dentro de las llaves (la que abre -{- y la que cierra -}- ). Despus de ejecutar la ltima instruccin salta a la llave que cierra (}), la ejecuta y se cierra el if.

y continua con la ejecucin del

RESTO DE INSTRUCCIONES;

Nota: RESTO DE INSTRUCCIONES representa el cdigo que va, si lo Nota: Toda INSTRUCCIN termina en punto y coma (;). No coloque punto y coma (;) despus del parntesis que cierra en el if . hubiere, despus del grupo de instrucciones que pertenecen al if y que se encuentran entre llaves. Hace referencia al resto del Recuerde que en INSTRUCCIN puede colocar cualquier instruccin. programa. Nota: Despus del parntesis, las instrucciones que pertenecen al if se encuentran entre las llaves. Nota: La estructura de seleccin simple no contiene instrucciones que se ejecutan cuando la condicin da falso.

Profesor : Diego Fernando Duque B., Msc.

Funcionamiento en el lenguaje de programacin:

Estructura de Seleccin Simple ESS


II. Modelo ms de una instruccin
if (condicin) {
INSTRUCCIN 1;
INSTRUCCIN 2; : INSTRUCCIN N;

y continua con la ejecucin del

}
RESTO DE INSTRUCCIONES;

Si al evaluarse la condicin da false (falso) salta a la llave que cierra (}), la ejecuta y se cierra el if.

Nota: se puede hacer lo siguiente sin generar error alguno:


Ntese el uso del modelo I con Llaves.
Profesor : Diego Fernando Duque B., Msc.

if (condicin)

{
INSTRUCCIN ; } RESTO DE INSTRUCCIONES;

Estructura de Seleccin Compuesta ESC


- Lenguaje de programacin

I. Modelo de una
instruccin

II. Modelo ms de
if (condicin) { INSTRUCCIN 1;
INSTRUCCIN 2; : INSTRUCCIN N;

una instruccin

if (condicin)
INSTRUCCIN 1;

else
INSTRUCCIN 2;

Nota: se puede construir modelos mezclando los dos anteriores. Ambos modelos tienen lo que se conoce como condicin. if y else son palabras reservadas
Profesor : Diego Fernando Duque B., Msc.

} else { INSTRUCCIN O;
INSTRUCCIN P; : INSTRUCCIN Z;

Nota: La estructura de seleccin compuesta SI contiene instrucciones que se ejecutan cuando la condicin da falso.

Estructura de Seleccin Compuesta ESC


if (condicin) { INSTRUCCIN 1; INSTRUCCIN 2; : INSTRUCCIN N; } else { INSTRUCCIN O; INSTRUCCIN P; : INSTRUCCIN Z; }
Nota: en INSTRUCCIN se puede colocar instruccin de: Lectura captura de datos Escritura visualizacin de datos Asignacin operaciones Estructuras de repeticin otros Si Profesor : Diego Fernando Duque B., Msc.

Sobre la condicin:
I. Se construye con una:

Expresin o, Variable

II.

El resultado de la condicin (la evaluacin de la expresin o del contenido de la variable) debe ser true (verdadero) o false (falso)
La expresin se debe construir con operadores relacionales y/o lgicos. La variable debe estar declarada como tipo lgico (booleano) y contener un dato lgico (verdadero o falso).

III. Para cumplir lo anterior


Estructura de Seleccin Compuesta ESC


Funcionamiento en el lenguaje de programacin:

I. Modelo de una instruccin

if (condicin)
INSTRUCCIN 1;

Si la condicin da true (verdadero) se ejecuta INSTRUCCION 1; y luego se ejecuta

else
INSTRUCCIN 2; RESTO DE INSTRUCCIONES;

RESTO DE INSTRUCCIONES;

if (condicin)
INSTRUCCIN 1;

Si la condicin da false (falso) salta al else para ejecutar INSTRUCCION 2; y luego se ejecuta
RESTO DE INSTRUCCIONES; Recuerde qu representa RESTO DE INSTRUCCIONES
Nota: La estructura de seleccin compuesta contiene instrucciones que se ejecutan cuando la condicin da falso.

else

INSTRUCCIN 2; RESTO DE INSTRUCCIONES;


Nota: Toda INSTRUCCIN termina en punto y coma (;). No coloque punto y coma (;) despus del parntesis que cierra en el if . No coloque punto y coma (;) despus del else . Recuerde que en INSTRUCCIN puede colocar cualquier instruccin. Profesor : Diego Fernando Duque B., Msc.

Estructura de Seleccin Compuesta ESC


Funcionamiento en el lenguaje de programacin:
if (condicin) { Zona del verdadero
INSTRUCCIN 1; INSTRUCCIN 2; : INSTRUCCIN N;

II. Modelo ms de una instruccin


Si al evaluarse la condicin da true (verdadero) Se ejecuta una a una las instrucciones dentro de las llaves (la que abre -{-, y la que cierra }-) entre el if y el else.

}
else {
INSTRUCCIN O; INSTRUCCIN P; : INSTRUCCIN Z;

Despus de ejecutar la ltima instruccin salta a la llave que cierra (}), la ejecuta y se cierra el if.

Despus de ejecutar la llave que cierra (}), salta para continuar con la ejecucin del
Nota: Toda INSTRUCCIN termina en punto y coma (;). No coloque punto y coma (;) despus del parntesis que cierra en el if . No coloque punto y coma (;) despus del else . Recuerde que en INSTRUCCIN puede colocar cualquier instruccin.

}
RESTO DE INSTRUCCIONES;
Profesor : Diego Fernando Duque B., Msc.

Estructura de Seleccin Compuesta ESC


Funcionamiento en el lenguaje de programacin:
if (condicin) {
INSTRUCCIN 1; INSTRUCCIN 2; : INSTRUCCIN N;

II. Modelo ms de una instruccin


Si al evaluarse la condicin da false (falso) salta al else

}
else { Zona del Falso
INSTRUCCIN O; INSTRUCCIN P; : INSTRUCCIN Z;

Y se ejecuta una a una las instrucciones dentro de las llaves (la que abre -{-, y la que cierra }-) despus del else.

}
Profesor : Diego Fernando Duque B., Msc.

Despus de ejecutar la ltima instruccin salta a la llave que cierra (}), la ejecuta y se cierra el if. Despus de ejecutar la llave que cierra (}), salta para continuar con la ejecucin del

RESTO DE INSTRUCCIONES;

Estructura de Seleccin Mltiple ESM


- Lenguaje de programacin
switch (selector) {
case Valor 1 : INSTRUCCIN 1;
: INSTRUCCIN N; switch case default break son palabras reservadas. Nota: todo posible valor que genera el selector, dentro de los parntesis, se debe colocar despus de la palabra case.

Formato general:

break;
case

Nota: Valor 1, Valor 2, Valor N representan nmeros enteros.


Nota: Opcional, implica que el default, y sus instrucciones, no es obligatorio incluirlo en el programa. Nota: el tipo de dato que genere selector debe ser int (entero).

Valor 2 : INSTRUCCIN 1;
: INSTRUCCIN N;

break;
: : case Valor N : INSTRUCCIN 1; : INSTRUCCIN N; break; Nota: en INSTRUCCIN se puede colocar instruccin de: Lectura captura de datos Escritura visualizacin de datos Asignacin operaciones Estructuras de repeticin otros Si

Opcional

default :

INSTRUCCIN 1; : INSTRUCCIN N;

Profesor : Diego Fernando Duque B., Msc.

Opcional

Estructura de Seleccin Mltiple ESM


switch (selector) {
case Valor 1 : INSTRUCCIN 1;
: INSTRUCCIN N; II.

Sobre el selector:
I. Se construye con una: Expresin o, Variable Todos los posibles resultados del selector (la evaluacin de la expresin o del contenido de la variable) deben ser aquellos que se colocan en donde dice Valor 1, Valor 2, , Valor N (uno por vez).

break;
case

Valor 2 : INSTRUCCIN 1;
:

INSTRUCCIN N;

break;
: : case Valor N : INSTRUCCIN 1; : INSTRUCCIN N; break;

III. El tipo de dato de Valor 1, Valor2, , Valor N debe coincidir con el tipo de dato generado en selector (de tipo int tambin puede el tipo char porque internamente se convierte en entero ). IV. No es obligatorio el uso de la zona de default. V. Utilice esta estructura cuando tiene que tomar un camino de entre mas de dos, es decir, note que tiene Valor 1, Valor 2, , Valor N, cada uno de ellos tiene asociada un grupo de instrucciones, cada uno de ellos es un camino. Las otras dos estructuras tienen dos caminos: el del verdadero y/o el del falso. El default se ejecuta cuando no hay coincidencia entre el resultado generado en el selector y lo colocado en Valor 1, Valor 2, o Valor N.

default

INSTRUCCIN 1; : INSTRUCCIN N;

VI.

}
Profesor : Diego Fernando Duque B., Msc.

Funcionamiento en el lenguaje de programacin:


Si selector genera como resultado Valor 1 se busca si dentro de la estructura hay alguno Igual al generado por selector iniciando la bsqueda con el primero. Existe la igualdad con el valor del primer case Valor 1 = Valor 1

Estructura de Seleccin Mltiple ESM


switch (selector)
{
case Valor 1 : INSTRUCCIN 1; : INSTRUCCIN N; break; case Valor 2 : INSTRUCCIN 1; : INSTRUCCIN N ; : break; :

Al hallarse la igualdad, se ejecuta una a una las instrucciones asociadas al valor. Nota: se ejecuta tambin el break y con ello se rompe la ejecucin del case Valor 1.

Es igual al colocado en la estructura

case Valor N : INSTRUCCIN 1; : INSTRUCCIN N; break;

Despus de ejecutar la ltima instruccin, el break, salta a la llave que cierra terminando el switch.

default : INSTRUCCIN 1;
:

Al ejecutarse la llave que cierra ( } ) se cierra el switch y continua con la ejecucin del

INSTRUCCIN N;

Funcionamiento de la ESM cuando selector genera como resultado Valor 1 y la ESM contiene el default.

} Resto de instrucciones del programa

Profesor : Diego Fernando Duque B., Msc.

Estructura de Seleccin Mltiple ESM


switch (selector)
Si selector genera como { resultado Valor Q se busca si case Valor 1 : INSTRUCCIN 1; dentro de la estructura hay alguno Igual al generado por : selector iniciando la bsqueda INSTRUCCIN N; No hay igualdad con el primero. break; Valor Q Valor 1 Al no hallarse igualdad y adems la estructura contiene el default entonces se ejecuta una a una las instrucciones asociadas al default.

No hay igualdad Valor Q Valor 2 No hay igualdad Valor Q Valor N

case Valor 2 : INSTRUCCIN 1; : INSTRUCCIN N ; : break; :

case Valor N : INSTRUCCIN 1; : INSTRUCCIN N; break;

default : INSTRUCCIN 1;
:

Al ejecutarse la llave que cierra ( } ) se cierra el switch y continua con la ejecucin del

INSTRUCCIN N;

} Resto de instrucciones del programa

Despus de ejecutar la ltima instruccin salta a la llave que cierra ( } ).

Funcionamiento de la ESM cuando selector genera como resultado Valor Q y la ESM contiene el default.
Prohibida su reproduccin parcial o total sin permiso por escrito del autor.

Profesor : Diego Fernando Duque B., Msc.

Estructura de Seleccin Mltiple ESM


Si selector genera como resultado Valor Q se busca si dentro de la estructura hay alguno Igual al generado por selector iniciando la bsqueda con el primero.

switch (selector)
{

Al no hallarse igualdad y la estructura NO contiene el default entonces salta a la llave que cierra ( } ).

No hay igualdad Valor Q Valor 1 No hay igualdad Valor Q Valor 2 No hay igualdad Valor Q Valor N

case Valor 1 : INSTRUCCIN 1; :


INSTRUCCIN N; break; case Valor 2 : INSTRUCCIN 1; : INSTRUCCIN N ; : break; :

case Valor N : INSTRUCCIN 1; : INSTRUCCIN N; break;

Al ejecutarse la llave que cierra ( } ) se cierra el switch y continua con la ejecucin del

} Resto de instrucciones del programa

Funcionamiento de la ESM cuando selector genera como resultado Valor Q y la ESM NO contiene el default.

Profesor : Diego Fernando Duque B., Msc.

Estructuras de Seleccin Anidadas


La Estructura de Seleccin Anidada, ESA, consiste en utilizar las estructuras anteriormente vistas dentro de alguna o varias de ellas mismas, por ejemplo, utilizar varias ESS dentro de una ESS o dentro de una ESC o dentro de una ESM o viceversa. No existe una normal general en la construccin de las ESA ni en la cantidad de Estructuras de Seleccin que se pueden colocar, lo importante a tener en cuenta es cumplir con las exigencias de cada una de las estructuras de seleccin por si mismas.

Profesor : Diego Fernando Duque B., Msc.

Estructuras de Seleccin Anidadas ESA


Al construir una ESA debe tenerse en cuenta algunos aspectos: primero, deben existir igual cantidad de llaves que cierran ( } ) y de llaves que abren ( { ), segundo y ms importante, tener un claro concepto de dnde colocar cada llave que cierra ( } ) ya que, sino se ubican bien, algunos if podran depender de otros if y por tanto, no ejecutarse apropiadamente o nunca ejecutarse esa parte del programa.

Profesor : Diego Fernando Duque B., Msc.

You might also like