CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
GUIA DE AULA No. 5 – I INSTRUCCIONES DE DECISIÓN PROGRAMA: Sistemas y computación MATERIA:
Lógica Matemática y Algoritmos
SEMESTRE:
I
I.H.S 4 T.H
64
RESPONSABLE: Juan Alexander Agreda Delgado
RECUPERACION DE SABERES Y EXPERIENCIAS PREVIAS
Un profesor universitario devenga su sueldo de acuerdo a las horas de clases que orienta, sin embargo, por cada dos horas de clase el docente invierte en su casa una hora en preparar el tema y otra en evaluarlo. Dado el sueldo y las horas pagadas ¿Cuál es el valor que corresponde a cada hora trabajada? Definición del problema Calcular el valor de cada hora de trabajo de un profesor universitario. Análisis del problema En este problema aparecen los siguientes elementos: Horas preparación de clase (preclase). Horas clase Horas de evolución (posclase) Numero total horas=preclase +clase+posclase Horas pagadas=clase Se toma la cantidad mínima para encontrar la relación entre los tiempos. Numero total horas=1+2+1=4 Horas pagadas =2 Se tiene que el número total de horas equivale al doble de las horas pagadas, por tanto puede expresarse así: 1
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Total horas=2 * horas clase (pagadas) Datos de entrada: sueldo, horas pagadas Datos salida: valor hora Procesos: total horas=2* horas pagadas Valor hora=sueldo/total horas Diseño de la solución Pseudocódigo: 1. Inicio 2.
Entero: horaspag, tothoras
3.
Real: sueldo, valhora
4.
Escribir(“Ingrese sueldo:”)
5.
Leer sueldo
6.
Escribir(“Ingrese horas pagadas:”)
7.
Leer horaspag
8.
tothoras=2 * horaspag
9.
valhora=sueldo / totoras
10. Escribir (“Valor hora:”, valhora) 11. fin
INCORPORACIÓN DE NUEVA INFORMACIÓN
INSTRUCCIONES DE DECISIÓN Estas instrucciones permiten que el algoritmo tome decisiones y ejecute u omita procesos dependiendo del cumplimiento de una condición. 1. INSTRUCCIÓN SI 2
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Es la instrucción mas empleada. Ya que evalúa una condición o expresión relacional y dependiendo del resultado de esta comprobación decide el camino de acción a seguir. Si el resultado de esta evaluación o comparación se cumple la expresión relacional genera un valor verdadero (SI), mientras si no cumple genera el valor falso (NO). 1.1.1 Selección simple En una instrucción SI simple, si el valor lógico devuelto por la comparación es verdadero se ejecuta un conjunto de instrucciones; mientras que si el resultado es falso, las instrucciones del condicional se omite y la ejecución continua después de la línea fin si La estructura del condicional simple es: Si (Condición) entonces Acción 1 Acción 2 Acción 3 Fin si Ejemplo: Se desea saber si una persona es mayor de edad. En (pseudocódigo) Inicio Real: edad; Escribir (“Ingrese edad:”) Leer (edad) Si (edad >=18) Entonces Escribir (“La persona es mayor de edad”) Fin si Fin
3
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
En (DFD)
1.1.2
Selección doble
La selección es doble cuando se cuenta con una instrucción o un conjunto de ellas para cuando el resultado de la condición es verdadero y otro para cuando es falso. La selección doble en pseudocódigo presenta la siguiente estructura: Si (Condición) entonces Bloque de acciones 1 Si no Bloque de acciones 2 4
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Fin si Ejemplo: Se desea saber si una persona es mayor de edad. En (pseudocódigo) Inicio Real: edad; Escribir (“Ingrese edad:”) Leer (edad) Si (edad >=18) Entonces Escribir (“La persona es mayor de edad”) Sino Escribir (“La persona es menor de edad”) Fin si Fin En (DFD)
5
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
1.2
Ejemplos
1.2.1 Un algoritmo que lea dos números y divida el primero sobre el segundo, teniendo en cuenta que la división sobre cero no es valida. Definición del problema Realizar una división en este caso
6
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Dividendo
Divisor
Cociente
4
/
2
=
2
4
/
0
=
ERROR
Análisis del problema Datos de entrada: dividendo, divisor Datos de salida: cociente Proceso: Cociente = dividendo /divisor
Pseudocódigo: Inicio Entero: dividendo, divisor, cociente Escribir (“Ingrese dividendo:”) Leer (dividendo) Escribir (“Ingrese divisor:”) Leer(divisor) Si (divisor<> 0) entonces cociente=dividendo/divisor Escribir (“Resultado:”,cociente) Sino Escribir (“Error división sobre 0”) Fin si Fin 7
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
1.2.2
Una empresa desea incorporar personal. Muchos aspirantes presentan su hoja de vida; sin embargo, solo son aceptadas si el candidato tiene entre 25 y 30 años inclusive, o si su nivel académico es a titulo de especialista en cuyo caso no importa la edad. Definición problema Determinar si una persona es apta para incorporarse a la empresa, teniendo en cuenta edad y formación académica. Análisis del problema Para saber si la edad es adecuada es necesario verificar si esta en el intervalo 25 -30, para ello será necesario utilizar el operador lógico AND, pero además de esta condición hay que tener en cuenta la formación académica, para ello se combinara la condición anterior mediante el operador lógico OR, ya que el cumplimiento de cualquiera de las dos condiciones indica que la persona es apta. Datos de entrada: edad, formación académica Datos de salida: mensaje “Apto” o “No Apto” Proceso: Ninguno
Pseudocódigo INICIO Entero: edad Cadena: estudio Escribir(“Ingrese edad:”) Leer(edad) Escribir(“ingrese estudio:”) Leer(estudio) Si(edad >= 25 AND edad<=30 OR estudio=”especialista” ) entonces Escribir(“APTO”) 8
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Sino Escribir(“No Apto”) Fin si FIN 1.3
SI ANIDADOS Se dice que los condicionales están anidados cuando aparece uno dentro de otro. Este tipo de estructuras se utiliza cuando después de tomar una decisión es necesario tomar otra. Estructura si anidados SI(Condicion1 ) entonces Si(Condicion2) entonces Bloque de instrucciones 1 Sino Si (condición3) entonces Bloque de instrucciones 2 Fin si Fin si Sino Si(condición4) entonces Bloque de instrucciones 3 Fin si Fin si
1.3.1 Ej: dado tres números enteros diferentes se desea encontrar el mayor de ellos. Definición problema 9
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Determinar el mayor de tres números Análisis del problema Datos de entrada: n1, n2, n3 Datos de salida: número mayor Proceso: ninguno Diseño de la solución Pseudocódigo INICIO Entero n1, n2, n3 Escribir(“Ingrese el primer numero:”) Leer(n1) Escribir(“Ingrese el segundo numero:”) Leer(n2) Escribir(“Ingrese el tercer numero:”) Leer(n3) Si (n1>n2) entonces Si(n1>n3) entonces Escribir(“mayor:”,n1) Sino Escribir(“mayor:”,n3) Fin si Si no Si (n2> n3) entonces Escribir(“Mayor”, n2) 10
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Sino Escribir(“Mayor”, n3) Fin si Fin si FIN
EJERCICIOS Realizar los siguientes problemas, mediante pseudocódigo o DFD. Para entregarlos en clase. “Analice con paciencia no se rindan”
1.
En un almacén de hace un 20% de descuento a los clientes cuya compra supere los 100000 ¿Cuál será la cantidad que pagara una persona por su compra?
2.
Una empresa esta pagando una bonificación a sus empleados dependiendo del tiempo de servicio y el estado civil, así: para empleados solteros: si llevan hasta cinco años, el 2% del sueldo, entre 6 y 10 años el 5% mas de 10 años el 10%. Para empleados casados: si llevan hasta 5 años, el 5% del sueldo, entre 6 y 10 años el 10%, mas de 10 años el 15%.
11