Algoritmo

17
Algoritmo L.S.C.I. Jennifer Alejandra Montaño Chávez

description

Definición de Algoritmo, los métodos algorítmicos y las herramientas algorítmicas

Transcript of Algoritmo

  • 1. Algoritmo L.S.C.I. Jennifer Alejandra Montao Chvez

2. Algoritmo La palabra ALGORITMO se deriva de la traduccin al latn de la palabra rabe Alkhwarzmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. 3. Algoritmo Un algoritmo es un mtodo para resolver un problema mediante una serie de pasos precisos, definido y finitos. 4. Mtodo Algortmico Un algoritmo debe de producir un resultado en un tiempo finito. Los mtodos que utilizan algoritmos se denominan mtodos algortmicos, en oposicin a los mtodos que implican algn juicio o interpretacin que se denominan mtodos heursticos. Los mtodos algortmicos se pueden implementar en computadoras; sin embargo, los procesos heursticos no han sido convertidos fcilmente en las computadoras. En los ltimos aos las tcnicas de Inteligencia Artificial han hecho posible la implementacin del proceso heurstico en computadoras. 5. Caractersticas de un Algoritmo Preciso: indicar el orden de realizacin en cada paso. Definido: si se sigue dos veces, obtiene el mismo resultado cada vez. Finito: Tiene fin, un nmero determinado de pasos. 6. Anlisis del Problema La primera dase de la resolucin de problemas con computadoras es el anlisis del problema. Esta fase requiere una clara definicin, donde se contemple exactamente lo que debe hacer el programa y el resultado o la solucin deseada. 7. Anlisis del Problema Dado que se busca una solucin por computadora, se precisan especificaciones detalladas de entrada y salida. Para poder definir bien un problema es conveniente responder a las siguientes preguntas: Qu entradas se requieren (tipo y cantidad)? Cul es la salida deseada (tipo y cantidad)? Qu mtodo produce la salida deseada? En la etapa de anlisis del proceso de programacin se determina qu hace el programa. 8. Diseo del Algoritmo En la etapa de Diseo se denomina cmo hace el programa la tarea solicitada. Los mtodos ms eficaces para el proceso de diseo se basan en el conocido por divide y vencers. Es decir, la resolucin de un problema complejo se realiza dividiendo el problema en subproblemasy a continuacin dividir estos subproblemas en otros de nivel ms bajo, hasta que pueda ser implementada una solucin en la computadora. Este mtodo se conoce tcnicamente como diseo descendente (top-down) o modular. El proceso de romper el problema en cada etapa y expresar cada paso en forma ms detallada se denomina refinamiento sucesivo. 9. Diseo del Algoritmo Cada subproblema es resuelto mediante un mdulo (subprograma) que tiene un solo punto de entrada y un solo punto de salida. 10. Diseo de Algoritmo Cualquier programa bien diseado consta de un programa principal (el mdulo de nivel ms alto) que llama a subprogramas (mdulos de nivel ms bajo) que a su vez pueden llamar a otros subprogramas. Los programas estructurados de esta forma se dice que tienen un diseo modular y el mtodo de romper el programa en mdulos ms pequeos se llama programacin modular. 11. Diseo de Algoritmo Los mdulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuacin combinarlos entre s. 12. Diseo de Algoritmo El proceso implica la ejecucin de los siguientes pasos hasta que el programa se termina: 1. Programar un mdulo 2. Comprobar el mdulo 3. Si es necesario, depurar el mdulo 4. Combinar el mdulo con los mdulos anteriores. 13. Diseo de Algoritmo El proceso que convierte los resultados del anlisis del problema en un diseo modular con refinamientos sucesivos que permitan una posterior traduccin a un lenguaje se denomina diseo del algoritmo. 14. Diseo de Algoritmo El diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a codificar posteriormente. 15. HERRAMIENTAS DE PROGRAMACIN Las dos herramientas de programacin ms utilizadas comnmente para disear algoritmos son: Diagramas de Flujo Pseudocdigo 16. Diagramas de Flujo Un diagrama de flujo (flowchart) es una representacin grfica de un algoritmo. Los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI). 17. Pseudocdigo Es una herramienta de programacin en la que las instrucciones se escriben en palabras similares al ingls o espaol, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos.