Shirt Friends ( Camisa de los amigos)
En un restaurante del centro, el Sr. Rojo, Sr. Azul, el Sr. Blanco se reunieron durante el almuerzo. Bajo los abrigos
que están usando ya sea una camisa roja, azul o blanco.
Sr. Azul dice: "Oye, ¿te diste cuenta que estamos todos con camisas de colores diferentes de nuestros nombres?" El hombre
con la camiseta blanca, dice, "Wow, Sr. Azul, es cierto!"
¿Se puede saber quién está usando qué color de camisa?
RESPUESTA:
Sr. Azul - Camisa Roja
Sr. Roja - Camisa blanca
Sr. Blanco - Camisa Azul
Solución.
cuando el señor Azul nota que todos traian camisas diferentes a sus nombres, y por lo que el señor Blanco le contesta que era verdad lo que habia notado. Asi que usando la logica como nadie tiene la camisa del color de su nombre entonces el Sr. Azul no puede tener ni la azul ni la blanca porque porque azul asi se llama y blanca porque el que traia camisa blanca le contesto por lo que queda la roja que es la que trae puesta y el Sr. Rojo y Sr. Blanco ya los sacamos por logica como nos queda la camisa blanca y la azul entonces el Sr. Blanco no puede traer la camisa blanca asi que trae la azul y el Sr. Rojo trae la camisa blanca que es la que quedo.
Aqui les dejo un pequeño programa de prolog hecho en turbo prolog.
domains
marca,talla,color=symbol
precio=real
(esta primera parte del programa es en donde como conocemos en otros lenguajes declarar las variables con el domains, el symbol representa todo lo que sean como simbolos como las letras u objetos, y real significa algun valor numerico real que en este caso seria el de precio.)
predicates
ropa(marca,talla,color,precio)
tenis(marca,talla,color,precio)
playera(marca,talla,color,precio)
tachones(marca,talla,color,precio)
(en esta segunda parte indicamos mas que nada como las predicciones osea es donde nosotros declaramos como una regla de como vamos a querer que prolog nos lea el programa cuando quieramos hacer una consulta.)
clauses
ropa(M,T,C,P):-
tenis(M,T,C,P);
playera(M,T,C,P);
tachones(M,T,C,P).
(En la tercera parte de nuestro programa viene lo que son clauses que es la parte logica en la cual ropa(M,T,C,P):- nos indica que estamos utilizando un if el cual nos indica que hay mas de un tipo de ropa, depues las variables ya declaradas en esta parte las pusismos solo con su inicial pero en mayuscula para que para poder llamar a la variable sin la necesidad de escribirla toda. Despues tenis(M,T,C,P); y playera(M,T,C,P); serian los siguientes caminos pero el (;) es el que te manda al siguiente camino y tachones(M,T,C,P). que si notamos en este camino tenemos un punto que es el que despues de realizar la consulta nos indica el final del if.)
playera(nike,mediana,azul,600).
playera(adidas,chica,roja,750).
playera(nike,chica,naranja,550).
tenis(puma,medianos,verdes,900).
tenis(nike,grandes,rojos,1100).
tenis(adidas,medianos,negros,1000).
tachones(puma,chicos,rojos,400).
tachones(nike,medianos,negros,1250).
tachones(adidas,chicos,morados,980).
(esta es nuestra ultima parte del programa que despues de terminar la parte clauses que es la parte logica continuamos con esta que es donde llenamos los datos los cuales son (marca,talla,color,precio) que vamos a registrar para cuando quieramos hacer nuestra consulta, al final de cada sentencia debe llevar un punto que le indica a prolog que hasta ahi termina el dato.)
Ahora les mostrare una impresion de la pantalla donde pedi los datos para una consulta.


En esta imagen es para mostrarles las consultas ya buscando, que playeras tienen, tenis y tachones es mas que nada un ejemplo.
Por ultimo en esta imagen lo que yo estoy consultando o preguntando a prolog es primero que si hay ropa nike y me dijo que si, despues le pregunte que si habia ropa mediana y tambien dijo que si, luego le pregunto que si tiene ropa rosa y me dijo que no por lo que no hay y de igual forma me dijo que no habia ropa de 1500, por ultimo le pregunte que si tenia ropa adidas negra y me dijo que si.
Bueno eso es todo espero les sirva de algo y puedan entenerle de lo contrario alguna duda pues diganme y hare lo posible por respondersela =)
ei jOel estube viendo tu problema y te cuento que esta muy interesante yo ya lo sabia ya que anteriormente me lo habian encargado en la prepa pero aun asi lo supiste redactar muy biien :)
ResponderEliminarBien. Ahora sólo queda pendiente el programa en Prolog.
ResponderEliminarCalificación: 1/1
Saludos =)
Muy bien tu programa, lo explicaste muy bien, solamente te falto el programa en prolog.
ResponderEliminaresta muy explicado,cada uno de los pasos
ResponderEliminary ya con las imagenes esta mucho mejor
que buen reporte
Muy bien tu reporte esta muy completo y muy bien explicado.
ResponderEliminarhola!!
ResponderEliminarme gusto como redactaste el problema de la pagina ... por otro lado el de la ropa se me hizo interesante .. buen trabajo !
Hola Joel
ResponderEliminartodo el tema muy bien exlpicado, y todo esta completo.
muy bien explicado y las pantallas completan el reporte muy bien
ResponderEliminarSuper bien, todo excelentemente explicado insisto que bien que explicaste cada cosa eso es lo mejor de tus reportes.
ResponderEliminarExcelente al aplicacion, le entendi muy bien, y si lo pudiste hacer en prolog, me ayudo a enterderle un poco mas a este lenguaje
ResponderEliminarMuy bien el desarrollo del problema logico y la explicacion del mismo en el programa de Prolog. Excelente reporte!
ResponderEliminarExcelente tu programa lógico y la explicación estuvo excelente(:
ResponderEliminarOk, aunque las pantallas se ven algo chicas.
ResponderEliminarCalificación: 3/3