Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
% Nesse problema, há uma esquadrilha de 5 aviões em um show aéreo. Cada um deles solta fumaça de uma cor e possui uma anomalia % diferente. % Além disso, os aviões são comandados por cinco experientes pilotos que praticam um esporte cada um, além de preferirem uma bebida % distinta. % Sua tarefa é encontrar todas as informações a partir das seguintes dicas: % aviao(piloto, cor, anomalia, bebida, esporte) % member(E, List): verdadeiro se E é um dos elementos de List % O operador "=" unifica o lado esquerdo com o direito % Regras para determinar se X está ao lado de Y ao_lado(X, Y, List) :- nextto(X, Y, List). % X à esquerda de Y ao_lado(X, Y, List) :- nextto(Y, X, List). % Y à esquerda de X entre(P1,P2,[P1,_,P2|_]). entre(P1,P2,[_|T]):- entre(P1,P2,T). solucao(Avioes) :- Avioes = [_,_,_,_,_], member(avioes(cel_milton,vermelha,_,_,_), Avioes), member(avioes(ten_walter,_,rádio_transmissor_com_problemas,_,_), Avioes), member(avioes(_,verde,_,_,pescar), Avioes), member(avioes(major_rui,_,_,_,futebol), Avioes), ao_lado(avioes(_,branca,_,_,_), avioes(_,verde,_,_,_), Avioes), member(avioes(_,_,altímetro_desregulado,leite,_), Avioes), member(avioes(_,preta,_,cerveja,_), Avioes), member(avioes(_,vermelha,_,_,natação), Avioes), [avioes(cap_farfarelli,_,_,_,_) | _] = Avioes, ao_lado(avioes(_,_,_,café,_), avioes(_,_,pane_no_sistema_hidráulico,_,_), Avioes), ao_lado(avioes(_,_,_,cerveja,_), avioes(_,_,problemas_na_bússola,_,_), Avioes), member(avioes(_,_,_,chá,equitação), Avioes), member(avioes(cap_nascimento,_,_,água,_), Avioes), ao_lado(avioes(cap_farfarelli,_,_,_,_),avioes(_,azul,_,_,_), Avioes), um_entre(avioes(_,_,pane_no_sistema_hidráulico,_,_), avioes(_,_,altímetro_desregulado,_,_), Avioes), member(avioes(_,_,_,_,tênis), Avioes), member(avioes(_,_,problema_de_temperatura,_,_), Avioes).