LÓGICA DE PROGRAMACIÓN “Trabajando con Algoritmos y Pseudocódigos” Bach. Ing. Gean Carlo Pérez García ALGORITMOS Es un conjunto de pasos, procedimientos o acciones que nos permite alcanzar un resultado o resolver un problema. IMPORTANCIA DE LOS ALGORITMOS Es importante el estudio y conocimiento de lo que hoy conocemos como Algoritmos Computacionales, que desde su aparición hasta nuestros días es y seguirá siendo vital para el desarrollo de aplicaciones de computadoras, y el manejo y dominio de la lógica de programación para resolver problemas. La importancia de un algoritmo radica en desarrollar un razonamiento lógico matemático a través de la comprensión y aplicación de metodologías para la resolución de problemáticas CARACTERÍSTICAS DE LOS ALGORITMOS 01 02 03 PRECISO Debe indicar claramente los pasos y el orden a ejecutar, no puede tener ambigüedad. DEFINIDO Si se sigue dos veces, obtiene el mismo resultado cada vez. FINITO Tiene “Fin“. Un número determinado de pasos. ESTRUCTURA DE UN ALGORITMO 01 ENTRADA Es la introducción de datos para ser transformados. SALIDA Datos que se obtiene al finalizar el proceso. 02 PROCESO Acciones, operaciones y cálculos a realizar para dar solución al Problema.. 03 TIPO DE ALGORITMOS Algoritmo Óptimo: Un algoritmo es óptimo si es lo Algoritmo Válido: Es válido cuando carece Algoritmo Eficiente: de errores. Cuando se tiene la solución en poco tiempo. •Tarda menos tiempo en ejecutarse. •Tiene menos números de línea de código. más eficiente y no tiene errores. Diseño de algoritmos Es la forma de representar la secuencia lógica de ejecución de instrucciones. Esta puede ser a través de: 1) Diagramas de flujo 2) Pseudocódigo Pseudocódigo Es empleado para representar la solución de un algoritmo empleando lenguaje natural escrito estableciendo la secuencia de pasos sin imprecisiones y de manera clara. Ejemplo: Por ejemplo, el pseudocódigo para determinar el volumen de una caja de dimensiones A, B y C se puede establecer de la siguiente forma: Inicio. Leer las medidas A, B y C. Realizar el producto de A * B * C y guardarlo en V (V = A * B * C). Escribir el resultado V. Fin. Diagrama de Flujo. Un Diagrama de flujo representa la esquematización grafica de un algoritmo. Si el diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de programación es relativamente simple y directo. Construcción de Diagrama de Flujo. Análisis Construcción. Prueba de escritorio. Símbolos para realizar Diagrama de Flujo. Símbolo utilizado para marcar el inicio y el fin del diagrama de flujo. Símbolo utilizado para Introducir los datos de entrada. Expresa lectura Símbolo utilizado para representar un proceso. En su interior se expresan Operaciones o Actividades. Símbolo utilizado para representar una decisión. En su interior se almacena una condición. Símbolos para realizar Diagrama de Flujo. Símbolo utilizado para representar una decisión múltiple. En su Interior se almacena un selector. Símbolo utilizado para representar la Impresión de un resultado. Expresa escritura. Símbolo utilizado para expresar conexión dentro de una misma página. Símbolo utilizado para expresar conexión entre páginas diferentes. Símbolos utilizados para expresar la dirección del flujo del diagrama. Reglas para la Construcción de Diagramas de Flujo . 1. Todo diagrama de flujo debe tener un inicio y un fin. 2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas, verticales y horizontales. 3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas. La conexión puede ser a un símbolo que exprese lectura, proceso, decisión, impresión, conexión o fin de diagrama. 4. La notación utilizada en el diagrama de flujo debe ser independiente del lenguaje de programación. La solución presentada en el diagrama puede escribirse posteriormente y fácilmente en diferentes lenguajes de programación. Reglas para la Construcción de Diagramas de Flujo . 5. Si el diagrama de flujo requiriera más de una hoja para su construcción, debemos utilizar los conectores adecuados y enumerar las páginas convenientemente. 6. No puede llegar más de una línea a un símbolo. Ejemplo. Construya un diagrama de flujo tal que dado los datos A, B, C y D que representan números enteros, escriba los mismos en orden inverso. Datos: A, B, C, D (variables de tipo entero). INICIO (Se leen los datos). A, B, C, D Prueba de escritorio. 1. Inicio. 2. 2, 3, 4, 5. 3. 5, 4, 3, 2. 4. Fin. D, C , B, A FIN (Se escriben los datos en orden inverso). Ejercicios. Construya un diagrama de flujo y su respectivo pseudocódigo tal que se ingrese dos números y muestre la resta de dichos números. Construya un diagrama de flujo y su respectivo pseudocódigo tal que se ingrese tres números y muestre la suma de dichos números. Construya un diagrama de flujo y su respectivo pseudocódigo tal que dado los datos enteros A y B, escriba el resultado de la siguiente expresión: (𝐴 + 𝐵)2 3 Construya un diagrama de flujo y su respectivo pseudocódigo tal que permita ingresar el DNI y 5 calificaciones de un alumno obtenidas a lo largo del semestre, y que imprima el DNI del alumno y el promedio de sus calificaciones. Ejercicios. Construya un diagrama de flujo y su respectivo pseudocódigo tal que dado como dato la calificación de un alumno en un examen, escriba “aprobado” en caso de que esa calificación sea mayor a 13. Construya un diagrama de flujo y su respectivo pseudocódigo tal que dado como dato la calificación de un alumno en un examen, escriba “aprobado” si su calificación es mayor o igual que 13 y “reprobado” en caso contrario. Construya un diagrama de flujo y su respectivo pseudocódigo tal que dado como dato el sueldo de un trabajador, le aplique un aumento del 15% si su sueldo es inferior a S/.1000 y 12% en caso contrario. Imprima el nuevo sueldo del trabajador.