<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Exemplos de Prolog</title>
	<atom:link href="http://silveiraneto.net/2007/08/29/exemplos-de-prolog/feed/" rel="self" type="application/rss+xml" />
	<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/</link>
	<description></description>
	<lastBuildDate>Fri, 09 Mar 2012 04:14:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Elvis</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-10525</link>
		<dc:creator>Elvis</dc:creator>
		<pubDate>Wed, 05 Oct 2011 00:11:32 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-10525</guid>
		<description>Bons exemplos...</description>
		<content:encoded><![CDATA[<p>Bons exemplos&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luis Sousa</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-8351</link>
		<dc:creator>Luis Sousa</dc:creator>
		<pubDate>Sat, 18 Jun 2011 15:41:30 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-8351</guid>
		<description>Boas,
Tenho de fazer um trabalho em Prolog que é um optimizador de percursos.
Trata-se de:
ponto(p1,45,32).
ponto(p2,71,76).
ponto(p3,98,22).
... (entre outros) ...
 e necessito de executar um comando tipo:
:- best_rout( ???   ). e que devolva o melhor percurso, ou seja, o mais rápido.

Abraço camarada.</description>
		<content:encoded><![CDATA[<p>Boas,<br />
Tenho de fazer um trabalho em Prolog que é um optimizador de percursos.<br />
Trata-se de:<br />
ponto(p1,45,32).<br />
ponto(p2,71,76).<br />
ponto(p3,98,22).<br />
&#8230; (entre outros) &#8230;<br />
 e necessito de executar um comando tipo:<br />
:- best_rout( ???   ). e que devolva o melhor percurso, ou seja, o mais rápido.</p>
<p>Abraço camarada.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pedro</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-8056</link>
		<dc:creator>pedro</dc:creator>
		<pubDate>Wed, 11 May 2011 21:32:53 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-8056</guid>
		<description>&lt;blockquote&gt;
&lt;a href=&quot;#comment-8054&quot; rel=&quot;nofollow&quot;&gt;
&lt;strong&gt;&lt;em&gt;cosper:&lt;/em&gt;&lt;/strong&gt;
&lt;/a&gt;
 oi amigo ajuda me com o trabalho que tenho que entregar mas nao entendo quase nada em prolog aqui vai
1. Analise o seguinte trecho, extraído do livro “Harry Potter e a Pedra Filosofal”, de
J.K.Rowling, editora Rocco, 2000.
“Harry abriu a porta seguinte, os dois mal se atreviam a olhar o que vinha a seguir, mas não havia nada
muito assustador ali, apenas uma mesa e sobre ela sete garrafas de formatos diferentes.
— É o de Snape — disse Harry. — O que temos de fazer?
Ao cruzarem a soleira da porta, imediatamente irromperam chamas atrás deles. E não eram chamas
comuns tampouco, eram roxas. Ao mesmo tempo, surgiam chamas pretas na porta adiante. Estavam
encurralados.
— Olhe! — Hermione apanhou um rolo de papel que havia ao lado das garrafas. Harry espiou por cima
do seu ombro para ler o papel:
O perigo o aguarda à frente, a segurança ficou atrás,
Duas de nós o ajudaremos no que quer encontrar,
Uma das sete te deixará prosseguir,
A outra levará de volta quem a beber,
Duas de nós conterão vinho de urtigas;
Três de nós aguardam em fila para o matar,
Escolha, ou ficará aqui para sempre,
E para ajudá-lo, lhe damos quatro pistas:
Primeira, por mais dissimulado que seja o veneno,
Você sempre encontrará um à esquerda de um vinho
de urtigas;
Segunda, são diferentes as garrafas de cada
extremidade,
Mas se você quiser avançar nenhuma é sua amiga;
Terceira, é visível que temos tamanhos diferentes,
Nem anã nem giganta leva a morte no bojo;
Quarta, a segunda à esquerda e a segunda à direita
São gêmeas ao paladar, embora diferentes à vista.
Hermione deixou escapar um grande suspiro e Harry, perplexo, viu que ela sorria, a última coisa que ele
tinha vontade de fazer.
— Genial — disse — Isto não é mágica, é lógica…”
Ajude Harry e Hermione a impedir o Lorde das Trevas de voltar ao poder. Escreva um
programa em Prolog que resolva a charada de lógica acima e decida qual garrafa Harry deve
beber para seguir adiante.
Dica 1: Represente as 7 garrafas em uma lista. O seguintes predicados podem ajudar:
% Encontra uma permutação em uma lista
permutacao([],[]).
permutacao(L,[X&#124;P]) :- apaga(X,L,L1), permutacao(L1,P).
apaga(X,[X&#124;L],L).
apaga(X,[Y&#124;L],[Y&#124;L1]) :- apaga(X,L,L1).
% Encontra o índice de um dado elemento em uma lista
indice(X, [X&#124;_], 0) :- !.
indice(X, [_&#124;L], N) :- indice(X, L, N1), N is N1 + 1.
% Encontra o elemento em uma dada posição da lista
elemento(X, [X&#124;_], 0) :- !.
elemento(X, [_&#124;L], N) :- N1 is N – 1, elemento(X, L, N1).
% Retorna uma sublista a partir de uma posição fornecida
% Este predicado pode ser útil para implementar a recursividade na primeira
% pista, já que nela você vai precisar testar as posições de toda ocorrência
% de uma garrafa de vinho de urtigas.
sublista(L, 0, L) :- !.
sublista([_&#124;L1], N, L2) :- N1 is N – 1, sublista(L1, N1, L2).
Dica 2: A autora não descreve no texto a disposição exata das garrafas na mesa, porém essa
informação é essencial para a resolução do problema. Assuma que as garrafas estão dispostas
conforme a sequência abaixo:
grande, gigante, média, anã, pequena, quadrada, arredondada
&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<blockquote><p>
<a href="#comment-8054" rel="nofollow"><br />
<strong><em>cosper:</em></strong><br />
</a><br />
 oi amigo ajuda me com o trabalho que tenho que entregar mas nao entendo quase nada em prolog aqui vai<br />
1. Analise o seguinte trecho, extraído do livro “Harry Potter e a Pedra Filosofal”, de<br />
J.K.Rowling, editora Rocco, 2000.<br />
“Harry abriu a porta seguinte, os dois mal se atreviam a olhar o que vinha a seguir, mas não havia nada<br />
muito assustador ali, apenas uma mesa e sobre ela sete garrafas de formatos diferentes.<br />
— É o de Snape — disse Harry. — O que temos de fazer?<br />
Ao cruzarem a soleira da porta, imediatamente irromperam chamas atrás deles. E não eram chamas<br />
comuns tampouco, eram roxas. Ao mesmo tempo, surgiam chamas pretas na porta adiante. Estavam<br />
encurralados.<br />
— Olhe! — Hermione apanhou um rolo de papel que havia ao lado das garrafas. Harry espiou por cima<br />
do seu ombro para ler o papel:<br />
O perigo o aguarda à frente, a segurança ficou atrás,<br />
Duas de nós o ajudaremos no que quer encontrar,<br />
Uma das sete te deixará prosseguir,<br />
A outra levará de volta quem a beber,<br />
Duas de nós conterão vinho de urtigas;<br />
Três de nós aguardam em fila para o matar,<br />
Escolha, ou ficará aqui para sempre,<br />
E para ajudá-lo, lhe damos quatro pistas:<br />
Primeira, por mais dissimulado que seja o veneno,<br />
Você sempre encontrará um à esquerda de um vinho<br />
de urtigas;<br />
Segunda, são diferentes as garrafas de cada<br />
extremidade,<br />
Mas se você quiser avançar nenhuma é sua amiga;<br />
Terceira, é visível que temos tamanhos diferentes,<br />
Nem anã nem giganta leva a morte no bojo;<br />
Quarta, a segunda à esquerda e a segunda à direita<br />
São gêmeas ao paladar, embora diferentes à vista.<br />
Hermione deixou escapar um grande suspiro e Harry, perplexo, viu que ela sorria, a última coisa que ele<br />
tinha vontade de fazer.<br />
— Genial — disse — Isto não é mágica, é lógica…”<br />
Ajude Harry e Hermione a impedir o Lorde das Trevas de voltar ao poder. Escreva um<br />
programa em Prolog que resolva a charada de lógica acima e decida qual garrafa Harry deve<br />
beber para seguir adiante.<br />
Dica 1: Represente as 7 garrafas em uma lista. O seguintes predicados podem ajudar:<br />
% Encontra uma permutação em uma lista<br />
permutacao([],[]).<br />
permutacao(L,[X|P]) :- apaga(X,L,L1), permutacao(L1,P).<br />
apaga(X,[X|L],L).<br />
apaga(X,[Y|L],[Y|L1]) :- apaga(X,L,L1).<br />
% Encontra o índice de um dado elemento em uma lista<br />
indice(X, [X|_], 0) :- !.<br />
indice(X, [_|L], N) :- indice(X, L, N1), N is N1 + 1.<br />
% Encontra o elemento em uma dada posição da lista<br />
elemento(X, [X|_], 0) :- !.<br />
elemento(X, [_|L], N) :- N1 is N – 1, elemento(X, L, N1).<br />
% Retorna uma sublista a partir de uma posição fornecida<br />
% Este predicado pode ser útil para implementar a recursividade na primeira<br />
% pista, já que nela você vai precisar testar as posições de toda ocorrência<br />
% de uma garrafa de vinho de urtigas.<br />
sublista(L, 0, L) :- !.<br />
sublista([_|L1], N, L2) :- N1 is N – 1, sublista(L1, N1, L2).<br />
Dica 2: A autora não descreve no texto a disposição exata das garrafas na mesa, porém essa<br />
informação é essencial para a resolução do problema. Assuma que as garrafas estão dispostas<br />
conforme a sequência abaixo:<br />
grande, gigante, média, anã, pequena, quadrada, arredondada
</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: pedro</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-8055</link>
		<dc:creator>pedro</dc:creator>
		<pubDate>Wed, 11 May 2011 19:32:59 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-8055</guid>
		<description>oi amigo me ajuda com um trabalho que tenho que entregar mas nao entendo nada de prolog


1. Analise o seguinte trecho, extraído do livro “Harry Potter e a Pedra Filosofal”, de
J.K.Rowling, editora Rocco, 2000.
“Harry abriu a porta seguinte, os dois mal se atreviam a olhar o que vinha a seguir, mas não havia nada
muito assustador ali, apenas uma mesa e sobre ela sete garrafas de formatos diferentes.
— É o de Snape — disse Harry. — O que temos de fazer?
Ao cruzarem a soleira da porta, imediatamente irromperam chamas atrás deles. E não eram chamas
comuns tampouco, eram roxas. Ao mesmo tempo, surgiam chamas pretas na porta adiante. Estavam
encurralados.
— Olhe! — Hermione apanhou um rolo de papel que havia ao lado das garrafas. Harry espiou por cima
do seu ombro para ler o papel:
O perigo o aguarda à frente, a segurança ficou atrás,
Duas de nós o ajudaremos no que quer encontrar,
Uma das sete te deixará prosseguir,
A outra levará de volta quem a beber,
Duas de nós conterão vinho de urtigas;
Três de nós aguardam em fila para o matar,
Escolha, ou ficará aqui para sempre,
E para ajudá-lo, lhe damos quatro pistas:
Primeira, por mais dissimulado que seja o veneno,
Você sempre encontrará um à esquerda de um vinho
de urtigas;
Segunda, são diferentes as garrafas de cada
extremidade,
Mas se você quiser avançar nenhuma é sua amiga;
Terceira, é visível que temos tamanhos diferentes,
Nem anã nem giganta leva a morte no bojo;
Quarta, a segunda à esquerda e a segunda à direita
São gêmeas ao paladar, embora diferentes à vista.
Hermione deixou escapar um grande suspiro e Harry, perplexo, viu que ela sorria, a última coisa que ele
tinha vontade de fazer.
— Genial — disse — Isto não é mágica, é lógica...”
Ajude Harry e Hermione a impedir o Lorde das Trevas de voltar ao poder. Escreva um
programa em Prolog que resolva a charada de lógica acima e decida qual garrafa Harry deve
beber para seguir adiante.
Dica 1: Represente as 7 garrafas em uma lista. O seguintes predicados podem ajudar:
% Encontra uma permutação em uma lista
permutacao([],[]).
permutacao(L,[X&#124;P]) :- apaga(X,L,L1), permutacao(L1,P).
apaga(X,[X&#124;L],L).
apaga(X,[Y&#124;L],[Y&#124;L1]) :- apaga(X,L,L1).
% Encontra o índice de um dado elemento em uma lista
indice(X, [X&#124;_], 0) :- !.
indice(X, [_&#124;L], N) :- indice(X, L, N1), N is N1 + 1.
% Encontra o elemento em uma dada posição da lista
elemento(X, [X&#124;_], 0) :- !.
elemento(X, [_&#124;L], N) :- N1 is N - 1, elemento(X, L, N1).
% Retorna uma sublista a partir de uma posição fornecida
% Este predicado pode ser útil para implementar a recursividade na primeira
% pista, já que nela você vai precisar testar as posições de toda ocorrência
% de uma garrafa de vinho de urtigas.
sublista(L, 0, L) :- !.
sublista([_&#124;L1], N, L2) :- N1 is N - 1, sublista(L1, N1, L2).
Dica 2: A autora não descreve no texto a disposição exata das garrafas na mesa, porém essa
informação é essencial para a resolução do problema. Assuma que as garrafas estão dispostas
conforme a sequência abaixo:
grande, gigante, média, anã, pequena, quadrada, arredondada</description>
		<content:encoded><![CDATA[<p>oi amigo me ajuda com um trabalho que tenho que entregar mas nao entendo nada de prolog</p>
<p>1. Analise o seguinte trecho, extraído do livro “Harry Potter e a Pedra Filosofal”, de<br />
J.K.Rowling, editora Rocco, 2000.<br />
“Harry abriu a porta seguinte, os dois mal se atreviam a olhar o que vinha a seguir, mas não havia nada<br />
muito assustador ali, apenas uma mesa e sobre ela sete garrafas de formatos diferentes.<br />
— É o de Snape — disse Harry. — O que temos de fazer?<br />
Ao cruzarem a soleira da porta, imediatamente irromperam chamas atrás deles. E não eram chamas<br />
comuns tampouco, eram roxas. Ao mesmo tempo, surgiam chamas pretas na porta adiante. Estavam<br />
encurralados.<br />
— Olhe! — Hermione apanhou um rolo de papel que havia ao lado das garrafas. Harry espiou por cima<br />
do seu ombro para ler o papel:<br />
O perigo o aguarda à frente, a segurança ficou atrás,<br />
Duas de nós o ajudaremos no que quer encontrar,<br />
Uma das sete te deixará prosseguir,<br />
A outra levará de volta quem a beber,<br />
Duas de nós conterão vinho de urtigas;<br />
Três de nós aguardam em fila para o matar,<br />
Escolha, ou ficará aqui para sempre,<br />
E para ajudá-lo, lhe damos quatro pistas:<br />
Primeira, por mais dissimulado que seja o veneno,<br />
Você sempre encontrará um à esquerda de um vinho<br />
de urtigas;<br />
Segunda, são diferentes as garrafas de cada<br />
extremidade,<br />
Mas se você quiser avançar nenhuma é sua amiga;<br />
Terceira, é visível que temos tamanhos diferentes,<br />
Nem anã nem giganta leva a morte no bojo;<br />
Quarta, a segunda à esquerda e a segunda à direita<br />
São gêmeas ao paladar, embora diferentes à vista.<br />
Hermione deixou escapar um grande suspiro e Harry, perplexo, viu que ela sorria, a última coisa que ele<br />
tinha vontade de fazer.<br />
— Genial — disse — Isto não é mágica, é lógica&#8230;”<br />
Ajude Harry e Hermione a impedir o Lorde das Trevas de voltar ao poder. Escreva um<br />
programa em Prolog que resolva a charada de lógica acima e decida qual garrafa Harry deve<br />
beber para seguir adiante.<br />
Dica 1: Represente as 7 garrafas em uma lista. O seguintes predicados podem ajudar:<br />
% Encontra uma permutação em uma lista<br />
permutacao([],[]).<br />
permutacao(L,[X|P]) :- apaga(X,L,L1), permutacao(L1,P).<br />
apaga(X,[X|L],L).<br />
apaga(X,[Y|L],[Y|L1]) :- apaga(X,L,L1).<br />
% Encontra o índice de um dado elemento em uma lista<br />
indice(X, [X|_], 0) :- !.<br />
indice(X, [_|L], N) :- indice(X, L, N1), N is N1 + 1.<br />
% Encontra o elemento em uma dada posição da lista<br />
elemento(X, [X|_], 0) :- !.<br />
elemento(X, [_|L], N) :- N1 is N &#8211; 1, elemento(X, L, N1).<br />
% Retorna uma sublista a partir de uma posição fornecida<br />
% Este predicado pode ser útil para implementar a recursividade na primeira<br />
% pista, já que nela você vai precisar testar as posições de toda ocorrência<br />
% de uma garrafa de vinho de urtigas.<br />
sublista(L, 0, L) :- !.<br />
sublista([_|L1], N, L2) :- N1 is N &#8211; 1, sublista(L1, N1, L2).<br />
Dica 2: A autora não descreve no texto a disposição exata das garrafas na mesa, porém essa<br />
informação é essencial para a resolução do problema. Assuma que as garrafas estão dispostas<br />
conforme a sequência abaixo:<br />
grande, gigante, média, anã, pequena, quadrada, arredondada</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cosper</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-8054</link>
		<dc:creator>cosper</dc:creator>
		<pubDate>Wed, 11 May 2011 19:28:43 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-8054</guid>
		<description>oi amigo ajuda me com o trabalho que tenho que entregar mas nao entendo quase nada em prolog aqui vai


1. Analise o seguinte trecho, extraído do livro “Harry Potter e a Pedra Filosofal”, de
J.K.Rowling, editora Rocco, 2000.
“Harry abriu a porta seguinte, os dois mal se atreviam a olhar o que vinha a seguir, mas não havia nada
muito assustador ali, apenas uma mesa e sobre ela sete garrafas de formatos diferentes.
— É o de Snape — disse Harry. — O que temos de fazer?
Ao cruzarem a soleira da porta, imediatamente irromperam chamas atrás deles. E não eram chamas
comuns tampouco, eram roxas. Ao mesmo tempo, surgiam chamas pretas na porta adiante. Estavam
encurralados.
— Olhe! — Hermione apanhou um rolo de papel que havia ao lado das garrafas. Harry espiou por cima
do seu ombro para ler o papel:
O perigo o aguarda à frente, a segurança ficou atrás,
Duas de nós o ajudaremos no que quer encontrar,
Uma das sete te deixará prosseguir,
A outra levará de volta quem a beber,
Duas de nós conterão vinho de urtigas;
Três de nós aguardam em fila para o matar,
Escolha, ou ficará aqui para sempre,
E para ajudá-lo, lhe damos quatro pistas:
Primeira, por mais dissimulado que seja o veneno,
Você sempre encontrará um à esquerda de um vinho
de urtigas;
Segunda, são diferentes as garrafas de cada
extremidade,
Mas se você quiser avançar nenhuma é sua amiga;
Terceira, é visível que temos tamanhos diferentes,
Nem anã nem giganta leva a morte no bojo;
Quarta, a segunda à esquerda e a segunda à direita
São gêmeas ao paladar, embora diferentes à vista.
Hermione deixou escapar um grande suspiro e Harry, perplexo, viu que ela sorria, a última coisa que ele
tinha vontade de fazer.
— Genial — disse — Isto não é mágica, é lógica...”
Ajude Harry e Hermione a impedir o Lorde das Trevas de voltar ao poder. Escreva um
programa em Prolog que resolva a charada de lógica acima e decida qual garrafa Harry deve
beber para seguir adiante.
Dica 1: Represente as 7 garrafas em uma lista. O seguintes predicados podem ajudar:
% Encontra uma permutação em uma lista
permutacao([],[]).
permutacao(L,[X&#124;P]) :- apaga(X,L,L1), permutacao(L1,P).
apaga(X,[X&#124;L],L).
apaga(X,[Y&#124;L],[Y&#124;L1]) :- apaga(X,L,L1).
% Encontra o índice de um dado elemento em uma lista
indice(X, [X&#124;_], 0) :- !.
indice(X, [_&#124;L], N) :- indice(X, L, N1), N is N1 + 1.
% Encontra o elemento em uma dada posição da lista
elemento(X, [X&#124;_], 0) :- !.
elemento(X, [_&#124;L], N) :- N1 is N - 1, elemento(X, L, N1).
% Retorna uma sublista a partir de uma posição fornecida
% Este predicado pode ser útil para implementar a recursividade na primeira
% pista, já que nela você vai precisar testar as posições de toda ocorrência
% de uma garrafa de vinho de urtigas.
sublista(L, 0, L) :- !.
sublista([_&#124;L1], N, L2) :- N1 is N - 1, sublista(L1, N1, L2).
Dica 2: A autora não descreve no texto a disposição exata das garrafas na mesa, porém essa
informação é essencial para a resolução do problema. Assuma que as garrafas estão dispostas
conforme a sequência abaixo:
grande, gigante, média, anã, pequena, quadrada, arredondada</description>
		<content:encoded><![CDATA[<p>oi amigo ajuda me com o trabalho que tenho que entregar mas nao entendo quase nada em prolog aqui vai</p>
<p>1. Analise o seguinte trecho, extraído do livro “Harry Potter e a Pedra Filosofal”, de<br />
J.K.Rowling, editora Rocco, 2000.<br />
“Harry abriu a porta seguinte, os dois mal se atreviam a olhar o que vinha a seguir, mas não havia nada<br />
muito assustador ali, apenas uma mesa e sobre ela sete garrafas de formatos diferentes.<br />
— É o de Snape — disse Harry. — O que temos de fazer?<br />
Ao cruzarem a soleira da porta, imediatamente irromperam chamas atrás deles. E não eram chamas<br />
comuns tampouco, eram roxas. Ao mesmo tempo, surgiam chamas pretas na porta adiante. Estavam<br />
encurralados.<br />
— Olhe! — Hermione apanhou um rolo de papel que havia ao lado das garrafas. Harry espiou por cima<br />
do seu ombro para ler o papel:<br />
O perigo o aguarda à frente, a segurança ficou atrás,<br />
Duas de nós o ajudaremos no que quer encontrar,<br />
Uma das sete te deixará prosseguir,<br />
A outra levará de volta quem a beber,<br />
Duas de nós conterão vinho de urtigas;<br />
Três de nós aguardam em fila para o matar,<br />
Escolha, ou ficará aqui para sempre,<br />
E para ajudá-lo, lhe damos quatro pistas:<br />
Primeira, por mais dissimulado que seja o veneno,<br />
Você sempre encontrará um à esquerda de um vinho<br />
de urtigas;<br />
Segunda, são diferentes as garrafas de cada<br />
extremidade,<br />
Mas se você quiser avançar nenhuma é sua amiga;<br />
Terceira, é visível que temos tamanhos diferentes,<br />
Nem anã nem giganta leva a morte no bojo;<br />
Quarta, a segunda à esquerda e a segunda à direita<br />
São gêmeas ao paladar, embora diferentes à vista.<br />
Hermione deixou escapar um grande suspiro e Harry, perplexo, viu que ela sorria, a última coisa que ele<br />
tinha vontade de fazer.<br />
— Genial — disse — Isto não é mágica, é lógica&#8230;”<br />
Ajude Harry e Hermione a impedir o Lorde das Trevas de voltar ao poder. Escreva um<br />
programa em Prolog que resolva a charada de lógica acima e decida qual garrafa Harry deve<br />
beber para seguir adiante.<br />
Dica 1: Represente as 7 garrafas em uma lista. O seguintes predicados podem ajudar:<br />
% Encontra uma permutação em uma lista<br />
permutacao([],[]).<br />
permutacao(L,[X|P]) :- apaga(X,L,L1), permutacao(L1,P).<br />
apaga(X,[X|L],L).<br />
apaga(X,[Y|L],[Y|L1]) :- apaga(X,L,L1).<br />
% Encontra o índice de um dado elemento em uma lista<br />
indice(X, [X|_], 0) :- !.<br />
indice(X, [_|L], N) :- indice(X, L, N1), N is N1 + 1.<br />
% Encontra o elemento em uma dada posição da lista<br />
elemento(X, [X|_], 0) :- !.<br />
elemento(X, [_|L], N) :- N1 is N &#8211; 1, elemento(X, L, N1).<br />
% Retorna uma sublista a partir de uma posição fornecida<br />
% Este predicado pode ser útil para implementar a recursividade na primeira<br />
% pista, já que nela você vai precisar testar as posições de toda ocorrência<br />
% de uma garrafa de vinho de urtigas.<br />
sublista(L, 0, L) :- !.<br />
sublista([_|L1], N, L2) :- N1 is N &#8211; 1, sublista(L1, N1, L2).<br />
Dica 2: A autora não descreve no texto a disposição exata das garrafas na mesa, porém essa<br />
informação é essencial para a resolução do problema. Assuma que as garrafas estão dispostas<br />
conforme a sequência abaixo:<br />
grande, gigante, média, anã, pequena, quadrada, arredondada</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paulo Patto</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-7971</link>
		<dc:creator>Paulo Patto</dc:creator>
		<pubDate>Thu, 28 Apr 2011 05:03:37 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-7971</guid>
		<description>&lt;blockquote&gt;
&lt;a href=&quot;#comment-481&quot; rel=&quot;nofollow&quot;&gt;
&lt;strong&gt;&lt;em&gt;junior:&lt;/em&gt;&lt;/strong&gt;
&lt;/a&gt;
 Amigo ajuda tenho que entregar esse trabalho  segunda po favor.Ja to fudido nessa disciplina
Um general do exército americano desenvolveu uma estratégia de ataque a guerrilhas terroristas
armadas localizadas em campos sitiados por recursos naturais, como ilhas, área planas limitadas por montanhas,
rios etc. A sua estratégia baseia-se em colocar grupos armados em pontos estratégicos o mais próximo possível
do inimigo, formando uma área retangular – área de “sufoco”. A figura abaixo, mostra três grupos de guerrilhas
e os grupos armados localizados de forma estratégica, definindo os pontos de sufoco.
Tarefa
Você deve desenvolver um programa que permita calcular os pontos onde serão posicionados os
grupos armados, de forma a cria a menor área disponível aos grupos terroristas. Além disso, o programa deve
calcular o tamanho dessa área em km2.
Entrada
A entrada é composta de uma base de fatos Prolog, contendo vários conjuntos de teste. Os conjuntos
de testes são formatos por: a) fato para descrever a área geográfica, sendo que a área geográfica é minimamente
formada por dois inteiros M e N que correspondem às dimensões em km da área geográfica; b) fato
descrevendo a localização das guerrilhas, sendo cada guerrilha descrita minimamente por dois inteiros X e Y
representando X e Y coordenadas de localização . Restrições: 0&lt;M&lt;100; 0&lt;N&lt;100; 0&lt;x&lt;M; e 0&lt;y&lt;N.
Exemplo de Entrada
Conjunto 1 Conjunto 2
Fato a 30 30 50 50
Fatos b 20 21
23 23
19 21
49 49
48 49
&lt;/blockquote&gt;

Jr. favor entrar em contato comigo no paulopatto@gmail.com</description>
		<content:encoded><![CDATA[<blockquote><p>
<a href="#comment-481" rel="nofollow"><br />
<strong><em>junior:</em></strong><br />
</a><br />
 Amigo ajuda tenho que entregar esse trabalho  segunda po favor.Ja to fudido nessa disciplina<br />
Um general do exército americano desenvolveu uma estratégia de ataque a guerrilhas terroristas<br />
armadas localizadas em campos sitiados por recursos naturais, como ilhas, área planas limitadas por montanhas,<br />
rios etc. A sua estratégia baseia-se em colocar grupos armados em pontos estratégicos o mais próximo possível<br />
do inimigo, formando uma área retangular – área de “sufoco”. A figura abaixo, mostra três grupos de guerrilhas<br />
e os grupos armados localizados de forma estratégica, definindo os pontos de sufoco.<br />
Tarefa<br />
Você deve desenvolver um programa que permita calcular os pontos onde serão posicionados os<br />
grupos armados, de forma a cria a menor área disponível aos grupos terroristas. Além disso, o programa deve<br />
calcular o tamanho dessa área em km2.<br />
Entrada<br />
A entrada é composta de uma base de fatos Prolog, contendo vários conjuntos de teste. Os conjuntos<br />
de testes são formatos por: a) fato para descrever a área geográfica, sendo que a área geográfica é minimamente<br />
formada por dois inteiros M e N que correspondem às dimensões em km da área geográfica; b) fato<br />
descrevendo a localização das guerrilhas, sendo cada guerrilha descrita minimamente por dois inteiros X e Y<br />
representando X e Y coordenadas de localização . Restrições: 0&lt;M&lt;100; 0&lt;N&lt;100; 0&lt;x&lt;M; e 0&lt;y&lt;N.<br />
Exemplo de Entrada<br />
Conjunto 1 Conjunto 2<br />
Fato a 30 30 50 50<br />
Fatos b 20 21<br />
23 23<br />
19 21<br />
49 49<br />
48 49
</p></blockquote>
<p>Jr. favor entrar em contato comigo no <a href="mailto:paulopatto@gmail.com">paulopatto@gmail.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ruben</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-6532</link>
		<dc:creator>Ruben</dc:creator>
		<pubDate>Fri, 17 Dec 2010 15:42:44 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-6532</guid>
		<description>Como remover nós(becos sem saida) num grafo bidirecional em prolog?</description>
		<content:encoded><![CDATA[<p>Como remover nós(becos sem saida) num grafo bidirecional em prolog?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marianny de Sousa</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-6465</link>
		<dc:creator>Marianny de Sousa</dc:creator>
		<pubDate>Wed, 08 Dec 2010 14:33:58 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-6465</guid>
		<description>Olá, tenho um trabalho para implementar e gostaria de saber como posso(fazer interface com a linguagem java) usando jpl e swi-prolog.
Quero usar alguns recursos da linguagem java e do swi-prolog(versao 5.8.2) juntos.
tipo fazer a consultar carregando de um arquivo &#039; .pl &#039;.

Eu uso o netbeans e gostaria de saber se posso fazer essa junção, ou se posso fazer de outra forma.</description>
		<content:encoded><![CDATA[<p>Olá, tenho um trabalho para implementar e gostaria de saber como posso(fazer interface com a linguagem java) usando jpl e swi-prolog.<br />
Quero usar alguns recursos da linguagem java e do swi-prolog(versao 5.8.2) juntos.<br />
tipo fazer a consultar carregando de um arquivo &#8216; .pl &#8216;.</p>
<p>Eu uso o netbeans e gostaria de saber se posso fazer essa junção, ou se posso fazer de outra forma.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fernando Ibañez</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-6404</link>
		<dc:creator>Fernando Ibañez</dc:creator>
		<pubDate>Fri, 26 Nov 2010 14:30:37 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-6404</guid>
		<description>Olá preciso construir um predicado aglutinar³ com três operações.
1ª)O 1º argumento é o nome de uma pessoa
2º)O segundo é uma lista de pares ordenados, onde o 1º elemento do par é o nome de uma pessoa e o 2º é o nome de uma disciplina.
3º)O terceiro é a lista de disciplinas que aparecem junto ao nome do 1º argumento nos pares do segundo argumento.
Se tivesse como ajudar, preciso de uma base ñ sei como faço para iniciar isto. Não estou conseguindo achar um meio de iniciar. Obrigado. Att</description>
		<content:encoded><![CDATA[<p>Olá preciso construir um predicado aglutinar³ com três operações.<br />
1ª)O 1º argumento é o nome de uma pessoa<br />
2º)O segundo é uma lista de pares ordenados, onde o 1º elemento do par é o nome de uma pessoa e o 2º é o nome de uma disciplina.<br />
3º)O terceiro é a lista de disciplinas que aparecem junto ao nome do 1º argumento nos pares do segundo argumento.<br />
Se tivesse como ajudar, preciso de uma base ñ sei como faço para iniciar isto. Não estou conseguindo achar um meio de iniciar. Obrigado. Att</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ana Cristina</title>
		<link>http://silveiraneto.net/2007/08/29/exemplos-de-prolog/comment-page-1/#comment-6375</link>
		<dc:creator>Ana Cristina</dc:creator>
		<pubDate>Fri, 19 Nov 2010 17:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://silveiraneto.net/2007/08/29/exemplos-de-prolog/#comment-6375</guid>
		<description>Olá,

Eu preciso fazer um trabalho que implemente o problema do caixeiro viajante em prolog. 
Se vc tiver algum material pode mandar pro meu e-mail? Abraço!!!</description>
		<content:encoded><![CDATA[<p>Olá,</p>
<p>Eu preciso fazer um trabalho que implemente o problema do caixeiro viajante em prolog.<br />
Se vc tiver algum material pode mandar pro meu e-mail? Abraço!!!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

