Sei sulla pagina 1di 4

REPÚLICA BOLIVARIANA DE VENEZUELA

UNIVERSIDAD NACIONAL EXPERIMENTAL


SIMÓN RODRÍGUEZ
CONVENIO UNESR – CAMETRO
Cátedra: Programación II

REFLEXION SOBRE LA PROGRAMACION LOGICA


Y
PROGRAMACION FUNCIONAL

Facilitador: Participantes:
Lic. Eleazar Rivera Hidalgo, Beatriz C. I. 6.450.563
Pinto, Jorge C. I. 5.974.366
Rodríguez, Joe C. I. 10.488.798

Caracas, Agosto de 2010


Reflexión
Es imperativo tener claro que es el concepto de paradigma. Un paradigma de
programación es una colección de patrones conceptuales que juntos modelan el
proceso de diseño y determinan la estructura del programa. En el caso que nos
concierne, un programa escrito en un lenguaje con paradigma declarativo, se
construye con hechos, reglas, construcciones, relaciones o un conjunto de
propiedades que nos pueda dar una solución.

Dentro del paradigma declarativo podemos encontrar los siguientes tipos:


• Paradigma Funcional
• Paradigma Lógico
• Paradigma Transformacional
• Paradigma Relacional

Centraremos nuestra reflexión en los pilares más importantes de la


programación declarativa: la programación lógica y la programación funcional.

La programación lógica es un tipo de paradigmas de programación dentro del


paradigma de programación declarativa.

La programación funcional se basa en el concepto de función (que no es más


que una evolución de los predicados), de corte más matemático.

La programación lógica permite formalizar hechos del mundo real, por


ejemplo:
• Las aves vuelan
• Los pingüinos no vuelan
• pichurri" es un ave
• "Sandokan" es un perro
• "Alegría" es un ave

Y también reglas o restricciones:


• Una mascota vuela si es un ave y no es un pingüino

Ante dicho "programa" es posible establecer hipótesis que no son más que
preguntas o incógnitas, por ejemplo:
¿"Pichurri" vuela?
¿Qué mascotas vuelan?....

Gracias a que la lógica de primer orden es computable, el ordenador será


capaz de verificar la hipótesis, es decir, responder a las incógnitas:
Es cierto que "Pichurri" vuela.
"Pichurri" y "alegría" vuelan.

El programa lógico no solamente es capaz de responder si una determinada


hipótesis es verdadera o falsa. También es capaz de determinar que valores de la
incógnita hacen cierta la hipótesis.

Otro ejemplo de programación lógica: el sistema de control de semáforos de


una ciudad. El estado de cada uno de los semáforos (verde, rojo o ámbar) constituye
los hechos del mundo real. El programa en sí consiste en unas pocas reglas de sentido
común: determinados semáforos no pueden permanecer simultáneamente en verde,
un semáforo solamente puede transitar de verde a ámbar y de ámbar a rojo, etc. La
hipótesis es el estado en el que deberían estar cada uno de los semáforos en el
siguiente instante de tiempo.

Éste es un ejemplo imposible de resolver mediante programación tradicional,


ya que la lógica subyacente al comportamiento de los semáforos en su conjunto queda
enmascarada por simples órdenes imperativas del tipo "cambiar color de tal o cual
semáforo".
Programación funcional.
En los lenguajes funcionales puros un programa consiste exclusivamente en la
aplicación de distintas funciones a un valor de entrada para obtener un valor de salida.
Son diseños matemáticos

Una de sus aplicaciones es el desarrollo para estudiantes sobre la


programación y multimedia con diseño del juego y ciencia de cómputo. Uno de estos
juegos muy sofisticados por ejemplo Los Sims.

Tanto la programación lógica como funcional tiene sus ventajas e


inconvenientes. La programación lógica no es muy usada en aplicaciones reales
debido a su alta ineficiencia. La programación funcional cada día está más de moda
gracias al uso de poder crear estructuras de datos muy complejas con un código
muy simple.

Potrebbero piacerti anche