Aspectos sobre el Análisis y Diseño en el Desarrollo de Programas Algoritmos y Desarrollo de Programas I
Objetivos Cuando finalice esta lección, el estudiante: Conocerá sobre las herramientas de análisis y diseño más importantes y útiles. Conocerá sobre las estructuras de control más importantes. Podrá analizar y generar el diseño básico de problemas simples con la estructura de control secuencial. Conocerá sobre los tipos de errores en programación y su depuración
Herramientas de Análisis – Análisis de Input-Process-Output Propósito Identificar primero cual es el resultado deseado (Output) Identificar que datos necesito para lograr ese resultado (Input) Analizar como logro convertir esos datos en la información deseada (Process)
Herramientas de Análisis – IPO Chart (Input-Process-Output)
Herramientas de Análisis – PAC (Problem Analysis Chart) GIVEN DATA OUTPUT Variables: nombreEmpleado seguroSocial horasTrabajadas salarioPorHora Constantes: DESCUENTO_INCOME_TAX = .058 SEGURO_SOCIAL = .063 DISPLAY “El nombre del empleado es:” + nombreEmpleado DISPLAY “El Salario Bruto es: “ + salarioBruto DISPLAY “El total de deducciones es: “ + totalDeducciones DISPLAY “El salario neto es: “ + SalarioNeto FORMULAS STEPS salarioBruto = horasTrabajadas * salarioPorHora deducIncomeTax = salarioBruto * DESCUENTO_INCOME_TAX deducSeguroSocial = salarioBruto * DESCUENTO_SEGURO_SOCIAL totalDeducciones = deducIncomeTax + deducSeguroSocial salarioNeto = salarioBruto - totalDeducciones Pedir Datos al usuario Calcular Sueldo Bruto Calcular deducción Seguro Social Calcular deducción Income Tax Sumar el total de deducciones Calcular el sueldo neto al restarle las deducciones al sueldo bruto Mostrar en pantalla los datos 8. Stop Oprimir Al Empezar Problema 1
Herramientas de Diseño – Diseño de la solución Propósito Identificar tareas principales Descomponer las tareas hasta llevarlas a las más simples Organizar las tareas Identificar los datos (Proceso simultáneo) Diseñar la secuencia que se seguirá en la solución de cada tarea
Herramientas de Diseño – Identificación y manejo de tareas Diagrama de Estructura
Herramientas de Diseño – Identificación de los datos Diccionario de Datos El identificar los datos es un proceso que se da a la par con el de Identificar y manejar las tareas NUM NOMBRE VARIABLE DESCRIPCION DATA TYPE 1 nombre Nombre del empleado String 2 seguroSocial Identificación única del empleado 3 horasTrabajadas Cantidad de horas trabajadas en una semana real (double) 4 salarioHora Pago básico por hora regular de trabajo 5 salarioBruto Salario calculado sin restar deducciones 6 totalDeducciones Total de todas las deducciones aplicables 7 salarioNeto Salario a ser pagado tras restar las deducciones
Herramientas de Diseño – Integración de datos con tareas Diagrama de Estructura con Datos Oprimir Al Empezar Problema 1
Herramientas de Diseño – Diseño de la secuencia para cada tarea Flujograma
Herramientas de Diseño – Diseño de la secuencia para cada tarea Pseudocódigo Module MostrarResultados(In nEmp : String, salarioB, totDeducs, salarioN : real) Start DisplayLine “Datos procesados para el Empleado” DisplayLine DisplayLine “Nombre: “ + nEmp DisplayLine “Salario bruto: “ + salarioB DisplayLine “Total Deducs: “ + totDeducs DisplayLine “Salario Neto: “ + salarioN Return (MostrarResultados)
Herramientas de Diseño – Desde el Flujograma o el Pseudocódigo Module MostrarResultados(In nEmp : String, salarioB, totDeducs, salarioN : real) Start DisplayLine “Datos procesados para el Empleado” DisplayLine DisplayLine “Nombre: “ + nEmp DisplayLine “Salario bruto: “ + salarioB DisplayLine “Total Deducs: “ + totDeducs DisplayLine “Salario Neto: “ + salarioN Return (MostrarResultados)
Herramientas de Diseño – Al Programa… Java… public static void mostrarResultados(String nEmp, double salarioB, double totDeducs, double salarioN) { System.out.println( “Datos procesados para el Empleado”); System.out.println(); System.out.println(“Nombre: “ + nEmp); System.out.println(“Salario bruto: “ + salarioB); System.out.println(“Total Deducs: “ + totDeducs); System.out.println(“Salario Neto: “ + salarioN); }
Herramientas de Diseño – Diseño de la secuencia para cada tarea Símbolos principales utilizados en un flujograma
Herramientas de Diseño – Estructuras de Control Hay tres estructuras principales de control que son esenciales en el diseño de todo programa. Estas son: Estructura de secuencia Estructura de selección Estructura de repetición
Herramientas de Diseño – Estructuras de Control Secuencia
Herramientas de Diseño – Estructuras de Control Selección
Herramientas de Diseño – Estructuras de Control Selección – Otro caso
Herramientas de Diseño – Estructuras de Control Repetición Do-While Control Structure Do-Until Control Structure
Estructura de Secuencia - Problemas Simples Comencemos con… Estructura de Secuencia - Problemas Simples
Desarrollo de problema simple Se requiere un programa que produzca el resultado de la suma de los valores 52365 y 1278952. PAC o IPO Chart Structure Chart Flujograma Pseudocódigo Programa PAC Data Dictionary
Desarrollo de otro problema simple Se requiere un programa que produzca como resultado el área y el perímetro de una casa que mide 35 pies por 48 pies. PAC o IPO Chart Structure Chart Flujograma Pseudocódigo Programa area = largo x ancho perimetro = suma de todos los lados PAC Data Dictionary
Problema más complejo Se requiere un programa que genere el área de 5 círculos cuyos radios serán provistos por el usuario. PAC o IPO Chart Structure Chart Flujograma Pseudocódigo Programa area círculo pi = 3.14159 aprox. PAC Data Dictionary
Errores en programación y depuración de programas En programación de computadoras existen tres tipos de errores: Error de sintaxis Error de lógica Error en tiempo de ejecución El error de sintaxis ocurre cuando no se cumple con alguna regla de sintaxis. Ejemplo: Olvidar colocar el punto y coma al final de un enunciado. Los errores de sintaxis son detectados por el compilador.
Errores en programación y depuración de programas (cont.) El error de lógica causa que el programa trabaje incorrectamente. Ejemplo: Sumar en lugar de multiplicar en una fórmula El error de tiempo de ejecución causa que el programa termine de ejecutar abruptamente. Ejemplo: Tratar de dividir por cero Ejemplo: Entrar una palabra cuando se pide un número Los errores de lógica y de tiempo de ejecución son detectados usando un depurador.