You are on page 1of 7

Gua de Trabajo Estructura selectiva simple, doble y mltiple

Estructura selectiva simple y doble.


Las bifurcaciones permiten ejecutar una de entre varias acciones en funcin del valor de una expresin lgica o relacional. Se tratan de estructuras muy importantes ya que son las encargadas de controlar el flujo de ejecucin de un programa. Existen dos bifurcaciones diferentes: if y switch. Bifurcacin if Esta estructura permite ejecutar un conjunto de sentencias en funcin del valor que tenga la expresin de comparacin (se ejecuta si la expresin de comparacin tiene valor true). Tiene la forma siguiente:

if (condicin) { operaciones; }
Las llaves {} sirven para agrupar en un bloque las sentencias que se han de ejecutar, y no son necesarias si slo hay una sentencia dentro del if. Bifurcacin if else Anloga a la anterior, de la cual es una ampliacin. Las sentencias incluidas en el else se ejecutan en el caso de no cumplirse la expresin de comparacin (false),

if (condicin) { operacion1; } else { Operacion2; }


Nada mejor que ejemplos para ilustrar la utilidad de las estructuras selectivas simple y doble.

Informtica Educativa Introduccin a la Programacin

Pgina 1

Ejemplo 1
1.1 Programa que determina si un nmero es positivo. (Utilizaremos una estructura selectiva simple)

Observe: El programa anterior lee un numero ingresado por el usuario y determina si es positivo en la expresin lgica (numero >0)

Informtica Educativa Introduccin a la Programacin

Pgina 2

Ejemplo 2
2.1 Programa que determina si un nmero es par o impar (utilizaremos estructura selectiva doble)

Observe: El programa anterior decide si enviar un mensaje u otro determinado por la condicin (numero%2==0)

Informtica Educativa Introduccin a la Programacin

Pgina 3

Ejemplo 3
3.1 Escribir un programa que dado como dato un nmero entero, determine e imprima si el mismo es positivo, negativo o nulo.

Observe: En el programa anterior se utiliza una estructura selectiva anidada (lnea 17). En este caso se utiliza else if para evitar escribir otro bloque de construccin {}. El else que est en la lnea 20 pertenece al bloque que se inicia en la lnea 15. Este tipo de estructuras se utiliza para reemplazar a un switch

Ejercicio 1. Modifique el programa anterior, de tal manera que si el nmero es mayor que 10 enve el siguiente mensaje El nmero es mayor que 10

Informtica Educativa Introduccin a la Programacin

Pgina 4

Sentencia switch
Se trata de una alternativa a la bifurcacin if elseif else cuando se compara la misma expresin con distintos valores. Su forma general es la siguiente:
switch (expression) { case value1: statements1; case value2: statements2; case value3: statements3; case value4: statements4; case value5: statements5; case value6: statements6; [default: statements7;] } break; break; break; break; break; break;

Las caractersticas ms relevantes de switch son las siguientes: 1. Cada sentencia case se corresponde con un nico valor de expression. No se pueden establecer rangos o condiciones sino que se debe comparar con valores concretos. 2. Los valores no comprendidos en ninguna sentencia case se pueden gestionar en default, que es opcional. 3. En ausencia de break, cuando se ejecuta una sentencia case se ejecutan tambin todas las case que van a continuacin, hasta que se llega a un break o hasta que se termina el switch.

Ejemplo 1
1.1 Escribir un programa que aplique descuentos a facturas por categora de cliente. Los descuentos se realizan de la siguiente manera: Categora 1: tienen 20% de descuento Categora 2: 30% de descuento. Categora 3: 35% de descuento Categora 4: 45% de descuento. Otras: 15 % de descuento. Asumiremos que se hace una compra de varios artculos de un mismo tipo. El programa debe imprimir pago_bruto, descuento y pago_total.

Informtica Educativa Introduccin a la Programacin

Pgina 5

Informtica Educativa Introduccin a la Programacin

Pgina 6

Ejemplo de ejecucin.

Cul de los casos de descuento fue aplicado en la ejecucin anterior?

Ejercicio2: Modificar el programa anterior de tal manera que se aplique el impuesto IVA sobre el pago bruto. Adems, si el descuento aplicado es mayor a 200 debemos restarle 5%.

Informtica Educativa Introduccin a la Programacin

Pgina 7