viernes, 5 de noviembre de 2010

Lenguaje Lógico.

Lenguajes de programación - PUNTOS EXTRA

Bueno en esta entrada les pondré otro ejemplo en prolog.


Laura, Jorge, Carmen y Neto fueron al super mercado ya que era martes de frutas y verduras y tenían muchas ganas de frutas. Cada uno tiene una fruta que le gusta y solo comprarán esa fruta si y solo si esta en oferta y les gusta.


A Carmen le gusta el mango
A Neto le gusta la papaya 
A Jorge le gusta la fresa
A Laura le gusta la manzana
El mango y la papaya son las únicas que tienen oferta.


Entonces analizando el problema, los únicos que pueden comprar la fruta serán Carmen y Neto ya que la fruta que les gusta está en oferta.

El programa en prolog quedaría así:
persona(neto).
persona(carmen).
persona(laura).
persona(jorge).
fruta(mango).
fruta(fresa).
fruta(papaya).
fruta(manzana).
le_gusta(neto,papaya).
le_gusta(carmen, mango).
le_gusta(laura, manzana).
le_gusta(jorge,fresa).
tiene_oferta(mango).
tiene_orerta(papaya).

puede_comprar(X,Y):-persona(X),fruta(Y),le_gusta(X,Y), tiene_oferta(Y).

Declaramos los objetos y hechos, las personas, las frutas, cual fruta le gusta a cada quien y cuáles tienen oferta. Se hace la condición de que puede comprar una persona X una fruta Y siempre y cuando a la persona X le guste la fruta Y y la fruta Y tenga oferta.

Entonces comenzamos a hacer preguntas.


Como pueden ver que Carmen si puede comprar mango ya que le gusta y está en oferta igualmente Neto puede comprar papaya. En el caso de que si Jorge puede comprar fresa, no puede ya que si le gusta pero la fresa no está en oferta.

Espero que haya quedado claro todo. Si tienen cualquier duda me dicen:)

1 comentario: