Aprenda PROLOG en N Diapositivas

Páginas: 9 (2114 palabras) Publicado: 23 de junio de 2015
Aprenda

en N Diapositivas
Programación Lógica
Por:
Domínguez Geniz Amalio Javier
< ajdgeniz@hotmail.com >
http://ajdgeniz.wordpress.com
Tecnológico de Estudios Superiores de Chalco

Febrero 2009

Geniz v. 1.0

1

PROgramming in LOGic
Prolog es un lenguaje declarativo basado en Reglas y Hechos de lógica, cuya información es
retribuido en forma de consultas. Originado en Europa a principios delos 70’s por Alain
Colmerauer . Para realizar los programas, se debe pensar declarativamente.

REGLAS
PROLOG

CONSULTAS

HECHOS

Febrero 2009

Geniz v. 1.0

2

PROgramming in LOGic
HECHOS
 marco es maestro
 geniz es un programador

Notación En Prolog

piedra (robert).
predicado

 maestro (marco).
 programador(geniz).

sujeto

Fin de
afirmacion

Para definir un hecho en Prolog, deberá tomar encuenta que nuestra oración
(hecho) debe llevar el formato predicado(sujeto).

Febrero 2009

Geniz v. 1.0

3

PROgramming in LOGic
SINTAXIS
 Las variables deben escribirse con Mayúsculas
 Las constantes se escriben con Minúsculas
 Las afirmaciones se terminan con . (punto)
 No se pueden dejar espacios entre los nombres de las constantes, para ello
utilice el guion bajo (_)
 Los comentariosempiezan con %

Operadores
 Conjunción  , (coma)
Disyunción  ;
 Regla o Condición  :Fin de la condición  .

Febrero 2009

Geniz v. 1.0

4

PROgramming in LOGic
Ejemplo en SWI-Prolog Editor
Ahora basándonos en lo ya aprendido ejecutaremos nuestro primer ejemplo en
el editor SWI-Prolog. Para ello teclee lo siguiente:
programador(geniz).
maestro(marco).
piedra(robert).
•Ahora vaya al menuIniciar y
Seleccione “Consultar todo”
•Ahora en el panel de Prolog
Teclee las consultas, ejemplo:
maestro(marco).

¿marco es maestro?

Febrero 2009

Geniz v. 1.0 Interprete

Prolog y área de consulta

5

PROgramming in LOGic
Ejemplo en SWI-Prolog Editor utilizando la conjunción
Ahora utilizaremos variables y la conjunción para realizar consultas. Para ello
teclee lo siguiente:sistema_operativo(linux).
sistema_operativo(windows).
sistema_operativo(solaris).
sistema_operativo(mac).
microsoft(visual_studio,expression_studio).
sun(netbeans, sun_studio).
borland(jbuilder,delphi).
canonical(ubuntu,xubuntu).

Febrero 2009

Geniz v. 1.0

6

PROgramming in LOGic
REGLAS
Una regla es una sentencia condicional, por ejemplo:
Base de conocimiento
Regla 1: Si esta contento entonces escucha musica
Regla2: Si tiene radio entonces escucha musica
Regla 3: Si escucha musica y tiene una guitarra entonces toca la guitarra
Hecho 1: Tiene una guitarra
Hecho 2: Esta contento
Consulta
> Esta tocando la guitarra ?
escucha_musica :- esta_contento. % Regla 1
escucha_musica :- tiene_radio. % Regla 2
toca_la_guitarra :- escucha_musica, tiene_guitarra. % Regla 3
tiene_guitarra. % Hecho 1
esta_contento. % Hecho2
Febrero 2009

Geniz v. 1.0

7

INPUT & OUTPUT
WRITE
La orden WRITE imprime en pantalla la cadena de caracteres en código ASCI por
ejemplo:
?- write (“Hola Mundo”);

La manera de hacer que la cadena aparezca de manera normal, es imprimiéndola
con una constante, por ejemplo:
?- write(hola_mundo).

NOTA: Recuerde que las constantes se definen con minúsculas, además que solo
deberá utilizar la ordenwrite directamente en el interprete.
Febrero 2009

Geniz v. 1.0

8

INPUT & OUTPUT
write_canonical
La orden write_canonical imprime en pantalla un flujo de salida utilizando la
notación de un prefijo y los paréntesis, ejemplo:

writeq, print y display
Sirven de la misma manera que write

tab(N): escribe N espacios en blanco
nl: escribe un salto de línea
Febrero 2009

Geniz v. 1.0

9

INPUT &OUTPUT
READ
La orden read sirve para almacenar el valor a una variable, ejemplo:
?- read(variable);

NOTA: Recuerde que las variables de definen en letras mayúsculas y también no
escriba su nombre con la inicial mayúsculas ya que Prolog lo tomara como otra
constante .
Febrero 2009

Geniz v. 1.0

10

INPUT & OUTPUT
READ
Otra forma sencilla de asignar un valor a una variable, colocando directamente...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Aprendiendo prolog
  • Diapositivas de los Tipos de Educaci n
  • Diapositivas Exposici N Epidem
  • Administraci n I diapositivas
  • DIAPOSITIVAS REDACCI N Y ORTOFRAF A
  • ANALISIS DE LA ORGANIZACI N DIAPOSITIVAS
  • Presentaci N De Diapositivas
  • LA NUTRICI N VEGETAL diapositivas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS