INTRODUCCION A ALGORITMOS ISAAC ATTIE ALGORITMO • Es un método para la resolución de problemas. • Es un conjunto de pasos a seguir para la solución a un problema. • Es una serie finita de instrucciones para realizar una tarea. • Formalmente: “Es un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema” Características de los algoritmos Las características que debe cumplir un algoritmo son: Un algoritmo debe ser Preciso e indicar el orden de realización de cada paso. Un algoritmo debe ser Definido, es decir, si se sigue un algoritmo dos veces, se debe obtener el mismo resultado. Un algoritmo debe ser Finito, es decir, si se sigue el algoritmo se debe terminar el algún momento. Otras características de los algoritmos Debe cumplir con: • Una secuencia de instrucciones claras y finitas • Debe ser correcto y debe resolver el problema planteado en todas sus facetas • Debe ser legible Elementos que conforman un algoritmo • Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse. • Proceso. Acciones que lleva a cabo el algoritmo. • Salida. Datos que obtiene finalmente el algoritmo. Ejemplo: calcular el área de un rectángulo Análisis del problema: El cálculo del área del rectángulo se puede dividir en: • Entrada de datos (altura, base) • Proceso: Cálculo del área (= base x altura) • Salida de datos (base, altura, área) Formas de Escribir un Algoritmo Pseudocódigo: es un lenguaje algorítmico, muy parecido al español pero más conciso que permite la redacción rápida del algoritmo. Algunas palabras utilizadas en pseudocódigo son: Inicio, Fin, Escribir, Leer, etc. Ejemplo de pseudocódigo Inicio Escribir “ingresar la base “ Leer b Escribir “Ingresar la altura” Leer a Área=b*a Escribir “El área es”, Área Fin Diagramas de flujo: Es fácil de diseñar pues el flujo lógico del algoritmo se muestra en un diagrama en lugar de palabras. Cada paso del algoritmo se utiliza dentro un símbolo y en el orden en que estos se ejecutan, para conectarlos se usan flechas que indican el flujo lógico del algoritmo. Símbolos del diagrama de flujo Inicio y/o Fin Entrada(s) y/o Salida(s) Proceso(s) Condicional(es) y/o Ciclo(s) repetitivo(s) Conector(es) Ejemplo Diagrama de Flujo Diseño del algoritmo La solución de un problema complejo puede requerir muchos pasos, es necesario dividir el problema en subproblemas más sencillos de resolver. Este método se denomina divide y vencerás y es aplicable a la resolución y escritura de algoritmos y programas para computadora. Diseño descendente y refinamiento paso a paso Problema de cálculo del Área del Rectángulo Entrada de datos Entrada ALTURA Entrada BASE Calculo de Area AREA=BASE *ALTURA Escribir “ingresar la base “ Leer b Escribir “ingresar la altura” Leer a Área=b*a Salida de resultados Salida ALTURA Inicio Salida BASE Escribir “El área es”, Área Salida AREA Fin INTRODUCCION A ALGORITMOS Ejercicios propuestos (Pseudocódigo y Diagrama de Flujo) 1. Escribir un algoritmo que resuelva la siguiente ecuación: Y=((A*B*C)-(A+B+C))/C2 2. Escribir un algoritmo que resuelva la siguiente ecuación: 𝑥 = 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 3𝑦 3 +2𝑧 (𝑧+2𝑦) Escribir un algoritmo que convierta grados K a grados C Escribir un algoritmo que convierta dm a Km Escribir un algoritmo que dada una temperatura en K y otra en F halle la suma en C Dadas 3 notas trimestrales de matemáticas, halle la nota final Dado un monto de dinero prestado en $us, un numero de meses a prestar y un interés mensual. Hallar el monto total a devolver Dados x1 monedas de 10ctvs, x2 monedas de 20ctvs y x3 monedas de 50ctvs. Hallar el monto total de dinero en Bs, $us y Euros. Sabiendo que 1$us=7Bs y 1euro=9B El IC norte tiene una promoción para premiar a sus clientes; por cada 10Bs de compra el supermercado les devuelve el equivalente a 0,50 ctv. Dado un monto de compra determinar el monto a devolver del IC norte La presión, el volumen y la temperatura de una masa de aire se relacionan por la fórmula: masa = (presión * volumen)/(0.37 * (temperatura + 460)) Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la fórmula es: num. pulsaciones = (220 - edad)/10 Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%. Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana cualquiera. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la sig. tabla: Área % del presupuesto Ginecología 40% Traumatología 30% Pediatría 30% ISAAC ATTIE Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal. CONDICIONALES 1. Dado un numero decir si es negativo, positivo o neutro 2. Sabiendo que la temperatura normal de una persona oscila entre 36 y 37, dada una temperatura nos diga si esta baja, alta o normal 3. Dados los tres lados de un triángulo decir que tipo de triangulo es 4. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 35,5 5. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera: Si trabaja 40 horas o menos se le paga $16 por hora Si trabaja más de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra 6. Dados 2 números sumarlos si son positivos, multiplicarlos si son negativos o caso contrario restarlos. 7. Dado un numero avisar si es Par-Positivo o Par– Negativo o Impar-Positivo o Impar-Negativo 8. Un trabajador recibe un bono de ayuda por el número de hijos que tiene. Si no tienen ningún hijo o si tiene 1, no le dan nada, si tiene de 2 o 3 hijos le dan 15% sobre su sueldo, si tiene de 4 o 5 le dan 25% de bono. Si tiene más de 5 le dan el 35% de bono. Escribir un algoritmo que dado un sueldo básico me diga cuanto cobrara al final 9. Un Club de video multara a sus clientes morosos de acuerdo a los siguientes parámetros: Si la demora es de 2 días se les cobrara 1 Bs por película, si la demora es de 3 días se les cobrara 2Bs y si es mas de eso se les cobrara 3Bs por película 10. Dados 5 números, sumar los pares, Restar los impares, multiplicar los positivos y sumar los negativos 11. Las autoridades determinaron un tipo de impuesto a pagar por los trabajadores de acuerdo al monto ganado mensualmente. Si su sueldo es menor a 1000Bs le descontaran 2%, si su sueldo es menor a 5000Bs se le descontara 5%, si gana menos de 10000 se le descuenta 7% si gana más de 10000 su descuento es de 10%. Dado un sueldo, determinar con cuanto se queda el trabajador y cuanto es el impuesto. 12. Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume. 13. Leer tres números diferentes e imprimir el número mayor de los tres. INTRODUCCION A ALGORITMOS 14. En una fábrica de computadoras se planea ofrecer a los clientes un descuento que dependerá del número de computadoras que compre. Si las computadoras son menos de cinco se les dará un 10% de descuento sobre el total de la compra; si el número de computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o más se les da un 40% de descuento. El precio de cada computadora es de $11,000 15. Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10% 16. Calcular el total que una persona debe pagar al comprar llantas, si el precio de cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o más. 17. En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo de un número que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cuánto dinero se le descuenta. 18. Calcular el número de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aeróbico; la fórmula que se aplica cuando el sexo es femenino es: num_pulsaciones=(220-edad)/10 y si el sexo es masculino: num- pulsaciones =(210 edad)/10 19. Una compañía de seguros está abriendo un depto. de finanzas y estableció un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es menor que 50000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que 50 000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar cuál será la cuota que debe pagar un cliente. 20. Una empresa ofrece casas bajo las siguientes condiciones: Si el ingreso del comprador es menor o igual a 8000 el enganche será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 10 años. Si el ingreso del comprador es mayor a 8000 el enganche será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 5 años. La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial. ISAAC ATTIE 21. Una fábrica ha sido sometida a un programa de control de contaminación para lo cual se efectúa una revisión de los puntos IMECA generados por la fábrica. El programa de control de contaminación consiste en medir los puntos IMECA que emite la fábrica en cinco días si el promedio es superior a los 170 puntos entonces tendrá la sanción de parar su producción por una semana y una multa del 50% de las ganancias diarias cuando no se detiene la producción. Si el promedio obtenido de puntos IMECA es de 170 o menor entonces no tendrá ni sanción ni multa. El dueño de la fábrica desea saber cuánto dinero perderá después de ser sometido a la revisión.