Resultados da pesquisa a pedido "prolog"
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). ...
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]]) ...
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 ...
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 ...
á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 ...
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 ...
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. ...
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 ...
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 ...
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: ?- ...