Trabalho Programação
Por: Aline Ramos • 28/11/2018 • Trabalho acadêmico • 352 Palavras (2 Páginas) • 447 Visualizações
LISTA DE EXERCÍCIOS 1 – PROLOG
LISTA DE EXERCÍCIOS 1
Alexsandro Silva Wandenkolk 1540467
Crie um arquivo de programa com extensão .pl e preencha-o com os seguintes fatos Prolog:
% Filmes:
filme(id_filme, nome_filme).
filme(1, 'Monty Python').
filme(2, 'O Senhor dos Aneis').
filme(3, 'Gattaca').
% Numero de locacoes de cada filme:
% locacoes(id _filme, num_locacoes)
locacoes(1, 500).
locacoes(2, 1000).
locacoes(3, 100).
Considerando a base do exercício anterior:
Defina o predicado arrecadacao(Filme, V) para determinar o valor arrecadado V com as locações do filme Filme. Considere que cada locação de filme custa R$ 5,00.
% Predicado arrecadacao
arrecadacao(Filme, V) :- locacoes(Filme, L), V is L*5.
Expresse a seguinte consulta: Qual o nome do filme com identificador igual a 2?
?- filme(2, N).
N = 'O Senhor dos Aneis
Expresse a seguinte consulta: Quais os identificadores e nomes dos filmes com mais de 100 locações?
?- filme(ID, N), locacoes(ID, L), L > 100.
ID = 1,
N = 'Monty Python',
L = 500 ;
ID = 2,
N = 'O Senhor dos Aneis',
L = 1000 ;
Crie um programa Prolog contendo os seguintes fatos sobre países (nome, área em Km2 e população em milhões de habitantes):
% Países
% pais(nome, área, população)
pais(brasil, 8, 196).
pais(china, 9, 1330).
pais(eua, 9, 304).
pais(índia, 3, 1147)o
Considerando a base do exercício anterior:
Defina o predicado densidade(P,D) para determinar a densidade demográfica D do país P. A densidade demográfica é dada pelo quociente entre a população e a área do país.
% Predicado densidade
densidade(P, D) :- pais(P, A, Pop), D is Pop/A.
Expresse a seguinte consulta: Qual a diferença entre a população da China e do Brasil?
?- pais(china, _, PopChina), pais(brasil, _, PopBrasil), Diferenca is
PopChina-PopBrasil.
PopChina = 1330,
PopBrasil = 196,
Diferenca = 1134.
Expresse a seguinte consulta: A densidade demográfica do Brasil é maior do que a dos Estados Unidos?
?- densidade(brasil, Db), densidade(eua, De), Db > De.
false.
Crie um programa Prolog contendo a seguinte base de fatos Prolog:
%fatos
mulher(ana). % ana é uma mulher
mulher(cecilia).
mulher(joana).
homem(joao). % joao é um homem
homem(pedro).
homem(leandro).
filho(pedro, joao). % pedro é filho de joao
filho(pedro, ana). % pedro é filho de ana
...