You are on page 1of 8

ICM00794.

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

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 1


edelros@espol.edu.ec
ICM00794. Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794

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.

Para mostrar la aplicacin de un condicional en un algoritmo se utilizan los siguientes ejemplos:

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.

Desarrollo: El descuento lo puede aplicar el cajero, o se puede incorporar el algoritmo a la mquina


registradora. La variable de ingreso es el valor de compra, el procedimiento debe determinar el valor a pagar,
que se presenta al final como variable de salida.

El diagrama de flujo que representa el algoritmo es:

Ilustracin 2

El algoritmo expresado en pseudocdigo:

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:

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 2


edelros@espol.edu.ec
ICM00794. Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794

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.

El pseudocdigo para el algoritmo se presenta a continuacin:

Proceso ofertas02
Leer valor
descuento 0
Si valor > 100 Entonces
descuento 0.10
Fin Si
pagar = valor*(1-descuento)
Escribir pagar
FinProceso

2. Condicional con varias preguntas


Cuando se debe incluir ms de una pregunta en un condicional, se utilizan los operadores lgicos.

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.

Conectiva smbolo operador


Conjuncin and
Disyuncin v or
Negacin not

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 3


edelros@espol.edu.ec
ICM00794. Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794

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:

(valor > 8) (cantidad > 10)

Para el procedimiento se contina de igual forma que en el ejercicio anterior:

Ilustracin 4

El algoritmo expresado en pseudocdigo:

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

3. Condicionales con varios casos

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 4


edelros@espol.edu.ec
ICM00794. Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794

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

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 5


edelros@espol.edu.ec
ICM00794. Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794

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.

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 6


edelros@espol.edu.ec
ICM00794. Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794

Ilustracin 8

Siguiendo sta idea, el diagrama de flujo anterior se reorganiza y muestra como:

Ilustracin 9

Proceso ofertas05
Leer valor
Leer cantidad
Si cantidad>10 Entonces
Si cantidad>20 Entonces
descuento 0.10
Sino

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 7


edelros@espol.edu.ec
ICM00794. Fundamentos de Computacin
www.icm.espol.edu.ec/materias/icm00794

descuento 0.05
Fin Si
Sino
descuento 0
Fin Si
pagar valor*cantidad*(1-descuento)
Escribir pagar
FinProceso

Continuar con: la seccin de Ejercicios o Estructuras para repetir

Rsm01_Condicionales M.A. Ing. Edison Del Rosario 8


edelros@espol.edu.ec