DEFINICIÓN DE ALGORITMOS
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe Alkhowarizmi [5], nombre de un matemático y astrónomo árabe que escribió un tratado sobre la manipulación de números y ecuaciones en el siglo IX.
Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un problema específico.
Las principales características que debe tener un buen algoritmo son:
- Debe tener un punto particular de inicio.
- Debe ser completamente definido y no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
- Debe ser finito en tamaño y tiempo de ejecución.
- Debe ser legible, claroy fácil de interpretar y entender.
Teniendo en cuenta la forma como describen el proceso, se pueden clasificar en:
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso, que servirán de apoyo para describir las soluciones que aquí se plantean.
Teniendo en cuenta la forma en que describen el proceso, existen dos tipos de lenguajes algorítmicos:
Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudo código).
Existen diferentes técnicas para especificar los elementos de un algoritmo, dependiendo del lenguaje algorítmico que se utilice así:
Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos para producir resultados.
Esta representación gráfica se presenta mediante un conjunto de símbolos que se relacionan entre si a través de líneas que indican el orden en que se deben ejecutar cada unode los procesos.
¿QUE ES UN PROGRAMA?
Un programa es la expresión (transcripción) de un algoritmo en un
lenguaje de programación, capaz de ser procesado por un ordenador tras
su compilación y linkado y que controla el funcionamiento de un
ordenador a la hora de resolver un problema.
ALGORITMO + PROGRAMA =LENGUAJE DE PROGRAMACIÓN
COMO SE CONSTRUYE UN PROGRAMA.
El proceso de elaboración de un programa, conlleva varias etapas:
Análisis
Diseño
Codificación
Pruebas
Documentación y
Mantenimiento
• Fase de Análisis: decidir qué es lo que tenemos que hacer.
• Fase de Diseño (desarrollo de la solución): se define cómo vamos
a hacerlo. Æ Obtención del Algoritmo Æ Se utilizará el Diseño
Descendente o TOP-DOWN: Un problema complejo se resuelve
dividiendo el problema en subproblemas, y así sucesivamente hasta
que la resolución de cada subproblema sea fácilmente programable.
• Fase de Codificación: Æ Implementación del Algoritmo en el
lenguaje de programación más adecuado Æ Obtención del Programa
• Fase de Pruebas: No basta que el programa esté terminado Æ Hay
que comprobar que el programa NO falla y funciona perfectamente en
todos los casos posibles que se puedan presentar.
• Fase de Documentación y Mantenimiento: Æ Se elabora la
documentación del programa, y se realizan las actualizaciones
oportunas que se vayan necesitando.
PSEUDOCODIGO
Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos.
¿QUE ES UN PROGRAMA?
Un programa es la expresión (transcripción) de un algoritmo en un
lenguaje de programación, capaz de ser procesado por un ordenador tras
su compilación y linkado y que controla el funcionamiento de un
ordenador a la hora de resolver un problema.
ALGORITMO + PROGRAMA =LENGUAJE DE PROGRAMACIÓN
COMO SE CONSTRUYE UN PROGRAMA.
El proceso de elaboración de un programa, conlleva varias etapas:
Análisis
Diseño
Codificación
Pruebas
Documentación y
Mantenimiento
• Fase de Análisis: decidir qué es lo que tenemos que hacer.
• Fase de Diseño (desarrollo de la solución): se define cómo vamos
a hacerlo. Æ Obtención del Algoritmo Æ Se utilizará el Diseño
Descendente o TOP-DOWN: Un problema complejo se resuelve
dividiendo el problema en subproblemas, y así sucesivamente hasta
que la resolución de cada subproblema sea fácilmente programable.
• Fase de Codificación: Æ Implementación del Algoritmo en el
lenguaje de programación más adecuado Æ Obtención del Programa
• Fase de Pruebas: No basta que el programa esté terminado Æ Hay
que comprobar que el programa NO falla y funciona perfectamente en
todos los casos posibles que se puedan presentar.
• Fase de Documentación y Mantenimiento: Æ Se elabora la
documentación del programa, y se realizan las actualizaciones
oportunas que se vayan necesitando.
PSEUDOCODIGO
Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos.
EJEMPLO
PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿qué debe haga el estudiante?
Inicio Dormir haga 1 hasta que suene el despertador (o lo llame la mamá). Mirar la hora. ¿Hay tiempo suficiente? Si hay, entonces Bañarse. Vestirse. Desayunar. Sino, Vestirse. Cepillarse los dientes. Despedirse de la mamá y el papá. ¿Hay tiempo suficiente? Si, Caminar al paradero. Sino, Correr al paradero. Hasta que pase un bus para la universidad haga : Esperar el bus Ver a las demás personas que esperan un bus. Tomar el bus. Mientras no llegue a la universidad haga : Seguir en el bus. Pelear mentalmente con el conductor. Timbrar. Bajarse. Entrar a la universidad. Fin |
No hay comentarios:
Publicar un comentario