Anda di halaman 1dari 30

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Introduccin a los Computadores o Estructuras algor tmicas selectivas


CNM-130 Instituto de Matemticas a Facultad de Ciencias Exactas y Naturales Universidad de Antioquia
Copyleft 2012. Reproduccin permitida bajo los o trminos de la licencia de documentacin libre GNU. e o

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Contenido

Introduccin o

Estructura selectiva simple

Estructura selectiva doble

Estructura selectiva anidada

Ejemplos

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Estructuras de control selectivas

Una sentencia condicional es una instruccin o grupo de o instrucciones que se pueden ejecutar o no en funcin del valor de una o condicin. o Se utilizan cuando en el desarrollo de la solucin de un problema se o hace necesario tomar una decisin para establecer un proceso. o

Los sentencias condicionales constituyen, junto con los bucles, los pilares de la programacin estructurada. o Las estructuras selectivas se utilizan para tomar decisiones lgicas. o Por medio de las estructuras selectivas se evala una condicin y u o dependiendo del resultado la misma se realiza un proceso.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Estructuras de control selectivas

Las condiciones evaluadas por medio de las estructuras selectivas se especican utilizando expresiones lgicas. o Clasicacin de las estructuras de control selectivas: o
Si entonces (Estructura selectiva simple) Si entonces / sino (Estructura selectiva doble) Si mltiple (Estructura selectiva mltiple) u u

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Estructura selectiva simple


La instruccin selectiva determina si una instruccin particular se o o ejecuta o no, segn el cumplimiento de una condicin P. u o La representacin de una estructura selectiva se hace con palabras o (pseudocdigo) o por medio de una gura geomtrica (diagrama de o e ujo).
Pseudocdigo o si P entonces Instrucciones; fin

donde
P: condicin o conjunto de condiciones a o evaluar. Intrucciones: instrucciones a realizar si la condicin P es verdadera. o

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplos
Ejemplo 2.1 Ralice un algoritmo (implemntelo en FreeDFD) tal que dado como dato la e calicacin de un alumno en un examen, escriba reprobado en caso de que o dicha nota sea menor a 3. Solucin o

Pseudocdigo o % Descripcion: Dada la calificacin de un o % alumno en un examen, se imprime "reprobado" % si la calificacin es menor a 3. o Leer NOTA; si NOTA<3.0 entonces Escribir "Reprobado"; fin

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 2.2
Ejemplo 2.2 A un trabajador se le aplica un aumento del 15 % en su salario si ste es e menor a 400 mil pesos. Realice un algoritmo (implemntelo en FreeDFD) e que imprima el sueldo del trabajador. Solucin o Datos: SUE: variable de tipo real que representa el salario del trabajador. Variables de salida: AUM: variable de tipo real; almacena el aumento del trabajador. NSUE: variable de tipo real; almacena el nuevo sueldo del trabajador.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 2.2
Pseudocdigo o % Dado como dato el sueldo de un trabajador, % el programa aplica un aumento del 15 % si % el sueldo es inferior a 400 mil pesos. % Lee el sueldo del empleado SUE = input(ngrese el sueldo: "); I si SUE<400000 entonces Hacer AUM = SUE*0.15; Hacer NSUE = SUE + AUM; Escribir "El nuevo sueldo es" NSUE fin

# 1 2 3 4

SUE 145000 517320 284215 180500

AUM 21750 42632,25 27075

NSUE 166750 326847,25 207575

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Estructura selectiva doble


La instruccin selectiva doble si entonces / sino permite que el ujo o del diagrama se bifurque por dos ramas diferentes dependiendo del cumplimiento de una condicin P. o Si al evaluar la condicin P el resultado es verdadero, entonces se o ejecuta un conjunto de instrucciones; si el resultado es falso se ejecutan otro conjunto de instrucciones.

Pseudocdigo o si P entonces Instrucciones1; sino Instrucciones2; fin

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 3.1
Ejemplo 3.1 Realice un algoritmo (implemntelo en FreeDFD) tal que dado como dato la e calicacin de un alumno en un examen, escriba aprobado si su o calicacin es mayor o igual a 3 y reprobado en caso contrario. o Solucin o
Pseudocdigo o % % % % Dada la calificacin de un alumno en o un examen, se imprime "aprobado"si la calificacin mayor o igual a 3 y o "reprobado" en caso contrario

Leer NOTA; si NOTA>=3.0 entonces Escribir "aprobado"; sino Escribir "reprobado"; end

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 3.2

Ejemplo 3.2 A un trabajador se le aplica un aumento del 15 % en su salario si ste es e menor a 400 mil pesos y 8 % en caso contrario. Realice un algoritmo (implemntelo en FreeDFD) que imprima el sueldo del trabajador. e Solucin o Datos: SUE: variable de tipo real que representa el salario del trabajador. Variables de salida: NSUE: variable de tipo real; almacena el nuevo sueldo del trabajador.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 3.2
Pseudocdigo o % % % % Dado como dato el sueldo de un trabajador, el programa aplica un aumento del 15 % si el sueldo es inferior a 400 mil pesos y en caso contrario el aumento es del 8 %.

Leer SUE; si SUE<=400000 entonces NSUE = SUE*1.15; sino NSUE = SUE*1.08; fin Escribir "El nuevo sueldo es" NSUE

# 1 2 3 4

SUE 200000 550000 140000 400000

NSUE 230000 594000 161000 460000

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Estructura selectiva anidada

Son estructuras selectivas que contienen a otras estructuras selectivas

Pseudocdigo o si Condicion1 entonces si Condicion2 entonces Operacion21; sino Operacion22; fin end

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo

Pseudocdigo o si P1 entonces Operacion11; sino si P2 entonces Operacion21; sino Operacion22; fin fin

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo

Pseudocdigo o si Condicion1 entonces si Condicion2 entonces Operacion21; sino Operacion22; fin sino si Condicion3 entonces Operacion31; fin end

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 4.1 Realice un algoritmo en FreeDFD tal que dado como dato un entero, determine si es par y en caso de no serlo, determine si es divisble por 3. Solucin o
Pseudocdigo o % Determina si un entero es par y en tal % caso determina si es divisible por 3 Leer a; si a MOD 2 = 0 entonces Escribir "El nmero es par" u sino si a MOD 3 = 0 entonces Escribir "El nmero es impar... u y es divisible por 3" sino Escribir "El nmero es impar... u y no es divisible por 3" fin fin

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 4.2

Ejemplo 4.2 Realice un algoritmo en FreeDFD que reciba como datos de entrada tres nmeros enteros distintos A, B y C y los escriba de mayor a menor. u

Solucin o Datos: A, B, C: variables de tipo entero. Variables de salida: A, B, C: variables de tipo entero; se imprimen en orden descendente.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Pseudocdigo o %******************************************* % Descripcin: dado tres enteros distintos, o % el algoritmo los ordena de mayor a menor. %******************************************* % Lee tres enteros distintos Leer A, B, C si A>B entonces si A>C entonces si B>C entonces Escribir A, sino Escribir A, fin sino Escribir C, fin sino si B>C entonces si A>C entonces Escribir B, sino Escribir B, fin sino Escribir C, fin end

B, C C, B

A, B

A, C C, A

B, A

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.1
Ejemplo 5.1 Realice un algoritmo en FreeDFD que determine si un punto con coordenadas (x, y) se encuentra en el segundo o cuarto cuadrante del plano cartesiano. Anlisis a
Datos: x, y: variables de tipo real (coordenadas del punto). Consideraciones: Un punto (x, y) se encuentra en el segundo cuadrante si x<0 y y>0 (1)

Un punto (x, y) se encuentra en el cuarto cuadrante si x>0 y y<0 (2)

De (1) y (2), un punto (x, y) se encuentra en el segundo o cuarto cuadrante si xy<0 (3)

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.2
Ejemplo 5.2 Realice un algoritmo en FreeDFD que determine si un punto con coordenadas (x, y) se encuentra en el interior de la circunferencia con centro en el origen y radio 3. Anlisis a
Datos: x, y: variables de tipo real (coordenadas del punto). Consideraciones: La circunferencia con centro en (0, 0) y radio 3 est dada por el conjunto de a puntos (x, y) que satisfacen x2 + y2 = 9 Un punto (x, y) se encuentra en el interior de dicha circunferencia si x2 + y2 < 9 (5) (4)

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.3
Ejemplo 5.3 Realice un algoritmo en FreeDFD que calcule, de ser posible, las raices reales de la ecuacin o ax2 + bx + c = 0, Anlisis a
Consideraciones: Las soluciones de la ecuacin cuadrtica (6) vienen dadas por o a b b2 4ac x= 2a La frmula (7) puede conducir a soluciones complejas si o = b2 4ac < 0 Variables: a, b, c: variables de tipo real (coecientes de la ecuacin) con a = 0. o dis: variable de tipo real; almacena el discriminante de la ecuacin. o x1 y x2: variables de tipo real; almacenan las raices de la ecuacin. o

a = 0.

(6)

(7)

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.4

Ejemplo 5.4 Realice un algoritmo en FreeDFD tal que dado como dato un nmero u entero, determine e imprima si el mismo es postivo, negativo o nulo.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.5

Ejemplo 5.5 Realice un algoritmo en FreeDFD tal que dado como dato un nmero u entero, determine e imprima si el mismo es par, impar o nulo.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.6

Ejemplo 5.6 Realice un algoritmo en FreeDFD tal que dado como datos tres nmeros u enteros, determine si stos estn en orden creciente. e a

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.7
Ejemplo 5.7 Una tienda norteamericana efecta un descuento a sus clientes dependiendo u del monto de la compra (en dlares). El descuento se efecta de acuerdo a o u los siguientes criterios:
1

monto < $500 no hay descuento $500 < monto $1000 5 % de descuento $1000 < monto $7000

11 % de descuento
4

$7000 < monto $15000 18 % de descuento monto > $15000 25 % de descuento

Realice un algoritmo en FreeDFD tal que dado el monto de la compra de un cliente, determine lo que el mismo debe pagar. Anlisis a Datos: COMPRA: variables de tipo real; representa el monto de la compra. PAGO: variables de tipo real; representa el valor a pagar.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.8
Ejemplo 5.8 En un pa los impuestos que debe pagar una persona al comprar un s art culo se calculan de la siguiente manera: los primeros $20 no causan impuesto, los siguientes $20 tienen el 30 % de impuesto y el resto el 40 % de impuesto, pero si el costo del producto es mayor a $500, entonces en lugar del 40 % se cobra el 50 %. Realice un algoritmo en FreeDFD que lea el costo bsico de un art a culo y calcule su precio total (precio total = precio bsico + impuesto). a Anlisis a Variables: PREBAS: variables de tipo real; almacena el precio bsico del producto. a IMP: variables de tipo real; almacena el impuesto del producto que se ingresa. PRETOT: variables de tipo real; almacena el costo total del producto (costo bsico ms impuesto). a a

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.9
Ejemplo 5.9 Cierta universidad para liquidar el pago de matr cula de un estudiante exige los siguientes datos:
1 2

Nmero de inscripcin u o Nombres

3 4

Patrimonio Estrato social

La universidad cobra un valor constante para cada estudiante de $50000. Si el patrimonio es mayor a dos millones y el estrato es superior a 3, se le incrementa un porcentaje dle 3 % sobre el patrimonio. Realice un algoritmo en FreeDFD que muestre: Nmero de u inscripcin o Anlisis a Variables: NI: variable de tipo entera, representa el nmero de inscripcin. u o NOM: variable de tipo cadena de caracteres, representa el nombre. PAT: variable de tipo real, representa el patrimonio. EST: variable de tipo entera, representa el estrato. PAGMAT: variable de tipo real, almacena el pago de matr cula. Nombres Pago de matr cula

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.10
Ejemplo 5.10 Un almacn efecta una promocin en la cual se hace un descuento sobre el e u o valor de la compra total, segn el color de la bolita que el cliente saque al u pagar en la caja. Si la bolita es blanca no se le har descuento alguno, si es a verde se le har un 10 % de descuento, si es amarilla un 25 %, si es azul un a 50 % y si es roja un 100 %. Realice un algoritmo en FreeDFD que determine la cantidad nal que un cliente deber pagar por su compra. Se sabe que slo hay bolitas de los a o colores mencionados. Anlisis a Variables : VCOMP: variable de tipo real, almacena el valor de la compra. COL: variable de tipo cadena de caracteres, almacena el color de la bolita. VPAG: variable de tipo real, almacena valor a pagar. PDES: variable de tipo entera, almacena el porcentaje de descuento.

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Ejemplo 5.11
Ejemplo 5.11 Se tienen cuatro esferas A, B, C y D de las cuales se sabe que tres son de igual peso y una diferente. Realice un algoritmo en FreeDFD que reciba como datos los pesos de las cuatro esferas y determine cul es la esfera a diferente y si es de mayor o menor peso.

Anlisis a Variables : PESOA: variable de tipo real, almacena el peso de la esfera A PESOB: variable de tipo real, almacena el peso de la esfera B PESOC: variable de tipo real, almacena el peso de la esfera C PESOD: variable de tipo real, almacena el peso de la esfera D

Introduccin o

Selectiva simple

Selectiva doble

Selectiva m ltiple anidada u

Ejemplos

Referencias

O. Cair o Metodolog de la programacin a o Segunda edicin. Alfaomega Grupo Editor, S.A., 2005 o

M.A. Criado Programacin en lenguajes estructurados o Alfaomega Grupo Editor, S.A. de C.V. Primera Edicin, 2006 o

Anda mungkin juga menyukai