ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programación lógica Y Funcional


Enviado por   •  28 de Enero de 2014  •  627 Palabras (3 Páginas)  •  1.051 Visitas

Página 1 de 3

Unidad 1. Conceptos fundamentales

1.1 Estilos de programación

Programación imperativa. Es un estilo de programación en el que los programas están formados por instrucciones que especifican cómo se ha de calcular el resultado.

Programa: secuencia de instrucciones a ser ejecutadas por la máquina.

Asignación: es la instrucción más simple que cambia el valor de una variable.

Instrucciones de control: decisión, repetición.

Ejemplos: Pascal, C/C++, Java, .NET, Perl, Python, etc.

Programación declarativa.

Programa: especificación del problema a resolver.

Variables lógicas: no hay asignación, las variables no varían.

Recursividad en lugar de repetición.

Lenguaje lógico y matemático.

Ejemplos: SQL, ProLog, LISP, haskell, BABEL.

Programación funcional. Es un estilo de programación cuyo método de computación es la aplicación de funciones a sus argumentos. Los cálculos se ven como una función matemática que hace corresponder entradas y salidas.

Permiten realizar evaluación paralela y ofrecen facilidades tales como disciplina de tipos, funciones de orden superior, datos potencialmente infinitos y evaluación perezosa.

No hay noción de posición de memoria y por lo tanto, necesidad de una instrucción de asignación. Los bucles se modelas a través de recursividad ya que no hay manera de incrementar o disminuir el valor de una variable.

NOTA: como aspecto práctico casi todos los lenguajes soportan el concepto de variable, asignación y bucle.

Ejemplo: Hoja de cálculo.

En una hoja de cálculo, se especifica cada celda en términos de los valores de otras celdas. El objetivo es que debe ser calculado y no en como debe calcularse.

No especificamos el orden en el que las celdas serán calculadas, en cambio obtenemos el orden que garantiza que la hoja de cálculo puede calcular las celdas respetando las dependencias.

No indicamos a la hoja de cálculo como manejar la memoria, en cambio esperamos que nos presente un plano de celdas, aparentemente infinito, pero que solo utiliza la memoria de las celdas que están actualmente en uso.

Lo más importante, especificamos el valor de una celda por una expresión (cuyas partes pueden ser evaluadas en cualquier orden), en vez de una secuencia de comandos que calculan los valores.

Ventajas:

Brevedad. Los programas son más cortos y concisos.

Más fáciles de entender (corregir y mantener).

Fuertemente tipado (no hay core dumps).

Reusabilidad (polimorfismo).

Abstracción (clases, módulos).

Manejo dinámico de memoria (no hay punteros, new, etc).

Más fácil razonar formalmente acerca de los programas.

Programación

...

Descargar como (para miembros actualizados) txt (5 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com