Aleatorios
Lista de exercícios - Prolog
-------------------------------------------------
1. Obtenha o resultado das seguintes consultas: a) ?-[X | Y] = [[1,2, 3, 4], 1, 2].
X = [1, 2, 3, 4],
Y = [1, 2]. b) ?-[X, Y, Z, W] = [x, y, z, w].
X = x,
Y = y,
Z = z,
W = w. c) ?-[X, Y] = [x,[ y, z], w]. false. d) ?-[X, Y, Z] = [x,[ y, z], w].
X = x,
Y = [y, z],
Z = w. e) ?-[X | [Y | [Z | W]]] = [a, b, c, d, e, f, g].
X = a,
Y = b,
Z = c,
W = [d, e, f, g].
2. Dada a base de fatos a seguir governou(deodoro_da_fonseca,1891,1891). governou(floriano_peixoto,1891,1894). governou(prudente_de_moraes,1894,1898). governou(compos_sales,1898,1902). governou(rodrigues_alves,1902,1906). governou(afonso_pena,1906.1909). governou(nilo_pecanha,1909,1910). Escreva um programa Prolog chamado “presidente” que deve encontrar a(s) pessoa(s) que governavam o Brasil em um ano determinado.
Ex. 1: ?- presidente(X, 1892). X = floriano_peixoto
Ex. 2: ?- presidente(X, 1891). X = deodoro_da_fonseca ; X = floriano_peixoto ; No
presidente(Pres, Ano) :- governou(Pres,Inicio,Fim), Ano >= Inicio, Ano =< Fim.
3. Considere o seguinte programa em PROLOG para as respostas das questões subsequentes. servidor(alex).servidor(jardel).servidor(sunny).servidor(marcelo).estagiario(keven).estagiario(rafael).estagiario(savio).salario(alex, 10000).salario(jardel, 12000).salario(sunny, 13000).salario(marcelo,15000).salario(keven, 2500).salario(rafael, 3000).salario(savio, 4500). | setor(alex, desenvolvimento).setor(jardel, desenvolvimento).setor(sunny, desenvolvimento).setor(marcelo, redes).setor(keven, portais).setor(rafael, desenvolvimento).setor(savio, redes).projeto(alex, congresso).projeto(jardel, congresso).projeto(sunny, pibic).projeto(marcelo, sertao).projeto(keven, pibic).projeto(rafael, academico).projeto(savio, pibic). |
Detalhamento