viernes, 24 de abril de 2015
DISEÑO ALGORITMICO DE FUNCIONES
QUE ES UN DISEÑO ALGORÍTMICO DE FUNCIONES
Funciones algorítmicas de diseño Una función algorítmica se refiere a la implementación de un algoritmo y normalmente forma parte de un programa grande. También se llama una función algorítmica como procedimiento, rutina, método o subprograma.
Un algoritmo es un procedimiento detallado paso a paso para resolver un problema, pero es independiente de cualquier lenguaje de programacion ya que representa el concepto abstracto de la solución. Por lo tanto, después de diseñar un algoritmo y desarrollar su pesudocode, el siguiente paso es implementar en un lenguaje de programación específico. Al diseñar un algoritmo que muchos factores como tiempo, espacio y tamaño esperado de entrada se consideran.
Desarrollo y análisis de algoritmos también implican encontrar peor de los casos, el mejor de los casos y situaciones de promedio, como el rendimiento es muy importante para una aplicación cuya entrada aumenta con el tiempo. Una vez que haya finalizado el algoritmo, se traduce en una función o un procedimiento que es específico de un lenguaje de programación. Teóricamente, independientemente de un lenguaje de programación, un algoritmo debe producir repetidamente misma salida. Pero, esto no sucede en la realidad, ya que cada lenguaje de programación tiene sus propias ventajas y desventajas.
Las características de un lenguaje de programación determinan la eficiencia de un algoritmo debido a problemas como la incapacidad para asignar recursos en tiempo de ejecución o tener fugas de memoria silenciosa puede ralentizar un programa y puede llevar a mal funcionamiento de un algoritmo especialmente cuando aumenta la entrada.
Factores que influyen en el diseño de una función algorítmica Si un algoritmo hace uso de dividir y conquistar el enfoque o la programación dinámica, el lenguaje de programación que se utiliza para codificar una función algorítmica debe tener soporte para realizar llamadas recursivas anidados.
Casi todos los lenguajes de programación modernos tienen soporte para realizar llamadas recursivas pero programas escritos en lenguajes antiguos como FORTRAN no tenga soporte para realizar llamadas anidadas. En el caso de recursividad, un lenguaje de programación se encarga de varias ejecuciones de una función de anidación y hacer nuevas copias de las variables en cada llamada. Para lograrlo, la mayoría de lenguajes de programación almacenar detalles sobre las llamadas de función anidada en una pila. Aunque todos los lenguajes de programación proporcionan apoyo para realizar llamadas de función anidada, existe una actuación aérea en almacenar y recuperar los parámetros y variables locales, en recuperar direcciones relativas de cada llamada a una función anidada y en ajusta el puntero de pila.
Esta sobrecarga a su vez aumenta el tiempo de ejecución como el número de aumentos de llamadas recursivas. Al analizar y diseñar una función algorítmica, esta involucrado en la fabricación de llamadas recursivas de gastos generales no se puede predecir, pero es mejor dejar espacio para lenguaje de programación factores dependientes como este.
Casi todos los lenguajes de programación orientada a objetos producen excepciones cuando la entrada no es válida o cuando encuentra un error. Sin embargo, otra alternativa, que se puede considerar al diseñar la función algorítmica es devolver un código de error.
Este enfoque puede ser útil en idiomas que no proporcionan ningún apoyo para el manejo de errores. Un código de error normalmente da descripción sobre el tipo de error que se ha encontrado una función. A pesar de que un algoritmo establece claramente la esperada entrada y salida junto con los Estados intermedios, la aplicación real de la función algorítmica podría variar de un lenguaje de programación a otro. Una función algorítmica diseñada aumenta la legibilidad de un programa, aumenta la calidad del código, reduce errores de hard to find y ayuda a mantener grandes programas fácilmente.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario