Resultados da pesquisa a pedido "prolog"

2 a resposta

prolog converter números em algarismos romanos

Eu tenho esse código que converte números inteiros em algarismos romanos. Eu preciso adicionar uma função que compare um número inteiro com uma entrada numérica romana e mostrar se é try ou false, por exemplo: roman (v, 5). verdad toroman(0). ...

3 a resposta

Combinar os resultados do gerador e escrever o resultado para transmitir

tualmente, posso gerar árvores de expressã expression_tree([_|N_s],N_s, [number(0)]). expression_tree([_|N_s0],N_s1, [op(neg),[E1]]) :- expression_tree(N_s0,N_s1, E1). expression_tree([_|N_s0],N_s2, [op(add), [E1, E2]]) ...

4 a resposta

Defina o gráfico no Prolog: borda e caminho, descobrindo se existe um caminho entre dois vértices

Sou muito novo no Prolog. Eu defini emgraph.pl o seguinte gráfico: E aqui está o meu código Prolog: edge(a,e). edge(e,d). edge(d,c). edge(c,b). edge(b,a). edge(d,a). edge(e,c). edge(f,b). path(X,X). path(X,Y):- edge(X,Z) ; path(Z,Y). Eu ...

2 a resposta

gprolog: Obter um stacktrace após uma exceção

Enquanto estiver usando gprolog Muitas vezes tenho exceções sem nenhum tipo de número de linha ou contexto como este: uncaught exception: error(instantiation_error,(is)/2)Sem qualquer tipo de contexto. Eu sei que posso fazer umtrace mas levaria ...

4 a resposta

álculos numéricos reversíveis no Prolog

Enquanto lia o SICP, deparei-me com o capítulo 4.4 da programação lógica. Então comecei a olhar para a linguagem de programação Prolog e tentei entender algumas tarefas simples no Prolog. Descobri que o Prolog parece ter problemas com cálculos ...

2 a resposta

Encontrando a sublist mais longa contígua no Prolog

Sou iniciante no Prolog e esta é a minha pergunta: Tenho uma lista ordenada de números inteiros sem duplicados, ou seja,[1,2,3,11,12,13,14,21,22,23,24,25] Eu quero escrever um predicado que encontre a sub-lista contígua mais longa ...

6 a resposta

Ténis programação de partidas

Há um número limitado de jogadores e um número limitado de quadras de tênis. Em cada rodada, pode haver no máximo o número de partidas que houver quadras. Ninguém joga 2 rodadas sem interrupção. Todo mundo joga uma partida contra todo mundo. ...

6 a resposta

Implementação mais rápida da aritmética verbal no Prolog

Eu já fiz um trabalho generalizado aritmética verbal [http://en.wikipedia.org/wiki/Verbal_arithmetic] solucionador em Prolog, mas é muito lento. Leva apenas 8 minutos para executar a expressão simples S E N D + M O R E = M O N E Y. Alguém pode ...

5 a resposta

Como multiplicar todos os elementos de duas listas entre si no Prolog

Estou pensando em como multiplicar todos os elementos da lista dois. Então eu quero colocar todos os resultados emList3. Por exemplo List1 = [1,3,5]. List2 = [2,6,7].List3 deve conter [1x2, 1x6, 1x7, 3x2, 3x6, 3x7, 5x2, 5x6, 5x7]. No ...

1 a resposta

possível declarar uma lista ascendent

Eu posso fazer listas de números inteiros ascendentes assim: ?- findall(L,between(1,5,L),List).Sei que também posso gerar valores usando: ?- length(_,X).Mas acho que não posso usar isso em um findall, como coisas como o seguinte loop: ?- ...