Paradigmas da Programação I
Ano Lectivo: 04/05 (1º semestre)
Escola de Engenharia
Universidade do Minho
AVISOS
Apresentação
-
Cursos a que é leccionada:
- Engenharia de Comunicações -- 2º ano ()
-
Escolaridade:
- 2 + 0 + 0
-
Responsável:
- Pedro Rangel Henriques
-
Equipe Docente:
- Pedro Rangel Henriques [prh@di.uminho.pt] (1 + 0 + 0)
Obs: é
indicado o número de turmas de cada tipo de aula que cada docente lecciona.
-
Estrutura de Funcionamento:
-
Exposição da matéria fundamental
---motivação, conceitos, definições, métodos e justificações---
e resolução dos exercícios de consolidação, no quadro e no computador
a nível das aulas teóricas.
Realização, fora das aulas, de trabalhos concretos de
aplicação no computador, em ambiente Windows ou Linux, recorrendo à ferramenta SWI-Prolog.
-
Objectivos:
-
É objectivo deste curso levar os alunos a:
-
Aprofundar e interiorizar os conceitos de programação declarativa,
mais concretamente segundo o paradigma lógico
-
Dominar o uso de predicados (cláusulas de Horn), unificação e recursividade na resolução de problemas
-
Estudar a implementação de estruturas de dados lineares e não-lineares
e respectivos algoritmos de manuseamento em Programação Lógica
e, ainda, tornar os alunos aptos a desenvolver correcta e eficientemente programas
na linguagem Prolog.
Avaliação
-
Critério:
-
A Avaliação tem uma componente teórica
e uma componente prática ambas obrigatórias.
-
De acordo com o regulamento actualmente em vigor na UM, a
nota teórica será obtida através da realização
de 1 prova individual escrita. Essa prova tem as instâncias a seguir
indicadas (um aluno só poderá fazer melhoria na época
de recurso):
-
Exame, realizado na 1ª ou 2ª chamadas da época normal,
no fim do semestre
-
Exame, realizado na época de recurso, agora também no fim do semestre
A nota prática será obtida através da
realização de 2 fichas práticas que serão resolvidas ao longo do semestre, extra-aulas e em grupo de 2 ou 3 alunos,
sendo o resultado de cada trabalho apresentado ao docente, para ser discutido em frente ao computador
em datas a combinar com os alunos. Recorda-se que é obrigatória a presença de todos os elementos do grupo aquando da
apresentação ao docente.
Cada Ficha Prática será classificada
de acordo com os seguintes escalões:
Escalão |
Nota
|
Não Entregue
|
0
|
Não Satisfaz
|
7
|
Satisfaz no Mínimo
|
10
|
Satisfaz
|
13
|
Bom
|
16
|
Muito Bom
|
19
|
A nota final será determinada de acordo
com a seguinte fórmula:
NotaFinal = NotaTeorica * 0.60 + NotaPratica * 0.40
Exige-se 8 valores como nota mínima em cada uma das partes.
Trabalhos Práticos
Para fazer o download das Fichas de Trabalho propostas, clique abaixo:
Para fazer a inscrição dos grupos e a submissão das Fichas e TPs, siga o link abaixo:
Exames
Para fazer o download (do ficheiro PDF) do enunciado dos Exames deste ano, clique abaixo:
Para aceder à pauta final com todas as Notas, clique abaixo:
Conteúdo Programático
-
Programa detalhado:
- 1. Introdução à disciplina:
- Reflexão sobre os conceitos fundamentais
relacionados com a resolução de problemas por computador e sobre os paradigmas
de programação
- 2. Introdução à Programação Lógica:
- 2.1 Caracterização do paradigma lógico
- 2.2 Definições básicas: predicados, termos e cláusulas
- 2.3 Unificação
- 2.4 Árvore de Prova e Árvore de Procura
- 2.5 Estratégias de pesquisa e ``Backtracking''
- 2.6 Explicação Operacional dos predicados de controlo
- 3. Uso do Sistema Prolog:
- 3.1 Interacção com o exterior, leitura e escrita
- 3.2 Constatação das propriedades fundamentais dum Sistema de Prova
(máquina de inferência)
- 3.3 Predicados pré-definidos
- 4. Estruturas de Dados recursivas:
- 5. Gramáticas e tratamento de linguagens:
- Uso de DCGs para resolução de problemas de Reconhecimento de frases com Tradução ou Interpretação
- 6. Sistemas Periciais
Bibliografia
-
Material bibliográfico proposto para apoio ao curso:
- [Tor,00] Delfim Torres, "Introdução a Programação em Lógica", versão 1.0, Dep. de Matemática, Univ. de Aveiro, 2000
- [Der,86] Pierre Deransart, "Initiation à Prolog", Univ. Orleans, 1986
- [CM,81] W.F. Clocksin & C.S. Mellish, "Programming in Prolog", Springer-Verlag, 1981
- [SS,86] Leon Sterling & E. Shapiro, "The Art of Prolog", MIT-Press, 1986
- [Bra,90] Ivan Bratko, "Prolog: programming for Artificial Intelligence", Addison Wesley, 1990
- [Wie,99] Jan Wielemaker, "SWI-Prolog 3.3: Reference Manual", Univ. Amsterdam, Nov. 1999
Notas Pedagógicas e Material de Apoio Diverso
De momento e para além do material bibliográfico recomendado, encontram-se disponíveis
os seguintes elementos:
... e a seguinte documentação diversa de apoio:
Avisos Importantes
- (2005.02.17)
-
Publicada a pauta final.
Todos os alunos que tem a nota final alterada por influencia da avaliação dos TPs devem inscrever-se em "melhoria" para a nota ser publicada.
- (2005.02.09)
-
Data para Exame de Recurso (2ªÉpoca): 15 de Fevereiro as 14h30 (Azurém)
- (2005.02.09)
-
Data para Entrega Final dos TPs: 14 de Fevereiro as 16h30 (Azurém)
- (2005.02.09)
-
Quase todos os alunos estão aprovados na parte escrita (Nota maior ou igual 8valores) mas devem inscrever-se para a època de Recurso para eu poder lançar a Nota dos TPs.
- (2005.02.09)
-
A pauta com as notas da 1ª Época está entregue no SAUM e publicada na Rubrica "Exames" acima
- (2004.12.18)
-
Os sumários estão todos escritos e publicados.
- (2004.12.18)
- ATENÇÃO:
Ficou combinado uma aula Teórica extra (para substituição dos feriados de Dezembro) na 3ªf, 4-Janeiro-2005, às 14h
- (2004.12.14)
- ATENÇÃO:
A Entrega (para avalição final) dos 2 Trabalhos Práticos ficou agendada para 2ªf, 10-Janeiro-2005, às 14h
(data da 1ª chamada do exame escrito).
- (2004.11.29)
- Na rubrica "Trabalhos Práticos", desta mesma página, está disponível o enunciado do 2ºTP que os alunos devem realizar, em grupo, até ao final das aulas deste semestre.
- (2004.11.14)
- Os alunos devem carregar a resolução das primeiras fichas de trabalho propostas nas semanas anteriores, através do sistema de entrega de trabalhos disponível no URL indicado acima (ver rubrica "Trabalhos Práticos").
- (2004.11.14)
- Na rubrica "Trabalhos Práticos", desta mesma página, está disponível o enunciado do 1ºTP que os alunos devem realizar, em grupo, dentro dos próximos 15 dias.
- (2004.11.02)
- Recordo que amanhã não darei aula por ir participar com comunicação na 5ªCAPSI (em Lisboa).
Os alunos deverão ir na mesma à aula e usar as 2horas lectivas para resolver todos os exercícios propostos, os quais terão de me entregar individualmente na próxima semana para efeitos de avaliação contínua obrigatória!
- (2004.11.02)
- Acabo de actualizar o sumário da aula da semana passada, incluindo um novo ficheiro com um programa Prolog
complementar ao anterior (ainda sobre o modelo do SI de gestão das partidas/chegadas dos comboios) e a proposta de mais 2 exercícios.
- (2004.10.27)
- De acordo com o aviso abaixo, os Alunos devem baixar de novo o ficheiro de trabalho anexo ao
sumário da 5ªaula, juntar os predicados já resolvidos na aula desta manhã e resolver os outros
exercícios propostos de modo a poderem entregar-me de hoje a 15dias a ficha toda resolvida.
Na próxima semana anexarei mais 1 ficha de problemas ao sumário da 6ªaula (para resolução no mesmo período).
- (2004.10.27)
- O ficheiro com o programa-exemplo em Prolog, associado à 5ªaula (de 2004.10.20), já foi
actualizado (de modo a resolver a troca detectada esta manhã).
-->
author: prh@di.uminho.pt;
Last modified: 17 de Fevereiro de 2005