Fases de resolución de un problema

11
Fases de Resolución de un Problema Fundamentos de Programación de Computadoras Manuel Esteban Mogollón García Docente del Área Académica de Computación e Informática Jefe del Área de Tecnologías de la Información IESTP “Cap. FAP José Abelardo Quiñones” – Tumbes – Perú

Transcript of Fases de resolución de un problema

  1. 1. Fases de Resolucin de un Problema Fundamentos de Programacin de Computadoras Manuel Esteban Mogolln Garca Docente del rea Acadmica de Computacin e Informtica Jefe del rea de Tecnologas de la Informacin IESTP Cap. FAP Jos Abelardo Quiones Tumbes Per
  2. 2. ALGORITMO Programa de Computadora Conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Preciso Definido Finito Preciso. Indicar el orden de realizacin de cada paso. Definido. Si se sigue dos veces, se debe obtener el mismo resultado cada vez. Finito. Debe terminar en algn momento, debe tener un nmero finito de pasos.
  3. 3. Ciclo de vida de los algoritmos Anlisis Diseo Codificacin Compilacin y Ejecucin Verificacin Depuracin Mantenimiento Documentacin
  4. 4. Qu entradas se requieren? Tipos de datos con los que se trabaja. Cantidad de datos. Qu mtodo produce la salida deseada? Procedimientos y funciones que permiten obtener el resultado deseado. Cul es la salida deseada? Tipos de datos de los resultados. Cantidad de datos. Requisitos o requerimientos adicionales y restricciones de la solucin. Anlisis Esta fase requiere una clara definicin, donde se contemple exactamente lo que debe hacer el algoritmo.
  5. 5. Anlisis. Se desea obtener una tabla con las depreciaciones acumuladas y los valores reales de cada ao, de un automvil comprado por 20,000 en el ao 2005, durante los seis aos siguientes suponiendo un valor de recuperacin o rescate de 2,000 Realizar el anlisis del problema, conociendo la frmula de la depreciacin anual constante D para cada ao de vida til. = = 20,000 2,000 6 = 18,000 6 = 3,000 Entrada Coste original. Vida til. Valor de recuperacin Proceso Depreciacin acumulada. Depreciacin acumulada en cada ao. Clculo del valor del automvil en cada ao. Salida Depreciacin anual por ao. Depreciacin acumulada en cada ao. Valor del automvil en cada ao. Ao Depreciacin Depreciacin Acumulada Valor Anual 1 ( 2006 ) 3,000 3,000 17,000 2 ( 2007 ) 3,000 6,000 14,000 3 ( 2008 ) 3,000 9,000 11,000 4 ( 2009 ) 3,000 12,000 8,000 5 ( 2010 ) 3,000 15,000 5,000 6 ( 2011 ) 3,000 18,000 2,000
  6. 6. Diseo En la fase de anlisis se determina qu hace el algoritmo. En la fase de diseo se determina cmo hace el algoritmo la tarea solicitada. Diagramas de flujo Smbolos que representan procesos en una secuencia indicada por flechas (flujo). Pseudocdigo Lenguaje de especificaciones de algoritmos. Lenguaje algortmico UPSAM v2.1 Tipo de dato : Nombre de variable Nombre constante = Expresin Leer( entrada de datos) Escribir ( mostrar datos) Asignar: Variable Expresin Si Entonces Si_no Fin_si Segn_sea Hacer Fin_segn Mientras Hacer Fin_mientras Repetir Hasta_que Desde Hasta Find_desde Diagramas de N-S Cajas contiguas que representa procesos. Terminal Entrada/Salida Proceso Decisin Lnea de flujo Inicio Entrada Proceso Salida Fin En esta fase se puede utilizar herramientas como por ejemplo: PSEInt, entre otras.
  7. 7. Codificacin Es la escritura en un lenguaje de programacin de la representacin del algoritmo desarrolladas en la fase de diseo. El cdigo puede ser escrito con igual facilidad en un lenguaje o en otro. Algoritmo Calcular_Edad Var Entero : AN, AA, E Inicio Escribir(Ao de nacimiento: ) Leer(AN) Escribir(Ao actual: ) Leer(AA) Si AA>AN Entonces E AA AN Escribir(Edad: ,E) Si_no Escribir(Ao actual debe ser mayor al Ao de nacimiento) Fin_si Fin public class Calcular_Edad { public static void Main() { int AN, AA, E; System.Console.Write(Ao de nacimiento: ); AN = System.Convert.ToInt32( System.Console.ReadLine() ); System.Console.Write(Ao actual: ); AA = System.Convert.ToInt32( System.Console.ReadLine() ); if ( AA > AN ) { E = AA AN; System.Console.Write(Edad: {0}, E); } else { System.Console.Write(Ao actual debe ser mayor que Ao de nacimiento); } } }
  8. 8. Compilacin y Ejecucin Unidad Central de Proceso Entorno de Desarrollo Integrado (IDE) Memoria Externa Entorno de Desarrollo Integrado (IDE) Teclado A) Edicin Unidad Central de Proceso IDE - Compilador Teclado B) Compilacin Memoria Externa IDE Programa Objeto Unidad Central de Proceso IDE - Enlace Memoria Externa Programa Objeto Teclado C) Enlace Programa de Carga
  9. 9. Errores de Compilacin. Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programacin y suelen ser errores de sintaxis. Errores de Ejecucin. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Errores Lgicos. La fuente de estos errores suele ser el diseo del algoritmo. Estos errores son los ms difciles de detectar, en estos casos se debe volver a la fase de diseo. Verificacin y depuracin
  10. 10. Documentacin Interna. Es la contenida en las lneas del cdigo fuente a manera de comentarios. Documentacin Externa. Incluye anlisis, diagramas de flujo y/o pseudocdigos, y manuales. Mantenimiento. La documentacin es vital cuando se desean corregir posibles errores futuros o introducir cambios en el programa. Despus de cada cambio debe ser actualizada la documentacin. Es practica frecuente numerar las sucesivas versiones de los programas. Documentacin y Mantenimiento
  11. 11. GRACIAS Manuel Esteban Mogolln Garca Si piensas que tu profesor es exigente, espera a que tengas un jefe. Ese s que no tendr vocacin de enseanza ni la paciencia requerida. Bill Gates Core Manager Student TechNET Club Microsoft [email protected]