% Proyecto en prolog
% Nombre Alumno, Matrícula
% Descripción del proyecto:
% Este programa calcula el costo de un viaje dependiendo
% del lugar de destino (se supone que se sale de una ciudad  fija),
% numero de personas que viajaran,
% tipo de transporte y
% tipo de alojamiento.
% El resultado es el costo del viaje.
% Sintaxis para la consulta:
% viaje(Lugar_destino,Cant_personas,Tipo_alojamiento,Tipo_transporte).
% Note que la ocupación (Habitacion_persona) de alojamiento es para dos
% personas por cuarto.

% La base de información son instancias de:
% destino(ciudad,tipo_transporte,costo_transporte).
% alojamiento(ciudad,tipo_alojamiento,costo_alojamiento_persona).
%
viaje(Lugar_destino,Cant_personas,Tipo_alojamiento,Tipo_transporte):-
	destino(Lugar_destino,Tipo_transporte,Costo_transporte),
	alojamiento(Lugar_destino,Tipo_alojamiento,Costo_alojamiento),

	Total_transporte is Costo_transporte * Cant_personas,
	Habitacion_persona is round(Cant_personas  / 2),
	Total_hospedaje is Costo_alojamiento * Habitacion_persona,
	Total_viaje is Total_transporte + Total_hospedaje,

	write(Cant_personas),
	write(' pasajero(s) con destino: '),
	write(Lugar_destino),nl,
	write('              Transporte: '),
	write(Tipo_transporte),nl,
	write('total transporte: '),nl,
	write('  $'),write(Total_transporte),
	write(' = '),
	write(Costo_transporte),
	write(' x '),
	write(Cant_personas),nl,
	write(' +	    Alojamiento: '),
	write(Tipo_alojamiento),nl,
	write('total alojamiento: '),nl,
	write('  $'),write(Total_hospedaje),
	write(' = '),
	write(Costo_alojamiento),
	write(' x '),
	write(Habitacion_persona),nl,
	write('Costo Total del Viaje: '),nl,
	write('  $'),write(Total_viaje).


destino(londres,avion,28000).
destino(roma,avion,30000).
destino(tunez,avion,35000).
destino(rio_janiero,avion,20000).

destino(londres,crucero,40000).
destino(tunez,crucero,45000).

alojamiento(londres,hotel,3000).
alojamiento(roma,hotel,2000).
alojamiento(rio_janiero,hotel,8000).

alojamiento(londres,hostal,1500).
alojamiento(roma,hostal,1000).
alojamiento(tunez,hostal,3500).

alojamiento(tunez,camping,1700).





