SlideShare una empresa de Scribd logo
Sistemas Expertos
            Resumen Prolog



Andrade Zambrano David Alejandro

        10 A Informática
Introducción

Prolog trabaja con un método de programación lógica
relacional porque existe una gama de lenguajes que siguen
este paradigma.

Cabe resaltar el hecho de que Prolog es 10 veces mas
lento que el lenguaje C, pero ocupa aproximadamente 10
veces menos líneas de código y tiempo de desarrollo.

                      Requisitos

1.Un editor de texto, se recomienda Emacs, y
2.Un entorno de desarrollo Prolog.
El entorno de desarrollo de Prolog

Prolog es un lenguaje de programación seminterpretado y es
muy similar a Java, el código fuente se compila a un código
de byte al cual lo interpreta una maquina virtual llamada
WAM (Warren Abstract Machine).

Su entorno se compone de:


1.Un compilador
2.Un interprete
3.Un shell o top-level
4.Una biblioteca de utilidades
Elementos del lenguaje

Prolog carece de declaraciones en el sentido imperativo: secciones,
declaraciones de tipo, declaraciones de variable, declaraciones de
procedimientos, etc.

                                 Comentarios

Los comentarios en Prolog se escriben anteponiendo un símbolo de porcentaje;

Ej.: %Hola, esto es un comentario

                              Variables Lógicas

En Prolog no son variables en el sentido común por eso se las denomina
variables lógicas, Se escriben como una secuencia de caracteres alfabéticos
comenzando siempre por mayúscula o un guion bajo.

Ej.: Variable
      _Hola
      _

NO de esta manera: variable; $Hola; P_
De esta manera se evita la necesidad de declarar previamente las variables.
La variable anónima

Si existen variables sin nombre y todas ellas se representan mediante el guion
bajo ( _ ).

                                  Términos

Son el único elemento del lenguaje, es decir, los datos, el código, incluso el
programa son términos, estos se componen de un funtor seguido de cero a N
argumentos entre paréntesis separados por comas.

Veamos algunos ejemplos de functores:

              functor
              f384p12
              'esto es un único functor, eh!!'
              '_functor'
              $
              +

No son functores válidos:
             _functor
             Functor
Operadores.

Los operadores simplemente sirven para escribir términos unarios o
binarios de una manera mas cómoda, por ejemplo un functor definido
como operador infijo es la suma (+). Así, la expresión a+b es
perfectamente valida, aunque en realidad no es mas que el termino +
(a,b).

                    El mecanismo de unificación

La unificación es el mecanismo mediante el cual las variables lógicas
toman valor en Prolog.

Cuando una variable no tiene valor se dice que está libre. Pero una vez
que se le asigna valor, éste ya no cambia, por eso se dice que la variable
está ligada.
Clausulas

Los predicados se definen mediante un conjunto de clausulas:

         clausula1
         clausula2
         ………..
         clausulaN

Donde el orden es significativo, para facilitar la lectura, se suele dejar una
línea en blanco entre clausula y clausula.


                            El shell de Prolog.

Permite ejecutar objetivos y ver las ligaduras de las variables de manera
interactiva.
Curso Intermedio de Prolog.
Tipos de datos

Todos sabemos que los datos que maneja Prolog son los términos. Sin
embargo, podemos construir otros tipos de datos a partir de estos.

                                   Registros

Los registros son agrupaciones ordenadas de datos que en Prolog podemos
escribir como términos que almacenan cada dato en un argumento.

                                    Arboles

Son estructuras de datos recurrentes ya que los datos pueden ser recursivos.

                           Cadenas de Caracteres

En Prolog son listas de códigos ASCII, las mismas se puede escribir de la
manera que mas nos interese entre comillas dobles.

Ej.: “ABC” que es en realidad la lista [65,66,67].
Bucles de fallo

Los bucles de fallo constituyen una técnica d e programación que permite
recorrer una serie de elementos y aplicarles una operación. De la misma
manera que un bucle for o while.

                                    Streams

Como en todos los lenguajes, en Prolog existe la posibilidad de manejar
entrada/salida, esto es, ficheros, pantalla, impresoras, etc. Todo ello se hace a
través de streams (concepto idéntico al de otros lenguajes).

Los streams son buffers para escribir y/o leer de dispositivos como el teclado,
la pantalla, el
disco, etc. De modo que consideramos tres tipos de streams:

1.Streams de entrada (lectura).
2.Streams de salida (escritura).
3.Streams de entrada y salida (híbridos).

Más contenido relacionado

PPTX
Prolog
PPTX
Prolog2
PPTX
Prolog
PPT
Actividad 2 Analizador léxico, sintáctico y semántico
DOCX
Turbo pascal
PDF
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
PPTX
Analizador léxico
PDF
Gramatica libre de contexto
Prolog
Prolog2
Prolog
Actividad 2 Analizador léxico, sintáctico y semántico
Turbo pascal
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Analizador léxico
Gramatica libre de contexto

La actualidad más candente (15)

PDF
Analisis semantico
DOCX
ANALISIS SEMANTICO
PPTX
Exposicion de programacion.
PPT
Lenguajes De Programacion
PPTX
Actividad 3
PPT
Código intermedio
DOCX
GENERACION DE CODIGO INTERMEDIO
PPTX
Lenguajes de programación
PPTX
Programa pascal
PDF
Ejercicio compiladores
PPTX
Lenguaje c
DOCX
PDF
Manual lab prolog
PDF
Compiladores
Analisis semantico
ANALISIS SEMANTICO
Exposicion de programacion.
Lenguajes De Programacion
Actividad 3
Código intermedio
GENERACION DE CODIGO INTERMEDIO
Lenguajes de programación
Programa pascal
Ejercicio compiladores
Lenguaje c
Manual lab prolog
Compiladores
Publicidad

Destacado (16)

PDF
Boletim 2
PPSX
Mascotas
DOCX
Consolidado 2014 asarias
PPT
Tema1 1 P Curso Pad
DOCX
Los últimos negreros Alfredo Iriarte
PPT
Power
PPTX
Presentation_NEW.PPTX
PPT
Comunicación Política - La TransformacióN De La Visibilidad
PPTX
Prédio psf canudos 29-01-2014
PPT
2010-07-01 (UC3M) learn3 mbi UC3M, I Jorn eMadrid
PDF
La Mochila Nº 8
PDF
Boletim 7
DOCX
Resume b
PPT
Planificacion Esteban
PDF
Mandarin chinese bible new testament luke
PPS
Gracias
Boletim 2
Mascotas
Consolidado 2014 asarias
Tema1 1 P Curso Pad
Los últimos negreros Alfredo Iriarte
Power
Presentation_NEW.PPTX
Comunicación Política - La TransformacióN De La Visibilidad
Prédio psf canudos 29-01-2014
2010-07-01 (UC3M) learn3 mbi UC3M, I Jorn eMadrid
La Mochila Nº 8
Boletim 7
Resume b
Planificacion Esteban
Mandarin chinese bible new testament luke
Gracias
Publicidad

Similar a Prolog (20)

PPTX
Prolog
PPTX
Prolog
PDF
Tutorial basico prolog
PDF
Tutorial de prolog
PPTX
Conozcamos a Prolog
PDF
Clase de logica posbc
PDF
Manual de Prolog
DOCX
Prolog cinthya
PDF
PDF
DOCX
Introduccion a prolog
DOCX
Estructura
PPTX
4ta tarea de sistemas expertos
PDF
Tutorial de prolog
PPTX
4ta tarea de sistemas expertos
PPTX
Tutoriales de prolog
PPTX
Visual prolog
PDF
Practica i prolog
PDF
Operadores en prolog
Prolog
Prolog
Tutorial basico prolog
Tutorial de prolog
Conozcamos a Prolog
Clase de logica posbc
Manual de Prolog
Prolog cinthya
Introduccion a prolog
Estructura
4ta tarea de sistemas expertos
Tutorial de prolog
4ta tarea de sistemas expertos
Tutoriales de prolog
Visual prolog
Practica i prolog
Operadores en prolog

Prolog

  • 1. Sistemas Expertos Resumen Prolog Andrade Zambrano David Alejandro 10 A Informática
  • 2. Introducción Prolog trabaja con un método de programación lógica relacional porque existe una gama de lenguajes que siguen este paradigma. Cabe resaltar el hecho de que Prolog es 10 veces mas lento que el lenguaje C, pero ocupa aproximadamente 10 veces menos líneas de código y tiempo de desarrollo. Requisitos 1.Un editor de texto, se recomienda Emacs, y 2.Un entorno de desarrollo Prolog.
  • 3. El entorno de desarrollo de Prolog Prolog es un lenguaje de programación seminterpretado y es muy similar a Java, el código fuente se compila a un código de byte al cual lo interpreta una maquina virtual llamada WAM (Warren Abstract Machine). Su entorno se compone de: 1.Un compilador 2.Un interprete 3.Un shell o top-level 4.Una biblioteca de utilidades
  • 4. Elementos del lenguaje Prolog carece de declaraciones en el sentido imperativo: secciones, declaraciones de tipo, declaraciones de variable, declaraciones de procedimientos, etc. Comentarios Los comentarios en Prolog se escriben anteponiendo un símbolo de porcentaje; Ej.: %Hola, esto es un comentario Variables Lógicas En Prolog no son variables en el sentido común por eso se las denomina variables lógicas, Se escriben como una secuencia de caracteres alfabéticos comenzando siempre por mayúscula o un guion bajo. Ej.: Variable _Hola _ NO de esta manera: variable; $Hola; P_ De esta manera se evita la necesidad de declarar previamente las variables.
  • 5. La variable anónima Si existen variables sin nombre y todas ellas se representan mediante el guion bajo ( _ ). Términos Son el único elemento del lenguaje, es decir, los datos, el código, incluso el programa son términos, estos se componen de un funtor seguido de cero a N argumentos entre paréntesis separados por comas. Veamos algunos ejemplos de functores: functor f384p12 'esto es un único functor, eh!!' '_functor' $ + No son functores válidos: _functor Functor
  • 6. Operadores. Los operadores simplemente sirven para escribir términos unarios o binarios de una manera mas cómoda, por ejemplo un functor definido como operador infijo es la suma (+). Así, la expresión a+b es perfectamente valida, aunque en realidad no es mas que el termino + (a,b). El mecanismo de unificación La unificación es el mecanismo mediante el cual las variables lógicas toman valor en Prolog. Cuando una variable no tiene valor se dice que está libre. Pero una vez que se le asigna valor, éste ya no cambia, por eso se dice que la variable está ligada.
  • 7. Clausulas Los predicados se definen mediante un conjunto de clausulas: clausula1 clausula2 ……….. clausulaN Donde el orden es significativo, para facilitar la lectura, se suele dejar una línea en blanco entre clausula y clausula. El shell de Prolog. Permite ejecutar objetivos y ver las ligaduras de las variables de manera interactiva.
  • 9. Tipos de datos Todos sabemos que los datos que maneja Prolog son los términos. Sin embargo, podemos construir otros tipos de datos a partir de estos. Registros Los registros son agrupaciones ordenadas de datos que en Prolog podemos escribir como términos que almacenan cada dato en un argumento. Arboles Son estructuras de datos recurrentes ya que los datos pueden ser recursivos. Cadenas de Caracteres En Prolog son listas de códigos ASCII, las mismas se puede escribir de la manera que mas nos interese entre comillas dobles. Ej.: “ABC” que es en realidad la lista [65,66,67].
  • 10. Bucles de fallo Los bucles de fallo constituyen una técnica d e programación que permite recorrer una serie de elementos y aplicarles una operación. De la misma manera que un bucle for o while. Streams Como en todos los lenguajes, en Prolog existe la posibilidad de manejar entrada/salida, esto es, ficheros, pantalla, impresoras, etc. Todo ello se hace a través de streams (concepto idéntico al de otros lenguajes). Los streams son buffers para escribir y/o leer de dispositivos como el teclado, la pantalla, el disco, etc. De modo que consideramos tres tipos de streams: 1.Streams de entrada (lectura). 2.Streams de salida (escritura). 3.Streams de entrada y salida (híbridos).