Prolog - acertijo con aceite y vinagre

   
Vista:

acertijo con aceite y vinagre

Publicado por mayra (1 intervención) el 15/11/2007 03:08:15
te agradeceria si tienes en tus manos o la direccion donde pueda encontrar estos ejercicios resueltos en prolog..... ayudame es para esta semana. cualquiera de estos ejercicios, solo uno que tengas me sirve. mira los titulos

N turistas en 3 habitaciones:En un hotel hay 3 habitaciones numeradas del 1 al 3. En cada una de ellas
hay cuatro camas. El problema consiste en hacer un programa prolog que
nos permita obtener todas las maneras posibles de distribuir N turistas en
las tres habitaciones.

Un acertijo con aceite y vinagre

Cada uno de los barriles en la ilustración adjunta contiene aceite o vinagre.
El galón de aceite cuesta el doble que el de vinagre. Un cliente compra 4200
pesetas de cada uno, dejando sólo un barril. >Qué barril queda y cuánto
vale un galón de aceite?

El acertijo del lechero

El honesto John dice: \Lo que ignoro acerca de la leche no vale la pena
mencionarse", pero se quedó atónito un día cuando dos damas le pidieron
dos cuartos de leche cada una. Una de ellas tenía un recipiente de cinco
cuartos y la otra uno de cuatro cuartos. John sólo disponía de dos tarros de
diez galones, ambos llenos de leche. Cada galón equivale a cuatro cuartos.
>Cómo hizo para medir exactamente dos cuartos de leche?

Un acertijo de arquería

Indica cuántas echas hacen falta para hacer justo cien puntos en este blanco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:acertijo con aceite y vinagre

Publicado por Eduardo Castro (23 intervenciones) el 15/11/2007 21:18:27
hola mayra,

en el primer programa necesitas saber es la permutación o quieres que muestre las posibles combinaciones una a una? por que de ser asi tendrias que especificar en el prolog cada turista. es mas, podrias hacer algo asi como esto:

esTurista(eduardo).
esTurista(mayra).
esTurista(claudia).
...
esCama(cama1).
esCama(cama2).
esCama(cama3).

esPar(X,Y):-esTurista(X),esCama(Y).

combinaciónPosible(X,Y,Z):-sonDistintas(X,Y,Z),esPar(X,cama1),esPar(Y,cama2),esPar(Z,cama3).

... debes definir el predicado son diferentes.
cuando ejecutes el programa puedes preguntarle repetidamente el predicado "combinacónPosible(X,Y,Z)", en cada retroceso te mostrara una combinación distinta, ahora puedes hacer tambien un predicado recursivo que valla mostrando los posibles resultados y almismo tiempo incremente un contador, luego, cuando el contador llegue a tener P combinaciones pocibles entonces pare. donde P es igual a n*(n-1)*(n-2)*...*(n-(3+1)) donde n es la cantidad de turistas.

y la ultima sale con una formulita que ahora que llegue a la casa te la busco y te ayudo con el programita en el prolog.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar