Ir ao conteúdo
  • Cadastre-se

Lista de Prolog que não consigo fazer


Posts recomendados

Oi gente, desculpa por nem ter tentado, eu realmente não faço ideia de como começar, eu até sei como funciona e faz muito sentido quando vejo respostas e as coisas funcionando, eu só não consigo colocar em prática (por falta de prática). Se puderem exemplificar, resolver ou dar dicas. Vai ser de grande ajuda para eu treinar! São exercícios que o professor do meu irmão passou pra ele (bom, ele não pode me ajudar porque ele faleceu), então conto com a ajuda de vocês.

 

1.Dado o programa em Prolog abaixo, execute a consulta

? - p(X).

buscando obter todas as respostas possíveis. Explique porque cada resposta foi obtida e porque só essas respostas foram encontradas.

p(a).

p(b) :-

           !.

           p(c).

 

2. Explique, de modo preciso e sucinto, o que o predicado Prolog p/2 abaixo faz:

% p/2

%  os dois argumentos do predicado são entradas e o resultado é booleano p( [H | _] , [H | _] ).

 

3.  Supondo que os elementos de um conjunto são apresentados sob a forma de uma lista, programe o predicado pertence_a_interseccao/3 , onde pertence_a_interseccao(E, A, B ) se o elemento E pertence à intersecção dos conjuntos A e B.

 

4.  nao_elemento/2 , onde nao_elemento(E, C) se E não é um elemento do conjunto C .

 

5.  Caça ao tesouro. Um tesouro está escondido em um determinado cômodo de um apartamento (muito estranho!) cuja planta baixa está desenhada na figura abaixo.

 

image.png.c62e9ffada2f49cddbe5d0ff9558ab05.png

As portas dos cômodos estão sempre abertas. No estranho apartamento não há mobília alguma (mas há um tesouro). Você, o caçador do tesouro, inicia a busca na rua.

 

Implemente um predicado planeje(ache(tesouro)) que irá retornar a lista ordenada de ações que será executada para achar o tesouro. Cada ação irá consistir em predicados do tipo mova_de(a,b), mova_de(b,c) etc. e pegue(tesouro).

 

Teste o predicado para 3 (três) localizações iniciais diferentes do tesouro. Para colocar o tesouro em um dado cômodo, em cada teste, use um predicado assert(local(tesouro, comodo)).

 

-----

 

É isso, obrigada a todos 

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...