Resultados da pesquisa a pedido "prolog"

1 a resposta

Exibir uma lista no formato 'bruto' ./2

É possível exibir uma lista de Prolog no formato ./2, por exemplo para a lista: | ?- L=[a,b,c]. L = [a,b,c] ? yesExiste um meio para exibir: L = .(a, .(b, .(c, []))).

1 a resposta

Listas de diferenças no Prolog e variáveis mutáveis

As listas de diferenças são um meio de "contornar" o fato de que variáveis são imutáveis no prólogo? I.e. se eu implementar anexar usando listas de diferenças: diff_append(OpenList, Hole, L2) :- Hole = L2.E então execute: X=[a,b,c|Hole], ...

1 a resposta

O que se entende por "pureza lógica" em Prolog?

O que se entende por "pureza lógica" (no contexto da programação Prolog)? o pureza lógica [/questions/tagged/logical-purity]as informações da tag dizem"programas usando apenas cláusulas de Horn", mas como predicados ...

1 a resposta

Prolog do DCG testando várias frases

Se eu tiver o código abaixo, como eu o faria produzirAnswer= 5 and Answer2= 10?. Eu corro o objetivo?- test(Data),lpsolve(Data, [Answer1,Answer2]). :-use_module(library(clpfd)). test([the, variable, X, is, five,fullstop, the,variable, Y, is, ...

3 a resposta

Prolog - Retorna uma lista com elementos específicos?

Estou tentando aprender Prolog e tenho feito alguns exercícios. Há uma lista com os nomes dos alunos. Escreva o predicadofilter(L,LN) que retorna uma segunda lista chamadaLN que inclui nomes como este: ?- filter([kostas, dimitris, anna, ...

3 a resposta

Analisando números com vários dígitos no Prolog

Eu tenho o seguinte analisador de expressão simples: expr(+(T,E))-->term(T),"+",expr(E). expr(T)-->term(T). term(*(F,T))-->factor(F),"*",term(T). term(F)-->factor(F). factor(N)-->nat(N). factor(E)-->"(",expr(E),")". nat(0)-->"0". nat(1)-->"1". ...

5 a resposta

SWI-Prolog como mostrar a resposta completa (lista)?

Estou tentando converter uma seqüência de caracteres em uma lista de códigos ASCII da seguinte forma: 7 ?- string_to_list("I'm a big blue banana in space!", C). C = [73, 39, 109, 32, 97, 32, 98, 105, 103|...]. 8 ?-Isso não me dá a lista inteira, ...

1 a resposta

Por que o Prolog corresponderia uma variável a um resultado que falharia se conectado diretamente?

Estou criando um programa Prolog que encontra um subconjunto de um conjunto de listas. Esse subconjunto deve corresponder a algumas condições específicas, cujo aspecto é que as listas do subconjunto não podem ser idênticas. O que me confunde é ...

2 a resposta

Por que essa consulta de prólogo é verdadeira e falsa?

Minha base de conhecimento do SWI-Prolog contém os dois fatos a seguir: f(a,b). f(a,c).Agora, se eu fizer a consulta ?- f(a,c). true.Mas ?- f(a,b). true ; false.Por que f (a, b) é verdadeiro e falso? Isso também acontece quando há três fatos ...

3 a resposta

Usos declarativos do memberchk / 2

memberchk/2 é um predicado comumente definido em termos demember/2 igual a: memberchk(X, Xs) :- once(member(X, Xs)).Por conseguinte, consegue apenas a primeira resposta demember/2. Seu significado processual completo não se encaixa em uma ...