Paradigmas de Programación

Páginas: 6 (1477 palabras) Publicado: 28 de marzo de 2012
Lenguajes de Programación
Tema: Paradigmas de Programación

Alumno: Héctor Adrián Pons Profesor: Mg. Ing. Zulema Beatriz ROSANIGO

Paradigmas


Lógicos


Prolog Scheme, Haskell SmallTalk, Java, C#



Funcionales




Orientado a Objetos


Paradigma Lógico
Definiciones:
- La programación lógica gira en torno al concepto de predicado, o relación entre elementos. - Elprograma se implementa como un conjunto de relaciones. - El control es un componente del modelo de cómputo.
-El programador queda liberado de la especificación de estructuras de control y del planteo de algoritmos de resolución. -Las operaciones podrían llevarse a cabo en cualquier orden o en forma paralela.

Paradigma Lógico
Campos de aplicación
Procesamiento de lenguaje natural (uso deGLC) ➢ Traductores automáticos ➢ Procesamiento de voz ➢ Generación de texto ➢ Conducción del dialogo (Ej:Eliza simula entrevista c/Sicoanalista) ➢Bases de Datos ➢ Bases de Datos deductivas ➢Compiladores ➢Sistemas Expertos ➢Demostración automática de teoremas


Programación Lógica
Representación de axiomas mediante cláusulas de Horn


Disyunción de literales con como máximo 1 literalpositivo. Condiciones - Conclusión

Programación Lógica


Cláusula incondicional ó unitaria
 

De la forma A (Condiciones = 0) Permite definir las relaciones entre distintos elementos del conjunto (Prolog: Hechos; Ej.: hija(Laura,Jorge).) De la forma B1,...,Bm (Conclusiones = 0) Permite deducir información por medio de realizar consultas (Prolog: Queries; Ej.: ?- hija(X,Jorge))

●Cláusula negativa o meta
● ●



Permiten definir nuevas relaciones entre elementos a partir de relaciones existentes - Prolog: Reglas. Ej.: factorial (N,X) :- N > 0, factorial(N-1, Y), X is N * Y. (uso de recursividad)

Cláusula completa

Programación Lógica


Unificación


La asignación de variables se realiza por substituciones especiales llamadas unificadores Reemplaza variablespor términos Para probar que un objetivo es verdadero, se debe encontrar reglas y/o hechos que conecten al objetivo con uno ó más hechos.



Substitución




Inferencia


Programación Lógica


Inferencia: Para probar que un objetivo es verdadero, se

debe encontrar reglas y/o hechos que conecten al objetivo con uno ó más hechos de una BD. Existen dos enfoques: ● Bottom-up:Comenzar con los hechos y reglas de la BD e intentar encontrar una secuencia de coincidencias que lleven al objetivo. ● Top-down: Comenzar con el objetivo e intentar encontrar una secuencia de proposiciones coincidentes que lleven a alguno de los hechos en la BD. ● Ejemplo: 1-padre(jorge). 2-hombre(X):- padre(X). 3-consulta: hombre(jorge)

Programación Lógica


Inferencia


Backtracking:proceso por el cual el mecanismo de control retrocede al punto en el que instanció la variable (punto de elección), la des-instancia, la re-instancia si es posible iniciando un nuevo camino

Programación Lógica
Recursividad: Implementación simple. En Prolog no se permite el envío de funciones como parámetros. Se usan variables temporales.


Ej: factorial(0,1). factorial(N, F):- N>0, N1 isN-1, factorial(N1,F1), F is N*F1. Recursividad en listas: 1-miembro(X,[X|_]). (caso base) 2-miembro(X,[_|Y]) :- miembro(X,Y).

Programación Funcional
Funciones + estructuras de datos = programas


Componentes básicos ● Funciones ● Recursividad: Iteración con asignación no destructiva ● Listas: Estructuras basicas de almacenamiento

Programación Funcional
Campos de aplicación
●Algoritmos genéticos (Haskell)

Programación Funcional
Teorema 1 de Church-Rosser: El cálculo es confluente, es decir, dos cadenas de reducción comenzando en el mismo λ-término no pueden alcanzar dos formas normales distintas. Teorema 2 de Church-Rosser: Si un λ-término tiene forma normal, entonces el orden normal de reducción (o llamada por nombre, o evaluación perezosa) siempre alcanza dicha...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Paradigmas de la programacion
  • Paradigmas De Programación
  • Paradigmas De Programación
  • Paradigmas De Programacion
  • Paradigmas de programacion
  • Paradigmas De Programacion
  • Paradigmas De Programación
  • Paradigma de programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS