Académique Documents
Professionnel Documents
Culture Documents
La programacin imperativa:
Es un paradigma de programacin que describe la programacin en trminos del estado del programa y sentencias que cambian dicho estado. Se le debe de explicar a la computadora por medio de instrucciones detalladas cmo hay que realizar una tarea.
- Caractersticas y diferencias
Caractersticas de lenguaje declarativo
Los lenguajes declarativos estn orientados a buscar la solucin del problema, sin preocuparse por la forma de llegar a ello; es decir, el programador debe concentrarse en la lgica del algoritmo, ms que en el control de la secuencia. Los programas estn formados por un conjunto de definiciones o ecuaciones, las cuales describen lo que debe ser calculado, no en s la forma de hacerlo. Las variables slo pueden tener asignado un solo valor a lo largo de la ejecucin del programa, l o cual implica que no puede existir asignacin destructiva. Debido a esto, cobra especial importancia el uso del anidamiento y la recursividad. Las listas representan la estructura fundamental de datos. El orden de la ejecucin no resulta importante debido a que no existen efectos colaterales; es decir, que al calcular un valor, resulta imposible afectar el clculo de otros y con esto se puede afirmar que cualquier secuencia de ejecucin deber conducir al mismo resultado. Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se pueden tratar como argumentos de otras definiciones. La programacin declarativa es un estilo de programacin en el que el programador especifica qu debe computarse ms bien que cmo deben realizarse los cmputos. "programa = lgica + control" (Kowalski) "algoritmos + estructuras de datos = programas" (Wirth) uso de la lgica como lenguaje de programacin: la computacin se entiende como una forma de inferencia o deduccin en dicha lgica.
1.- La caracterstica fundamental del paradigma declarativo es que no existe la asignacin ni el cambio de estado en un programa.
2.-Las variables son identificadores de valores que no cambian en toda la evaluacin (como constantes definidas con un DEFINE de C). 3.-Slo existen valores y expresiones matemticas que devuelven nuevos valores a partir de los declarados. Describe el problema que se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Las variables slo pueden tener asignado un solo valor a lo largo de la ejecucin del programa (no hay asignacin destructiva) El orden de la ejecucin no resulta importante debido a que no existen efectos colaterales; es decir, que al calcular un valor, resulta imposible afectar el clculo de otros El control de la ejecucin no es responsabilidad del programador. Las variables son utilizadas con transparencia referencial El uso del anidamiento y la recursividad tienen una gran importancia en este paradigma. Las listas representan la estructura fundamental de datos. Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se pueden tratar como argumentos de otras definiciones. Tiene lmites de aplicacin debido a que est restringido al subconjunto de problemas para los que el interprete o compilador fue diseado
La computacin se realiza cambiando el estado del programa por medio de sentencias que definen pasos de ejecucin. Existencia de estado modificable. Ejecucin de sentencias de control del programa. Idea principal de la programacin imperativa: La computacin se realiza cambiado el estado del programa por medio de sentencias que definen pasos de ejecucin del computador Estado del programa modificable Sentencias de control que definen pasos de ejecucin Se fija completamente el orden en el que se deben realizar las operaciones con ayuda de unos patrones de control del flujo de ejecucin
Diferencias
programacin imperativa: se describe paso a paso un conjunto de instrucciones que deben ejecutarse para variar el estado del programa y hallar la solucin, es decir, un algoritmo en el que se describen los pasos necesarios para solucionar el problema. programacin declarativa: las sentencias que se utilizan lo que hacen es describir el problema que se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto ltimo se realizar mediante mecanismos internos de inferencia de informacin a partir de la descripcin realizada.
Los programas declarativos incluyen menos detalles que sus contrapartidas imperativas. Se ha estimado un factor de reduccin de entre 5 y 10 en el nmero de lneas escritas. En los programas imperativos un porcentaje muy alto del cdigo est dedicado a controlar la secuencia de ejecucin del programa: instrucciones if, while, repeat y los puntos y coma que expresan la concatenacin de acciones. En un lenguaje declarativo no existen este tipo de instrucciones. La repetici n de cmputos se expresa mediante la recursin y la eleccin entre varias alternativas es ms abstracta. El punto y coma o su equivalente estn ausentes. Dado que el tiempo de desarrollo y el nmero de errores de un programa son directamente proporcionales al nmero de lneas escritas, independientemente del paradigma utilizado, los lenguajes declarativos ofrecen menores costes de desarrollo y mayor abilidad de los programas.
Imperativos
BASIC C Fortran Pascal Perl PHP Lua Java Python Go C++ C# Cobol Algol60 Pascal