Академический Документы
Профессиональный Документы
Культура Документы
Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794
Contenido
Estructuras de Control ...................................................................................................................... 1
Estructuras para Seleccin: ....................................................................................................... 1
1. Condicionales ................................................................................................................... 1
2. Condicional con varias preguntas .................................................................................. 3
3. Condicionales con varios casos ..................................................................................... 4
4. Condicionales en rbol .................................................................................................... 6
Continuar con: la seccin de Ejercicios o Estructuras para repetir ........................................ 8
Estructuras de Control
Estructuras para Seleccin:
1. Condicionales
Cuando se puede escoger entre dos caminos, se debe tomar una decisin entre las opciones
En estos casos se utilizan los "Condicionales" que son estructuras de seleccin.
El condicional ms simple est conformado por solo dos caminos, se formula una pregunta simple que
compara al menos dos variables mediante expresiones de comparacin, tales como:
a>b
a=b
a<b
a<=b
etc....
El condicional en diagramas de flujo se representa por un rombo, la expresin se escribe dentro del rombo.
Por convencin, hacia la derecha del rombo se grafica el caso que la expresin resultada verdadera (V), y
hacia abajo o la izquierda se grafica la accin cuando el resultado es falso (F).
Ilustracin 1
Una forma de recordar esta convencin es extender la mano derecha en seal de verdad, y al extender la
mano izquierda, nos queda el lado el lado falso.
Ejemplo 1.
Un almacn aplica un descuento del 10% a quienes han comprado en productos ms de 100 dlares. Realice
un algoritmo que permita realizar esta operacin directamente en la caja registradora.
Ilustracin 2
Proceso ofertas01
Leer valor
Si valor > 100 Entonces
descuento 0.10
Sino
descuento 0
Fin Si
pagar = valor*(1-descuento)
Escribir pagar
FinProceso
Otra forma de expresar el algoritmo en diagrama de flujo, con el punto de vista del dueo del almacn, quien
prefiere que no exista descuento inicia con cero (0) y se modifica solo si cumple con la condicin de que
adquiera ms de 100 dlares:
Ilustracin 3
En el caso que el condicional modifique una variable solo en el caso de cumplir una condicin, no es
necesario graficar una accin. En estos casos, se debe escribir la expresin en la forma que permita que el
lado sin accin quede del lado falso.
Proceso ofertas02
Leer valor
descuento 0
Si valor > 100 Entonces
descuento 0.10
Fin Si
pagar = valor*(1-descuento)
Escribir pagar
FinProceso
En diagramas de flujo o seudo-cdigo, las expresiones usan las mismas conectivas y que la notacin de
lgica matemtica. Algunos prefieren usar los la notacin de lenguajes estructurados de programacin u
otros utilizan la forma simple: Y, O.
Ejemplo 2
Un almacn aplica el descuento del 15% para artculos de valor mayor a 8 dlares y que incluyan ms de 10
artculos.
Desarrollo: Para el ejercicio se requieren dos variables de ingreso: valor y cantidad. El descuento se aplica
con la expresin:
Ilustracin 4
Proceso oferta03
Leer valor
Leer cantidad
Si (valor>100) y (cantidad>10) Entonces
descuento 0.10
Sino
descuento 0
Fin Si
pagar = valor*cantidad*(1-descuento)
Escribir pagar
FinProceso
Existen problemas en los que una variable puede tomar diferentes valores conforme al
cumplimiento de diferentes casos.
Un ejemplo es cuando se realizan ventas por volumen, el descuento depende de la cantidad del
producto que se vende.
Cuando la variable resultado del condicional puede tener varios valores, se puede adoptar una
forma simple del problema al dividirla por casos, empezando por el caso bsico y se modifica la
variable resultado lo modifica cuando se revisan los casos siguientes.
Ilustracin 5
Ejemplo 3
Un almacn rebaja 10% del precio de un producto si se adquieren ms de 20 unidades y 5% si
adquieren hasta 20 unidades pero ms de 10, no hay descuento para cantidades menores o
iguales a 10 unidades. Con el precio unitario del producto y la cantidad adquirida, realice un
algoritmo para mostrar el valor a pagar.
Desarrollo: Para seguir una forma ordenada del problema, se divide el problema en casos. En
forma ascendente para el descuento, el problema se trata con una recta numrica donde se
establecen las cantidades para los rangos de descuento. Aplicar los descuentos consiste en
evaluar los rangos de cantidad y escribirlos como casos con condicionales
Ilustracin 6
Ilustracin 7
Proceso ofertas04
Leer valor
Leer cantidad
descuento0
Si (cantidad>10 y cantidad<=20) Entonces
descuento0.05
Fin Si
Si (cantidad>20) Entonces
descuento0.10
Fin Si
pagar=valor*cantidad*(1-descuento)
Escribir pagar
FinProceso
4. Condicionales en rbol
Otra forma de resolver el problema del ejemplo anterior, consiste en generar un camino por cada
caso para asignar el valor a la variable de salida.
Cada camino es parte de un condicional.
Ilustracin 8
Ilustracin 9
Proceso ofertas05
Leer valor
Leer cantidad
Si cantidad>10 Entonces
Si cantidad>20 Entonces
descuento 0.10
Sino
descuento 0.05
Fin Si
Sino
descuento 0
Fin Si
pagar valor*cantidad*(1-descuento)
Escribir pagar
FinProceso