Resultados da pesquisa a pedido "prolog"
Como simular "add eax, 1" no Prolog?
Estou tentando simular algum código ASM simples usando o Prolog. (32 bits) Sou novo no Prolog e estou preso em alguns problemas sem nenhuma solução. Basicamente, se aqui está o código: ... add eax, 1 ...e eu quero simular desta maneira: ... ...
Problemas com armazenamento de fatos no Prolog
Sou um pouco novo no Prolog e estou usando o SWI-Prolog v6.6 para declarações de armazenamento no meu arquivo * .pl. :- dynamic fact/2. assert(fact(fact1,fact2)).Com o código acima, posso fazer declarações e funciona bem, mas o problema é quando ...
Após a primeira resposta, o Prolog mostra o erro "char_code / 2: não pode representar devido a 'character_code'"
Em situação normal, podemos usar";" para mostrar a próxima resposta, se houver uma. Mas se eu fizer isso, isso me mostra error: char_code/2: Cannot represent due to 'character_code'Ao invés de";", Eu uso"shift + ;", e prólogo me dá um ...
Programa Prolog para verificar se um número é primo
Eu escrevi o programa a seguir com base na lógica de que um número primo é divisível apenas por 1 e ele próprio. Então, eu apenas passo o processo de dividi-lo em todos os números maiores que um e menores que ele próprio, mas parece que tenho um ...
Avaliação da expressão aritmética DRY no Prolog
Eu queria escrever um predicado de avaliação no Prolog para aritmética e descobriesta [http://kti.ms.mff.cuni.cz/~bartak/prolog/arithmetics.html]: eval(A+B,CV):-eval(A,AV),eval(B,BV),CV is AV+BV. eval(A-B,CV):-eval(A,AV),eval(B,BV),CV is ...
Como manter o primeiro resultado de uma função do Prolog?
Preciso escrever uma função personalizada que será chamada muitas vezes por outras funções fixas. Nesta função, na primeira chamada, ele retornará o número total de linhas de um arquivo. O segundo tempo chamado desta função, para frente, ...
Corte a árvore no Prolog com alguma profundidade
first(M,N):- N>0,M=..[H|T],((T==[],write(H));(T\=[],write(H),Q is N-1,second(T,Q))). second(M,N):- N>0,M=[H|T],first(H,N),((T==[]);(T\=[],second(T,N))). second(_,0):-!.Eu quero cortar a forma da árvore com mais profundidade. Escrevo um programa ...
Uso correto de findall / 3, especialmente o argumento do último resultado
Sou iniciante em Prolog e estou lidando com um problema que pode parecer estúpido para você, mas realmente não consigo entender o que estou fazendo de errado! Ok, eu tenho esse arquivo fruits.pl e dentro dele tenho algo parecido com ...
Expansão de termos para obter uma lista de termos
Digamos que eu queira ter várias regras que sigam o mesmo padrão. Eu me deparei com essa situação quando quero evitar um comportamento não determinístico listando explicitamente todos os primeiros argumentos possíveis. Eu sei, no entanto, que ...
Como executar o SWI-Prolog na linha de comando?
Existe uma maneira de apenas criar um script de prólogo chamadohello.pl como isso: #!/usr/local/bin/swipl -q -s -t main main:- write('Hello World\n').E ser capaz de executá-lo a partir do terminal assim? $ hello.pl Hello World $Quando faço ...