Dep. de Matemática da Univ. de Aveiro
curso de MAC

Introdução à Programação em Lógica
Dep. de Matemática da Univ. de Aveiro
curso de MAC

Trabalho Prático num.o 1

10 de Março de 1999

 
 
O trabalho deve ser executado em grupos de 2 alunos,
e deve ser entregue a funcionar e acompanhado dum relatório
dentro de 2 semanas, dia 24 de Março.
Lembre-se que a nota prática global entrará na nota final com um peso de 50%.
 

1  Objectivos e Organização

Este trabalho prático tem como principais objectivos:

Para o efeito, esta folha contém quatro enunciados, dos quais deverá resolver pelo menos um. Esses enunciados são, propositadamente, deixados relativamente vagos por forma a respeitar a capacidade imaginativa e de organização de cada grupo e, até, para nos permitir avaliar soluções diferentes de grupo para grupo.

Quanto ao relatório a elaborar, que deverá ser entregar conjuntamente com a disquete do seu programa Prolog no dia dia 24 de Março, deve ser claro e sucinto e, além do respectivo enunciado e listagem do programa (apresentados em apêndice), deverá conter uma explicação dos predicados incluídos na BC, bem como exemplos de execução em que se mostrem os resultados produzidos para várias questões.

2  Enunciados

Questão 1 [docentes] Construa uma BC em que se registem diversos dados sobre os docentes do Departamento de Matemática -sua identificação (nome, telefone, extensão, email, http, ...), posicão actual na Universidade (assistente estagiário, assistente, professor auxiliar, ...), o gabinete, as disciplinas que lecciona ou já leccionou (nome da disciplina, semestre, cursos a que é leccionada, ...), a área de investigação em que trabalha (grupo da UI&D a que pertence) e a indicação de outras responsabilidades que possui (membro da assembleia de representantes, comissões pedagógicas, ...).
O seu programa lógico deverá ser capaz de encontrar:

Os critérios de adequação dos docentes às situações serão também definidos por cada grupo. Para a construção da BC, poderá encontrar toda a informação que necessita no servidor www do nosso departamento: http://www.mat.ua.pt

Questão 2 [universidade]A Universidade de Aveiro fez este ano lectivo 25 anos e, no âmbito das comemorações, resolveu promover o lançamento de um conjunto de estudos estatíisticos sobre a universidade. Quando se começaram a realizar tais estudos, reparou-se que a informação disponível não era por vezes coerente ou induzia a erros que levavam, não muito raramente, a situações paradoxais. Estas situações decorriam do facto de que os sistemas de bases de dados disponíveis são pobres em termos de tratamento da integridade da informação e os humanos (as pessoas que introduzem os dados em computador) são dados a erros... A identificação de todas as incongruências revelou-se difícil e, de modo garantir alguma validade científica aos trabalhos, a Universidade resolveu contrata-lo a si para desenvolver um programa em Prolog que permitisse ajudar a identificar essas incongruências. Caso aceite a missão ;-)
deve construir uma BC em que se registem os dados disponíveis referentes aos alunos (número de estudante, nome, curso, ano que frequenta ou a data em que terminou o curso, média, ...) e aos funcionários (código, nome, data de nascimento, morada, categoria profissional, departamento ou secção onde trabalha, ...). O seu programa lógico deverá ser capaz de ajudar a encontrar falhas nas restrições de integridade. Exemplos de restrições de integridade são:

Nos exemplos que considerar tente incluir casos ``problemáticos'' do tipo: um ex-aluno de licenciatura (já licenciado) inscreve-se num outro curso (de mestrado, por exemplo); um funcionário que trabalhou alguns anos num departamento trabalha agora em outro; ...

Questão 3 [cães] Construa uma BC em que se registem diversos dados sobre cães -sua identificação (raça, ano de nascença, sexo, ...), alguns atributos físicos (cor, tamanho do pêlo, tipo de pelo, peso médio, tamanho, quantidade de alimentação diária, ...), atitudes comportamentais (agressividade, nervosismo, comportamento com crianças, ...). O seu programa lógico deverá ser capaz de encontrar os cães (raças) de acordo com os gostos pessoais do utilizador (pode querer um cão de guarda, de companhia, guia de cegos, para criação, ...) e compatíveis com a sua habitação (quinta, apartamento, ...).

Questão 4 [empresa] Construa uma BC em que se registe a actividade de uma determinada empresa. A dinâmica da empresa será caracterizada pelos seus clientes (número de contribuinte, nome, morada, telefone, ...), pelas encomendas (número de encomenda, data, estado, quantidade, ...), e pelos produtos (ou serviços) que fornece (código do produto, designação, preço, ...). Pretende-se que o seu pograma em lógica seja capaz de responder a questões do tipo: