Algoritmos PDF
Document Details
Uploaded by IndulgentCitrine
MIUMG
Tags
Summary
Este documento proporciona una descripción general de los algoritmos, su definición formal, lenguajes de programación y las etapas de desarrollo de programas. Explica conceptos clave como lenguaje máquina, lenguaje de bajo nivel (ensamblador) y lenguajes de alto nivel, además de las etapas involucradas en la creación de un programa, como la definición del problema, el análisis, el diseño del algoritmo la codificación, la prueba y la depuración. También incluye ejemplos.
Full Transcript
Algoritmos Definición formal de un algoritmo ◦ El lenguaje de programación es la combinación de símbolos y reglas que permiten la elaboración de programas con los cuales la computadora puede realizar tareas o resolver problemas de manera eficiente. ◦ Los lenguajes de programación se clasifi...
Algoritmos Definición formal de un algoritmo ◦ El lenguaje de programación es la combinación de símbolos y reglas que permiten la elaboración de programas con los cuales la computadora puede realizar tareas o resolver problemas de manera eficiente. ◦ Los lenguajes de programación se clasifican en: ◦ Lenguaje máquina. Las instrucciones son directamente entendibles por la computadora y no necesitan traductor para que la CPU (unidad de procesamiento central) pueda entender y ejecutar el programa. Utiliza un código binario (0 y 1), se basa en bits (abreviatura inglesa de dígitos binarios). ◦ Lenguaje de bajo nivel (ensamblador). Las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos. ◦ Lenguaje de alto nivel. Es semejante al lenguaje humano (en general en inglés), lo que facilita la elaboración y comprensión del programa. Por ejemplo Basic, Pascal, Cobol, Fortran, C, etcétera. Definición formal de un algoritmo ◦ Un algoritmo es un conjunto ordenado de pasos ejecutables y no ambiguos, que define un proceso finito con un fin determinado. ◦ Observe que la definición requiere que el conjunto de pasos que forman un algoritmo sea ordenado. ◦ Esto significa que los pasos de un algoritmo tienen que tener una estructura bien establecida en términos de su orden de ejecución. ◦ Sin embargo, esto no quiere decir que los pasos deban ejecutarse en una secuencia compuesta de un primer paso seguida de un segundo, y así sucesivamente. Definición formal de un algoritmo Todo algoritmo debe ser: ◦ Finito en tamaño o número de instrucciones (tiene un primer paso y un último paso) y tiempo de ejecución(debe terminar en algún momento). Por lo tanto, debe tener un punto particular de inicio y fin. ◦ Preciso. Debe tener un orden entre los pasos. ◦ Definido. No debe ser ambiguo (dobles interpretaciones); si se ejecuta el mismo algoritmo el resultado siempre será el mismo, sin importar las entradas proporcionadas. ◦ General. Debe tolerar cambios que se puedan presentar en la definición del problema. Definición formal de un algoritmo ◦ Toda actividad que realizamos la podemos expresar en forma de algoritmo. Existen dos tipos de algoritmos, los que se desarrollan para ser ejecutados por una computadora, llamados algoritmos computacionales, y los que realiza el ser humano, es decir, algoritmos no computacionales; como ejemplos de éstos tenemos: ◦ Cambiar un neumático (llanta) de un automóvil. ◦ Preparar un plato de comida. ◦ Calcular el área de un triángulo. Definición de programa de computadora Existen diferentes conceptos; sólo mencionaremos tres: ◦ Es un algoritmo desarrollado en un determinado lenguaje de programación, para ser utilizado por la computadora; es decir, es una serie de pasos o instrucciones ordenadas y finitas que pueden ser procesadas por una computadora, a fin de permitirnos resolver un problema o tarea específica. ◦ Secuencia de instrucciones mediante las cuales se ejecutan diferentes acciones de acuerdo con los datos que se desee procesar en la computadora. ◦ Expresión de un algoritmo en un lenguaje preciso que puede llegar a entender una computadora. Etapas o pasos en la creación de un programa Las fases para la creación de un programa son siete, aunque para algunos autores pueden describirse en sólo seis, pues omiten la primera porque es una etapa algo obvia. Las etapas se describen a continuación: ◦ Definición del problema ◦ Esta fase la proporciona el enunciado del problema, el cual requiere una definición clara y precisa (no debe ser ambiguo). Es importante que se entienda perfectamente lo que pretendemos que haga la computadora para poder continuar con la siguiente etapa. Etapas o pasos en la creación de un programa ◦ Analisis del problema ◦ Una vez que se ha comprendido lo que se desea que la computadora haga, la etapa de análisis es muy importante ya que en ésta se identifican tres factores indispensables: ◦ Qué información se necesita para obtener el resultado deseado (datos de entrada). ◦ Qué información se desea producir (datos de salida). ◦ Los métodos y fórmulas que se necesitan para procesar los datos y producir esa salida. Etapas o pasos en la creación de un programa ◦ Diseño y técnicas para la formulación de un algoritmo ◦ La etapa de diseño se centra en desarrollar el algoritmo basándonos en las especificaciones de la etapa del análisis; podemos representar un algoritmo mediante el diagrama de flujo o el pseudocódigo. ◦ Codificación ◦ En la etapa de codificación se transcribe el algoritmo definido en la etapa de diseño en un código reconocido por la computadora; es decir, en un lenguaje de programación; a éste se le conoce como código fuente. Por ejemplo el lenguaje “C++” es un lenguaje de programación. Etapas o pasos en la creación de un programa ◦ Prueba y depuración ◦ La prueba consiste en capturar datos hasta que el programa funcione correctamente. A la actividad de localizar errores se le llama depuración. ◦ Existen dos tipos de pruebas: de sintaxis y de lógica. ◦ Las pruebas de sintaxis se ejecutan primero, son las más sencillas y las realiza el compilador del programa cada vez que se ejecuta el programa hasta que el código no presente errores, es decir que la sintaxis que requiere el lenguaje sea la correcta, de lo contrario el propio compilador va mostrando los errores encontrados para que se modifiquen y se pueda ejecutar el código; estos errores pueden ser falta de paréntesis, o puntos y comas o palabras reservadas mal escritas. ◦ Las pruebas de lógica son las más complicadas ya que éstas las realiza el programador; consisten en la captura de diferentes valores y revisar que el resultado sea el deseado, es decir el programador tendría que modificar el código hasta que el programa funcione correctamente. Etapas o pasos en la creación de un programa ◦ Documentación ◦ Es la guía o comunicación escrita que permite al programador o al usuario conocer la funcionalidad del programa. ◦ La documentación sirve para que el código fuente sea más comprensible para el programador o para otros programadores que tengan que utilizarlo, así como para facilitar futuras modificaciones (mantenimiento). ◦ Hay dos tipos de documentación: ◦ Interna. Se generan en el mismo código y generalmente es mediante comentarios. ◦ Externa. Son los manuales y es independiente al programa. También puede ser la ayuda en el mismo software. Etapas o pasos en la creación de un programa ◦ Mantenimiento ◦ Se dice que un programa no se termina al 100%, ya que es necesario hacer algún cambio, ajuste o complementación para que siga funcionando correctamente; para llevarlo a cabo se requiere que el programa esté bien documentado. ◦ Todos los programas tienen actualizaciones, por lo que surgen versiones diferentes. Por ejemplo: Windows 3.11, 95, 98, 2000, Millennium, Xp, Vista, 7, 8, 10, 11. Ejemplo de Programa Ejecución de Programa