loading

Logout succeed

Logout succeed. See you again!

ebook img

de SWI-Prolog PDF

pages40 Pages
release year2009
file size1.21 MB
languageSpanish

Preview de SWI-Prolog

Aprenda en N Diapositivas Programación Lógica Por: Domínguez Geniz Amalio Javier < [email protected] > 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 de los 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 piedra (robert). Notación En Prolog predicado sujeto Fin de afirmacion  maestro (marco).  programador(geniz). Para definir un hecho en Prolog, deberá tomar en cuenta 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 comentarios empiezan 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 menu Iniciar y Seleccione “Consultar todo” •Ahora en el panel de Prolog Teclee las consultas, ejemplo: maestro(marco). ¿marco es maestro? Interprete Prolog y área de consulta Febrero 2009 Geniz v. 1.0 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 Regla 2: 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. % Hecho 2 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 orden write 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

See more

The list of books you might like