ALGORITMOS MSc. Ing. David Aranda Aranda M.
ORIGEN
En la obra Quitab Al Jabr Al Mugabala (800 y 825) se recogía el sistema de numeración hindú y el concepto del cero, alcanzando gran reputación por el enunciado de las reglas paso a paso para sumar, restar,, multiplicar y dividir números decimales. restar « Algoritmo» proviene del gran matemático árabe Mohamed Al Al Kho Warizmi.
Al Kho Warizmi Algorismus Algoritmo
ORIGEN
En la obra Quitab Al Jabr Al Mugabala (800 y 825) se recogía el sistema de numeración hindú y el concepto del cero, alcanzando gran reputación por el enunciado de las reglas paso a paso para sumar, restar,, multiplicar y dividir números decimales. restar « Algoritmo» proviene del gran matemático árabe Mohamed Al Al Kho Warizmi.
Al Kho Warizmi Algorismus Algoritmo
CONCEPTO DE ALGORITMO
Es un conjunto de pasos precisos, definidos y finitos que conducen a la solución de un p r o b l e m a . Por ejemplo: El desarrollo de las actividades diarias en nuestra
CONCEPTO DE ALGORITMO
Más ejemplos: La realización del cálculo de la ecuación de segundo grado. La emisión de una nómina de pago de empleados. El cálculo de promedios de notas de Estudiantes de la UNCP
EJEMPLO DE ALGORITMO Algoritmo para comprar los boleto de entrada al cine. 1. Inicio 2. Seleccionar la película 3. Llegar al lugar de proyección de la película 4. Revisar la cartelera 5. Hacer la cola de pago 6. Esperar el turno 7. Solicitar la película Si la hay 8. Entregar el dinero 9. Esperar por los boletos y la diferencia de pago 10. Retirarse Si no hay la película
TIPOS DE ALGORITMO Toda actividad que realiza el ser humano, responde a un algoritmo. Existen dos tipos de algoritmos:
Algoritmos computacionales. Algoritmos no computacionales.
Los que se realizan para ser ejecutados por una computadora son llamados algoritmos computacionales y los que son ejecutados por el ser humano se denominan algoritmos no computacionales
DE ALGORITMO A PROGRAMA Cuando un algoritmo deba ser ejecutado por una computadora, se necesita expresar el algoritmo en instrucciones comprensibles por la computadora; para esto se utilizan los lenguajes de programación. Al algoritmo expresado en un determinado lenguaje de programación, se le denomina programa.
DE ALGORITMO A PROGRAMA
Ejemplo: Algoritmo para resolver la sumatoria de dos Números.
PARTES DE UN ALGORITMO
Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida.
Donde: ENTRADA: Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados. PROCESO: Pasos necesarios para obtener la solución del problema o la situación planteada.
PARTES DE UN ALGORITMO
Ejemplo: Algoritmo para resolver la sumatoria de dos Números.
Inicio Leer A ENTRADA: Valores de las variables A y B. Leer B PROCESO: Asignar a la variable Suma, el Suma= A + B valor de A más el valor de B. Escribir Suma SALIDA: Impresión del valor de la variable Suma,
ELEMENTOS PARA CONSTRUIR ALGORITMOS
Comandos Es un campo que puede convertirse en información. Así tenemos: Datos Numéricos (Reales, Enteros), Lógicos, Carácter (Char, String) Variables y Son espacios de memoria creados para contener valores que de acuerdo a su naturaleza deseen mantenerse constantes (Constantes) o que puedan variar (Variables).
Acciones que debe interpretar y ejecutar el computador. Por ejemplo: Inicio, Leer , Imprimir , …
+
* /
(ARITMÉTICOS)
REPRESENTACIÓN DE UN ALGORITMO Un algoritmo se puede representar por medio de dos formas:
Pseudocódigo. Inicio Leer A Leer B Suma= A + B Escribir Suma
Diagramas de Flujo.
REPRESENTACIÓN DE UN ALGORITMO Símbolos usados en un diagrama de flujo:
ESTRUCTURAS BÁSICAS DE UN ALGORITMO 1. ESTRUCTURA SECUENCIAL: En esta estructura una acción o instrucción se ejecuta detrás de otra en orden y secuencia. Estas estructuras contienen operaciones de Asignación, Cálculo y Acumulación. Inicio Leer A Leer B Suma= A + B Escribir Suma
ESTRUCTURAS BÁSICAS DE UN ALGORITMO 2. ESTRUCTURA DE SELECCIÓN O DECISION: Se utiliza cuando se requiere tomar decisiones lógicas, la ejecución de las instrucciones dependerá de que se cumplan o no, una o varias condiciones . Inicio Leer Edad Si (Edad>=18) entonces Escribir “Mayor de Edad” Fin Si
ESTRUCTURAS BÁSICAS DE UN ALGORITMO 3. REPETICIÓN O ITERACIÓN: Se utiliza cuando un proceso debe repetirse un número determinado o no de veces, una vez se haya establecido cierta condición para finalizar el proceso de repetición. Inicio Mientras (X<=10) hacer Escribir X X=X+1
PSEINT Es una herramienta para asistir a un estudiante en sus primeros pasos en programación. Mediante un simple e intuitivo pseudolenguaje en español (complementado con un editor de diagramas de flujo), le permite centrar su atención en los conceptos fundamentales de la
DEMOSTRACIÓN DE USO PSEINT
EJERCICIO 1:
Implementar un formulario que pida el nombre después el apellido, luego el ruc y finalmente la dirección. Para que muestre por pantalla la siguiente información con los datos ingresados:
+ Nombre: + Apellido: + Ruc: + Dirección:
EJERCICIO 2:
Leer desde teclado el número de CÓDIGO, el NOMBRE y 5 CALIFICACIONES, obtener el promedio. Imprimir la boleta del alumno con su promedio.
EJERCICIO 3:
Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle el algoritmo correspondiente.
EJERCICIO 4:
Diseñe un algoritmo que determine el monto a pagar por la compra de cierta cantidad de unidades de un producto.
EJERCICIO 5:
El cálculo del pago mensual de un empleado de una empresa se efectúa de la siguiente manera: el sueldo básico se calcula en base al número total de horas trabajadas basado en una tarifa horaria; al sueldo básico, se le aplica una bonificación del 20% obteniéndose el sueldo bruto; al sueldo bruto, se le aplica un descuento del 10% obteniéndose el sueldo neto. Escriba un programa que calcule e imprima el sueldo básico, el sueldo bruto y el sueldo neto de un trabajador.
EJERCICIO 6:
Diseñe un programa que permita convertir una cantidad dada en metros a sus equivalentes en centímetros, pulgadas, pies y yardas. Considere la siguiente información: 1 metro = 100 centímetros 1 pie = 12 pulgadas 1 yarda = 3 pies 1 pulgada = 2.54 centímetros
EJERCICIO 7:
Modifique el Ejercicio 2 de tal manera que imprima la condición del estudiante: APROBADO o DESAPROBADO.
EJERCICIO 8:
Desarrolle un algoritmo que permita leer dos valores distintos, determinar cual de los dos valores es el mayor y escribirlo.
EJERCICIO 9:
Desarrolle un algoritmo que permita leer un valor cualquiera N y escriba si dicho número es par o impar.
EJERCICIO 10:
Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10.
EJERCICIOS PARA EL ESTUDIANTE: 1.
2.
3.
Escriba un programa que calcule el área total y el volumen de un cilindro. Considere las siguientes fórmulas: A = 2πr( r+h) y V = πr²h; siendo A el área, V el volumen, r el radio y h la altura. Débora, Raquel y Séfora aportan cantidades de dinero para formar un capital. Diseñe un programa que determine el capital formado y el porcentaje de dicho capital que aporta cada uno. Diseñe un algoritmo para repartir una cantidad de dinero a tres personas en forma proporcional a sus edades. El monto que le corresponde a c ada persona se calcula con la siguiente fórmula:
EJERCICIOS PARA EL ESTUDIANTE: 3.
4.
5.
Una tienda ha puesto en oferta la venta de un producto ofreciendo un 11% de descuento sobre el importe de la compra. Diseñe un algoritmo que determine el importe de la compra, el importe del descuento y el importe a pagar por la compra de cierta cantidad de unidades del producto. Desarrolle un algoritmo que realice la sumatoria de los números enteros múltiplos de 5, comprendidos entre el 1 y el 100, es decir, 5 + 10 + 15 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria. Desarrolle un algoritmo que realice la sumatoria de los números enteros pares comprendidos entre el 1 y el 100, es decir, 2 + 4 + 6 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria. Desarrolle un algoritmo que lea los primeros 300 números enteros y determine