SlideShare una empresa de Scribd logo
INTRODUCCIÓN
Prolog es un lenguaje de programación que se utiliza para resolver problemas
en los que existen objetos y relaciones entre objetos.
La programación en Prolog consiste simplemente en:
o Declarar hechos sobre los objetos y sus relaciones.
o Definir reglas sobre dichos objetos y relaciones.
o Hacer preguntas.
En el lenguaje Prolog el ordenador y el programador sostienen una especie de
conversación. Prolog esperará a que introduzcas los hechos y las reglas que
definen el problema a resolver. A continuación, si se hacen las preguntas
adecuadas, Prolog buscará las respuestas y las presentará en la pantalla.
MARCO TEÓRICO
ESTRUCTURADE PROLOG
Un programa Prolog está formado por una secuencia de enunciados:
 Hechos.
 Reglas.
 Comentarios.
Una relación puede estar especificada por hechos, simplemente estableciendo
objetos que satisfacen la relación o por reglas establecidas acerca de la relación.
Cada regla está formada por un primer miembro (o la cabeza de la regla), un
segundo miembro (o cola de la regla) ligados por " :- " y termina con el carácter
" . ". Código del programa.
 HECHOS
Un hecho es una relación entre objetos.
Su sintaxis en PCD-Prolog es:
Relación (objeto, objeto, ...).
La relación se conoce como el predicado y los objetos como los argumentos. Los
siguientes puntos son importantes:
• Los nombres de las relaciones deben comenzar con una letra minúscula.
• Los objetos se escriben separados por comas y encerrados entre
paréntesis.
mujer(maria).
hombre(pedro).
hombre(manuel).
hombre(arturo).
 RELACIONES
padre(pedro,manuel).
padre(pedro,arturo).
padre(pedro,maria).
 REGLAS
Cuando la verdad de un hecho depende de la verdad de otro hecho o de un
grupo de hechos se usa una regla. Una regla consiste en una cabeza y un
cuerpo. El cuerpo puede estar formado por varios hechos u objetivos.
Su sintaxis es:
cabeza :- objetivo 1, objetivo 2, ..., objetivo n.
Los objetivos van separados por comas, especificando conjunción y al final debe
de ir un punto.
nino(X,Y):- padre(Y,X)
hijo(X,Y):-nino(X,Y),hombre(X).
hija(X,Y):-nino(X,Y),mujer(X).
hermano_o_hermana(X,Y):-padre(Z,X),padre(Z,Y).
hermano(X,Y):-hermano_o_hermana(X,Y),hombre(X).
hermana(X,Y):-hermano_o_hermana(X,Y),mujer(X).
LISTAS
Las listas son unas estructuras de datos muy comunes en la programación no
numérica. Una lista es una secuencia ordenada de elementos que puede tener
cualquier longitud. Los elementos de una lista pueden ser cualquier término
(constantes, variables, estructuras) u otras listas. Las listas pueden
representarse como un tipo especial de árbol.
Una lista puede definirse recursivamente como:
 Una lista vacía [], sin elementos.
 Una estructura con dos componentes:
 Cabeza: Primer argumento.
 Cola: Segundo argumento. Es decir, el resto de la lista. El final de
una lista se suele representar como una cola que contiene la lista
vacía.
La cabeza y la cola de una lista son componentes de una estructura
cuyo nombre es “.”.
EJEMPLO:
Así, la lista que contiene un solo elemento a es:
. ( a, [] )
Y la lista de tres elementos [a, b, c] podría escribirse
. ( a, . ( b, . ( c, [] ) ) )
Siempre terminando con la lista vacía.
En Prolog utilizaremos una notación más sencilla de las listas que dispone a los
elementos de la misma separados por comas, y toda la lista encerrada entre
corchetes. Así, las listas anteriores quedarían como [a] y [a, b, c], que es un tipo
de notación más manejable. Existe, también, una notación especial en Prolog
para representar la lista con cabeza X (elemento) y cola Y (lista):
| Y ]
EJEMPLOS:
CONCLUSIÓN
Prolog permite al usuario establecer una interacción con la maquina ya que su
programación sencilla y de fácil entendimiento permite dar respuestas al pedido
que establece el usuario por medio de los hechos y las reglas; También utiliza
pocos comandos en comparación con otros lenguajes de programación.
BIGLIOGRAFÍA
 David y Warren, David S. Computing with Logic. Logic programming with
Prolog The Benjamin/Cummings, 2011.
 Bratko, Ivan PROLOG Programming for Artificial Intelligence Addison-
Wesley, second ed., 2010.
Estructura

Más contenido relacionado

Similar a Estructura

Introduccion a prolog
Introduccion a prologIntroduccion a prolog
Introduccion a prolog
Ashley Stronghold Witwicky
 
Introducción
IntroducciónIntroducción
Introducción
Karen Mendoza
 
Manual lab prolog
Manual lab prologManual lab prolog
Manual lab prolog
HDS - Health Digital Systems
 
Apuntes De PROGRAMACI N EN PROLOG
Apuntes De PROGRAMACI N EN PROLOGApuntes De PROGRAMACI N EN PROLOG
Apuntes De PROGRAMACI N EN PROLOG
Tony Lisko
 
Practica i prolog
Practica i prologPractica i prolog
Practica i prolog
KerenSnchez2
 
Conozcamos a Prolog
Conozcamos a PrologConozcamos a Prolog
Conozcamos a Prolog
IrvingGeyler
 
Prolog
Prolog Prolog
Matematica1
Matematica1Matematica1
Antologia
AntologiaAntologia
Tutoriales de prolog
Tutoriales de prologTutoriales de prolog
Tutoriales de prolog
Miguel Méndez
 
Python (ejercicios)
Python (ejercicios)Python (ejercicios)
Python (ejercicios)
Fernando Salamero
 
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02kevinwm17
 
Concepto de conjuntos
Concepto de conjuntosConcepto de conjuntos
Concepto de conjuntosanderson245
 
4ta tarea de sistemas expertos
4ta tarea de sistemas expertos4ta tarea de sistemas expertos
4ta tarea de sistemas expertosynina
 

Similar a Estructura (20)

Introduccion a prolog
Introduccion a prologIntroduccion a prolog
Introduccion a prolog
 
Introducción
IntroducciónIntroducción
Introducción
 
Manual lab prolog
Manual lab prologManual lab prolog
Manual lab prolog
 
Apuntes De PROGRAMACI N EN PROLOG
Apuntes De PROGRAMACI N EN PROLOGApuntes De PROGRAMACI N EN PROLOG
Apuntes De PROGRAMACI N EN PROLOG
 
Practica i prolog
Practica i prologPractica i prolog
Practica i prolog
 
Conozcamos a Prolog
Conozcamos a PrologConozcamos a Prolog
Conozcamos a Prolog
 
Prolog
Prolog Prolog
Prolog
 
Matematica1
Matematica1Matematica1
Matematica1
 
Antologia
AntologiaAntologia
Antologia
 
Capitulo4 arreglos
Capitulo4 arreglosCapitulo4 arreglos
Capitulo4 arreglos
 
Tutoriales de prolog
Tutoriales de prologTutoriales de prolog
Tutoriales de prolog
 
Python (ejercicios)
Python (ejercicios)Python (ejercicios)
Python (ejercicios)
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02
 
Ambiente
 Ambiente Ambiente
Ambiente
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 
Concepto de conjuntos
Concepto de conjuntosConcepto de conjuntos
Concepto de conjuntos
 
Funciones excel
Funciones excelFunciones excel
Funciones excel
 
4ta tarea de sistemas expertos
4ta tarea de sistemas expertos4ta tarea de sistemas expertos
4ta tarea de sistemas expertos
 

Más de Karen Mendoza

Poda Alfa-Beta
Poda Alfa-BetaPoda Alfa-Beta
Poda Alfa-Beta
Karen Mendoza
 
Minimax
MinimaxMinimax
Minimax
Karen Mendoza
 
Agentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes DesconocidosAgentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes Desconocidos
Karen Mendoza
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
Karen Mendoza
 
Decisiones Optimas en Juego
Decisiones Optimas en JuegoDecisiones Optimas en Juego
Decisiones Optimas en Juego
Karen Mendoza
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
Karen Mendoza
 
Portada
PortadaPortada
Portada
Karen Mendoza
 
Búsqueda Informada y Explorada
Búsqueda Informada y ExploradaBúsqueda Informada y Explorada
Búsqueda Informada y Explorada
Karen Mendoza
 
Funciones Heurísticas
Funciones HeurísticasFunciones Heurísticas
Funciones Heurísticas
Karen Mendoza
 

Más de Karen Mendoza (9)

Poda Alfa-Beta
Poda Alfa-BetaPoda Alfa-Beta
Poda Alfa-Beta
 
Minimax
MinimaxMinimax
Minimax
 
Agentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes DesconocidosAgentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes Desconocidos
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
Decisiones Optimas en Juego
Decisiones Optimas en JuegoDecisiones Optimas en Juego
Decisiones Optimas en Juego
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
Portada
PortadaPortada
Portada
 
Búsqueda Informada y Explorada
Búsqueda Informada y ExploradaBúsqueda Informada y Explorada
Búsqueda Informada y Explorada
 
Funciones Heurísticas
Funciones HeurísticasFunciones Heurísticas
Funciones Heurísticas
 

Último

Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
leonpool521
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
GROVER MORENO
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
UOC Estudios de Informática, Multimedia y Telecomunicación
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
thatycameron2004
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
CarlosAroeira1
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
SantosCatalinoOrozco
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
FacundoPortela1
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
jcbarriopedro69
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 

Último (20)

Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 

Estructura

  • 1. INTRODUCCIÓN Prolog es un lenguaje de programación que se utiliza para resolver problemas en los que existen objetos y relaciones entre objetos. La programación en Prolog consiste simplemente en: o Declarar hechos sobre los objetos y sus relaciones. o Definir reglas sobre dichos objetos y relaciones. o Hacer preguntas. En el lenguaje Prolog el ordenador y el programador sostienen una especie de conversación. Prolog esperará a que introduzcas los hechos y las reglas que definen el problema a resolver. A continuación, si se hacen las preguntas adecuadas, Prolog buscará las respuestas y las presentará en la pantalla. MARCO TEÓRICO ESTRUCTURADE PROLOG Un programa Prolog está formado por una secuencia de enunciados:  Hechos.  Reglas.  Comentarios. Una relación puede estar especificada por hechos, simplemente estableciendo objetos que satisfacen la relación o por reglas establecidas acerca de la relación. Cada regla está formada por un primer miembro (o la cabeza de la regla), un segundo miembro (o cola de la regla) ligados por " :- " y termina con el carácter " . ". Código del programa.  HECHOS Un hecho es una relación entre objetos. Su sintaxis en PCD-Prolog es: Relación (objeto, objeto, ...).
  • 2. La relación se conoce como el predicado y los objetos como los argumentos. Los siguientes puntos son importantes: • Los nombres de las relaciones deben comenzar con una letra minúscula. • Los objetos se escriben separados por comas y encerrados entre paréntesis. mujer(maria). hombre(pedro). hombre(manuel). hombre(arturo).  RELACIONES padre(pedro,manuel). padre(pedro,arturo). padre(pedro,maria).  REGLAS Cuando la verdad de un hecho depende de la verdad de otro hecho o de un grupo de hechos se usa una regla. Una regla consiste en una cabeza y un cuerpo. El cuerpo puede estar formado por varios hechos u objetivos. Su sintaxis es: cabeza :- objetivo 1, objetivo 2, ..., objetivo n. Los objetivos van separados por comas, especificando conjunción y al final debe de ir un punto. nino(X,Y):- padre(Y,X) hijo(X,Y):-nino(X,Y),hombre(X). hija(X,Y):-nino(X,Y),mujer(X). hermano_o_hermana(X,Y):-padre(Z,X),padre(Z,Y). hermano(X,Y):-hermano_o_hermana(X,Y),hombre(X).
  • 3. hermana(X,Y):-hermano_o_hermana(X,Y),mujer(X). LISTAS Las listas son unas estructuras de datos muy comunes en la programación no numérica. Una lista es una secuencia ordenada de elementos que puede tener cualquier longitud. Los elementos de una lista pueden ser cualquier término (constantes, variables, estructuras) u otras listas. Las listas pueden representarse como un tipo especial de árbol. Una lista puede definirse recursivamente como:  Una lista vacía [], sin elementos.  Una estructura con dos componentes:  Cabeza: Primer argumento.  Cola: Segundo argumento. Es decir, el resto de la lista. El final de una lista se suele representar como una cola que contiene la lista vacía. La cabeza y la cola de una lista son componentes de una estructura cuyo nombre es “.”. EJEMPLO: Así, la lista que contiene un solo elemento a es: . ( a, [] ) Y la lista de tres elementos [a, b, c] podría escribirse . ( a, . ( b, . ( c, [] ) ) ) Siempre terminando con la lista vacía.
  • 4. En Prolog utilizaremos una notación más sencilla de las listas que dispone a los elementos de la misma separados por comas, y toda la lista encerrada entre corchetes. Así, las listas anteriores quedarían como [a] y [a, b, c], que es un tipo de notación más manejable. Existe, también, una notación especial en Prolog para representar la lista con cabeza X (elemento) y cola Y (lista): | Y ] EJEMPLOS: CONCLUSIÓN Prolog permite al usuario establecer una interacción con la maquina ya que su programación sencilla y de fácil entendimiento permite dar respuestas al pedido que establece el usuario por medio de los hechos y las reglas; También utiliza pocos comandos en comparación con otros lenguajes de programación. BIGLIOGRAFÍA  David y Warren, David S. Computing with Logic. Logic programming with Prolog The Benjamin/Cummings, 2011.  Bratko, Ivan PROLOG Programming for Artificial Intelligence Addison- Wesley, second ed., 2010.