Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Sesion De Programacion Logica y funcional, Ejercicios de Programación Funcional

Temas basicos de plf en esta sesion se hablan de los temas necesarios para desarollar nuestra base de conocimientos

Tipo: Ejercicios

2019/2020

Subido el 21/03/2020

jacob-arcila-cardenas
jacob-arcila-cardenas 🇨🇴

5

(1)

5 documentos

1 / 13

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Fundamentos de Prolog
Departamento de Ciencias de la Computación y de la Decisión
Fernán Alonso Villa Garzón
Profesor Asociado
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Vista previa parcial del texto

¡Descarga Sesion De Programacion Logica y funcional y más Ejercicios en PDF de Programación Funcional solo en Docsity!

Fundamentos de Prolog

Departamento de Ciencias de la Computación y de la Decisión Fernán Alonso Villa Garzón Profesor Asociado

Prolog es un lenguaje lógico adecuado

para programas que implican cálculos

simbólicos o no numéricos.

 Es un lenguaje de uso frecuente en Inteligencia Artificial donde la

manipulación de símbolos y la inferencia sobre ellos es una tarea

común.

 Prolog consiste en una serie de reglas y hechos.

 Un programa se ejecuta verificando algunas consultas y validando

si esto puede ser probado contra estas reglas y hechos conocidos.

Los hechos tienen algunas reglas simples de sintaxis.

 Los hechos siempre deben comenzar con una letra minúscula y

terminar con un punto.

maria_toca_piano.

 Los hechos en sí pueden consistir en cualquier combinación de

letra o número, así como el carácter de subrayado _.

 Sin embargo, se deben evitar los nombres que contienen los

caracteres - , +, *, / u otros operadores matemáticos.

 Los comentarios van entre /* */

https://swish.swi-prolog.org

Debe ser claro y coherente sobre la interpretación de la relación.  Los nombres de las relaciones están definidos por el programador.  El Sistema solo conoce las relaciones que nosotros definamos.

Ahora ingresemos los siguientes hechos

  • salario(juan, 500). /* Juan gana 500$ */
  • salario(pepe, 200). /* Pepe gana 200$ */
  • salario(rosa, 100 * 2). /* Rosa Gana 100$ en 2 horas*/  Realicemos las siguientes consultas
  • salario(pEPe, 200) /* ¿pEPe gana 200$? */
  • salario(pepe, 200) /* ¿pepe gana 200$? */
  • salario(pepe, 50 * 4) /* ¿pepe gana 50$ en 4 horas? */
  • salario(rosa, 200) /* ¿rosa gana 200$? */
  • salario(rosa, 100 * 2) /* ¿rosa gana 100$ en 2 horas */
  • juan(500) /* ¿Es posible preguntarlo así? */

Las variables se distinguen comenzando

con una letra mayúscula.

  • Y /* una letra en mayúscula */
  • EstaTURa /* se pueden mezclar */
  • Mi_promedio /* las palabras se pueden separar con '_' (underscore) */  Retomemos nuestra pregunta, ¿qué escucha luisa? :
  • escucha(luisa, W hat). /* What es simplemente una variable */
  • escucha(luisa, Q ué). /* por eso podemos hacerlo en español */ La variable Qué coincide(o unifica ) con rock

Un ejemplo completo  Todos los resultados son vinculantes.

Agregue las consultas de los ejercicios a la zona de hechos Descargue sus hechos y luego cárguelos en la correspondiente tarea de minasLap