jueves, 5 de marzo de 2009

1.- Concepto de algoritmo

ALGORITMO
Conjunto de acciones o secuencias de operaciones ejecutadas en un determinado orden para resolver un problema.
Acción
Acontecimiento producido por un actor en un tiempo finito que produce un resultado definido y preciso y además genera cierta transformación.
Analizaremos la acción
Existen diferentes tipos de acciones:
· Acción simple: Realizadas directamente
· Acción compleja: No se pueden realizar directamente sino a través de una descomposición de acciones más simples (diseño Top-down).

Transformación Generada en los elementos intervinientes. Para determinar la transformación debo conocer el ESTADO.

ESTADO Es la observación de los elementos del sistema en un instante de tiempo dado.
Hay tres tipos de estado
Estado inicial Instante donde comienza la acción.(Ei)
Estado intermedio Instante observado en cualquier momento entre el comienzo y la finalización de la acción.
Estado Final Instante observado donde finaliza la acción (Ef)
Características de los algoritmos
Definido (confiable)
Debe indicar un orden a seguir
Debe ser finito, terminar en un número finito de pasos.
*Nota: Algoritmo Se trata de una herramienta capaz de resolver un problema. Todas las situaciones problemáticas pueden ser resueltas a través de algoritmos.

ALGORITMOS:
Lenguaje algorítmico: Se realiza análisis y se elige el método a utilizar, el conjunto de operaciones y orden conforman el algoritmo.
PROGRAMAS:
Lenguaje informático: Es aquel por el cual dicho algoritmo se codifica a la computadora.
Programa > algoritmo destinado a gobernar una computadora.
Lenguaje de programación:
Pueden haber diferentes “lenguajes” tales como: visual Basic, delphi, c++, java, etc.
Pueden tener diferente metodología de programación tales como: Modular, estructurada, orientada a objetos, etc.
Cubren necesidades específicas como ser: el visual Fox Pro, es para programar bases de datos.

Metodología para la resolución de problemas
Hay cinco etapas para resolver problemas algorítmicos, estas son:
Definición del sistema: definir que va a hacer el programa y que solución obtendremos.
Diseño del sistema: Establecer que tipo de metodología usaremos para solucionar el problema (Ej. Top down o Botton up).
Codificación: Es la etapa en donde se escribe el algoritmo en un lenguaje de programación.
Cuando se compila el algoritmo, hay un “antes” y un “después”
Antes > Programa Fuente (lenguaje de programación).
Después > Programa ejecutable (lenguaje de maquina).
Prueba y depuración: Se realizan pruebas para verificar el funcionamiento del programa, se prueba con valores válidos y con no válidos para ver como se comporta y corregir si es necesario.
Documentación y Mantenimiento: Se basa en la instalación, funcionamiento y características del programa. Permite corregir errores o modificar el programa (estos cambios son el mantenimiento del programa).
Hay dos tipos de documentación, estas son:
· Interna > viene dentro del programa (Ej. Readme, características operativas)
· Externa > Viene fuera del programa, diagramas de flujo, manuales de usuario, consejos de uso, etc.

Técnicas de diseño
Hay tres tipos de técnicas, estas son:
TOP DOWN (Diseño descendente): Consiste en tomar el problema inicial y descomponerlo en problemas más pequeños, de solución sencilla.
BOTTON UP: Consiste en partir de los detalles más precisos del algoritmo completando módulos de mayor complejidad – es inverso al anterior - .
WARNIER ORR: Utiliza una representación semejante a cuadros sinópticos para Mostar el funcionamiento y organización del algoritmo.

Técnicas para la formulación de algoritmos
Hay dos tipos, estas son:
*Estos no pueden ser ejecutados por una computadora
Diagramas de Flujo > se basan en la utilización de símbolos para representar las acciones.




Primera Parte
Catedratico: M.E. Manuel Gonzalez

No hay comentarios:

Publicar un comentario