Paradigmas da Programa��o I
Ano Lectivo: 05/06 (1º semestre)
Planeamento e Sum�rio das Aulas
Aula T de 2005/09/21
T�picos:
- Apresenta��o geral da disciplina:
- Objectivos e Funcionamento;
- Avalia��o e Trabalhos pr�ticos;
- Programa e Bibliografia
Resumo:
Os alunos foram avisados sobre a obrigatoriedade de fazerem as 2 Fichas Pr�ticas que ser�o propostas ao longo do semestre
e sobre a import�ncia de lerem toda a informa��o b�sica sobre a Disciplina,
atrav�s da P�gina WWW.
Quanto ao principal objectivo, foi clarificado que n�o se tratava de um curso para ensinar apenas a usar a linguagem de programa��o
Prolog, mas que era essencialmente destinado a levar os alunos a compreender a import�ncia da no��o de paradigma de programa��o
na resolu��o de um problema por computador, dando-se especial �nfase ao paradigma declarativo l�gico (relacional).
Aula T de 2005/09/28
T�picos:
- Introdu��o � Programa��o em L�gica e ao Prolog:
- Problemas e Programa��o
- Linguagens de Programa��o e paradigmas; imperativo versus declarativo; monol�tico versus modular e orientado aos objectos.
- Bases do paradigma declarativo l�gico, uma abordagem relacional.
- No��o de "Universo de Discurso" com suas "Entidades" ("seres", ou "classes de coisas" caracterizadas por propriedades) e respectivos "Relacionamentos"
- Introdu��o informal ao conceito de predicado, termo e cl�usula; exemplos.
Programas Exemplo:
Resumo:
Nesta aula os alunos j� devem ter adquirido a sensibilidade para distinguir o paradigma imperativo do paradigma declarativo
e devem ter-se apercebido da diferen�a entre executar no SO um programa compilado, ou interpretar num ambiente de programa��o um programa declarativo.
Al�m disso � pressuposto que os alunos tenham ficado a saber que um programa pode ser apenas uma Base de Factos, mas que
s� tem realmente interesse quando se lhe junta uma Base de Regras de Infer�ncia.
Finalmente devem ter captado empiricamente a no��o de Vari�vel L�gica e de Unifica��o.
Aula T de 2005/10/05
T�picos:
- N�o houve aula: feriado nacional (Implanta��o da Rep�blica)
Aula T de 2005/10/12
T�picos:
- Introdu��o � Programa��o em L�gica e ao Prolog:
- Refor�o de todos os conceitos fundamentais introduzidos na aula anterior:
- Problemas e Programa��o
- Bases do paradigma declarativo l�gico, uma abordagem relacional.
- No��o de "Universo de Discurso" com suas "Entidades" ("seres", ou "classes de coisas" caracterizadas por propriedades) e respectivos "Relacionamentos"
- Defini��o formal de Programa L�gico (sequ�ncia de Cl�usulas de Horn) e dos seus elementos b�sicos:
cabe�a e corpo da cl�usula; factos e regras; �tomo l�gico; predicado (com nome e argumentos); e termo (constante, vari�vel e termos estruturados com functores).
- Introdu��o ao uso da recursividade na defini��o de regras de infer�ncia.
Programas Exemplo:
Resumo:
Foi objectivo desta aula refor�ar todos os conceitos b�sicos das aulas anteriores para garantir que
os alunos tenham ficado a saber que um programa � um conjunto (na realidade, sequ�ncia) de Cl�usulas de Horn
e pode ser apenas uma Base de Factos ou ainda conter uma Base de Regras de Infer�ncia.
Devem, ainda, ter captado a no��o de Vari�vel L�gica e de Unifica��o.
Nesta aula tamb�m se introduziu o uso da recursividade no corpo
das regras de dedu��o para inferir conhecimento n�o directo.
Para concretizar as defini��es e empregar a recursividade, construiu-se na aula,
com a ajuda de toda a turma, uma base de conhecimento que respresentava a estrutura hier�rquica (taxonomia) de
uma Institui��o.
Aula T de 2005/10/19
T�picos:
- Introdu��o � Programa��o em L�gica e ao Prolog:
- Refor�o de todos os conceitos fundamentais introduzidos na aula anterior:
- Problemas e Programa��o
- Bases do paradigma declarativo l�gico, uma abordagem relacional.
- No��o de "Universo de Discurso" com suas "Entidades" ("seres", ou "classes de coisas" caracterizadas por propriedades) e respectivos "Relacionamentos"
- Defini��o formal de Programa L�gico (sequ�ncia de Cl�usulas de Horn) e dos seus elementos b�sicos:
cabe�a e corpo da cl�usula; factos e regras; �tomo l�gico; predicado (com nome e argumentos); e termo (constante, vari�vel e termos estruturados com functores).
- Uso da recursividade na defini��o de regras de infer�ncia.
Programas Exemplo:
Resumo:
Foi objectivo desta aula refor�ar todos os conceitos b�sicos das aulas anteriores para garantir que
os alunos tenham ficado a saber que um programa � um conjunto (na realidade, sequ�ncia) de Cl�usulas de Horn
e pode ser apenas uma Base de Factos ou ainda conter uma Base de Regras de Infer�ncia.
Devem, ainda, ter refor�ado a no��o de Vari�vel L�gica, de Unifica��o e de Backtracking.
Aula T de 2005/10/26
T�picos:
- Programa��o L�gica (continua��o da aprendizagem):
- Refor�o de todos os conceitos fundamentais introduzidos na aula anterior:
- Modela��o de um sistema em L�gica, usando predicados e termos, factos e regras, para descrever todo o conhecimento
sobre o Universo de Discurso que permitir� encontrar as respostas desejadas.
Exerc�cios Complementares propostos:
Os alunos foram incentivados a usar o tempo lectivo para acabar todos os exerc�cios propostos nas aulas anteriores,
de modo a procederem � sua entrega individual na pr�xima semana.
Resumo:
N�o dei aula para ir a Bragan�a participar (com comunica��o) na 6�CAPSI.
Aula T de 2005/11/02
T�picos:
- Introdu��o � Programa��o em L�gica e ao Prolog:
- Refor�o de todos os conceitos fundamentais introduzidos nas aulas anteriores.
- Sistematiza��o dos Tipos de Dados em Prolog: Valores At�micos (num�ricos, palavras, booleanos, strings);
Valores Estruturados (tuplos ou agrega��es-Functores, Listas).
- Defini��o formal de Listas; sua sintaxe e manipula��o.
- Apresenta��o do 1� Trabalho Pr�tico (ver enunciado, LaTeX e PDF na r�brica respectiva da P�gina WWW da disciplina).
- Modela��o do Teclado Inteligente --visto como uma M�quina de Transi��o de Estados--
atrav�s de um Aut�mato Determinista.t
Programas Exemplo:
Resumo:
A primeira desta aula foi dedicada a refor�ar todos os conceitos b�sicos das aulas anteriores para garantir que
os alunos tenham ficado a saber que um programa � um conjunto (na realidade, sequ�ncia) de Cl�usulas de Horn
e pode ser apenas uma Base de Factos ou ainda conter uma Base de Regras de Infer�ncia.
Devem, ainda, ter refor�ado a no��o de Vari�vel L�gica, de Unifica��o e de Backtracking.
Fez-se, ainda nesa primeira parte, a sistematiza��o de todos os tipos de dados que podem aparecer em Prolog
de modo a refor�ar o conceito de Functor para implementar a no��o de valor agregado (tuplo)
e a introduzir o conceito de Lista e a sua defini��o (formal) recursiva.
Na segunda parte da aula, apresentou-se o Trabalho Pr�tica nu� 1 e Introduziu-se o conceito de
M�quina de Transi��o de Estados e sua Modela��o como um Aut�mato Determinista.
Aula T de 2005/11/09
T�picos:
- Introdu��o � Programa��o em L�gica e ao Prolog:
- Refor�o de todos os conceitos fundamentais introduzidos nas aulas anteriores.
- Modela��o de um sistema em L�gica, usando predicados e termos, factos e regras, para descrever todo o conhecimento
sobre o Universo de Discurso que permitir� encontrar as respostas desejadas.
- Sistematiza��o dos Tipos de Dados em Prolog: Valores At�micos (num�ricos, palavras, booleanos, strings);
Valores Estruturados (tuplos ou agrega��es - Functores, Listas).
- Defini��o formal de Listas; sua sintaxe e manipula��o.
- Discuss�o da resolu��o do 1� Trabalho Pr�tico, proposto na aula anterior:
Modela��o do Teclado Inteligente e do Sistema de Informa��o, que o suporta, sobre alunos e exames.
Exerc�cios Complementares propostos:
Os alunos foram incentivados a usar o tempo lectivo para acabar todos os exerc�cios propostos nas aulas anteriores,
nomeadamento o Trabalho Pr�tico de modo a procederem � sua entrega na pr�xima semana.
Resumo:
N�o dei aula para ir a �vora participar num J�ri de Equival�ncia ao grau de Doutor.
Aula T de 2005/11/16
T�picos:
- Introdu��o � Programa��o em L�gica e ao Prolog:
- Sistematiza��o dos Tipos de Dados em Prolog: Valores At�micos (num�ricos, palavras, booleanos, strings);
Valores Estruturados (tuplos ou agrega��es-Functores, Listas).
- Manipula��o (formal) recursiva de Listas --comprimento, somat�rio e membro--
versus manipula��o de Tuplos.
- Modela��o de um sistema em L�gica, usando predicados e termos, factos e regras, para descrever todo o conhecimento
sobre o Universo de Discurso que permitir� encontrar as respostas desejadas.
- Discuss�o da resolu��o (efectuada pelos v�rios grupos) do 1� Trabalho Pr�tico:
Modela��o do Sistema de Informa��o que o suporta (alunos, exames e notas).
- Proposta de uma ficha de exerc�cios sobre o uso de Aut�matos Deterministas Reactivos para modelar
sistema do tipo M�quina de Transi��o de Estados.
Exerc�cios Complementares propostos:
Os alunos foram incentivados a praticar a manipula��o de Listas escrevendo mais 2 predicados semelhantes aos da aula:
dobro e maximo, tendo para isso sido fornecido o ficheiro de base
Predicados para Manipula��o de Listas
Quanto ao Trabalho Pr�tico foi recordado que faltava modelar a componente do Teclado para terminar
o problema antes de finalizar a sua entrega.
Para trabalhar a modela��o de sistema via ADR foi proposta a
Ficha de Exerc�cios sobre Aut�matos Deterministas Reactivos
Resumo:
A aula teve tr�s momentos distintos.
No primeiro viu-se a resolu��o do 1� TP (componente do SI de suporte) efectuada por um dos grupos,
discutiu-se a abordagem e comparou-se com a resolu��o proposta pelos outros grupos.
Depois discutiu-se detalhadamente o conceito de Lista e sua defini��o recursiva, tendo-se escrito
os predicados que implementam algumas das opera��es cl�ssicas b�sicas sobre Listas.
Por fim falou-se da import�ncia dos Aut�matos Deterministas Reactivos para modelar sistemas (f�sicos
ou programas) que se comportam como MTE's.
Aula T de 2005/11/23
T�picos:
- Introdu��o � Programa��o em L�gica e ao Prolog:
- Manipula��o (formal) recursiva de Listas; continua��o: comprimentoListaListas, dobro e maximo.
- Modela��o de um sistema em L�gica, usando predicados e termos, factos e regras, para descrever todo o conhecimento
sobre o Universo de Discurso que permitir� encontrar as respostas desejadas.
- Resolu��o da ficha de exerc�cios,
proposta na aula anterior, sobre o uso de Aut�matos Deterministas Reactivos para modelar
sistema do tipo M�quina de Transi��o de Estados.
Exerc�cios Complementares propostos:
Os alunos foram incentivados a praticar a manipula��o de Listas escrevendo mais 2 predicados semelhantes aos da aula:
interseccao e uniao de conjuntos, tendo para isso sido fornecido o ficheiro de base
Predicados para Manipula��o de Listas
Para trabalhar a modela��o de sistemas via AD's,
iniciada nesta aula com a resolu��o do Problema 1.1,
� aqui fornecido o ficheiro de base
Predicados
para implementa��o de Aut�matos Deterministas
Resumo:
A aula teve dois momentos distintos.
No primeiro discutiu-se detalhadamente o conceito de Lista e sua defini��o recursiva, tendo-se escrito
os predicados que implementam algumas das opera��es cl�ssicas b�sicas sobre Listas.
No segundo falou-se da forma gen�rica de definir um Aut�mato Determinista
em Prolog (predicados automato e delta) e concretizou-se
com a defini��o do AD para o problema 1.1 da ficha de exerc�cios proposta.
Foi ainda referida a necessidade de implementar um predicado caminhar que receba como argumentos de
entrada um AD, um estado e uma frase (sequ�ncia de s�mbolos terminais
do vocabul�rio) e determine o
estado de chegada percorrendo um caminho no aut�mato determinado pela sua
fun��o de transi��o delta.
Aula T de 2005/11/30
T�picos:
- Modela��o de um sistema em L�gica, usando predicados e termos, factos e regras, para descrever todo o conhecimento
sobre o Universo de Discurso que permitir� encontrar as respostas desejadas.
- Resolu��o da ficha de exerc�cios,
proposta na aula anterior, sobre o uso de Aut�matos Deterministas Reactivos para modelar
sistema do tipo M�quina de Transi��o de Estados.
Exerc�cios Complementares propostos:
Para trabalhar a modela��o de sistema via ADR, concluida nesta aula com a
resolu��o do Problema 1.1,
� aqui fornecido o ficheiro de base
Predicados
para implementa��o de Aut�matos Deterministas Reactivos
Resumo:
A aula teve dois momentos distintos.
No primeiro conclui-se a modela��o em Prolog de
um Aut�mato Determinista (aplicado ao problema 1.1) com o desenvolvimento
de um predicado aceita que verifica se uma frase pertence
� linguagem definida pelo Aut�mato.
No segundo falou-se da forma gen�rica de definir um Aut�mato Determinista
Reactivo em Prolog
(predicados automato, deltalalfa e accaoSem) e
concretizou-se com a defini��o do ADR para
o mesmo problema 1.1 da ficha de exerc�cios proposta.
Foi ainda implementado um predicado caminharExec
que receba como argumentos de
entrada um ADR, um estado e uma frase (sequ�ncia de s�mbolos terminais do vocabul�rio)
e determine o
estado de chegada percorrendo um caminho no aut�mato determinado pela
sua fun��o de transi��o deltaalfa.
Para produzir a reac��o desejada, esse predicado caminharExec
ter� de ir executando as ac��es sem�nticas
associadas pela fun��o alfa �s transi��es.
Adaptou-se o predicado aceita para obter um predicado processa
que al�m de verificar a correc��o sintc�tica da frase, realiza a sequ�ncia
de ac��es que conduz ao tratamento pretendido para a frase de entrada.
Aula T de 2005/12/07
T�picos:
- Modela��o de um sistema em L�gica, usando predicados e termos, factos e regras, para descrever todo o conhecimento
sobre o Universo de Discurso que permitir� encontrar as respostas desejadas.
- Continua��o da Resolu��o da ficha de exerc�cios,
proposta na aula anterior, sobre o uso de Aut�matos Deterministas Reactivos para modelar
sistema do tipo M�quina de Transi��o de Estados.
Exerc�cios Complementares propostos:
Para trabalhar a modela��o de sistema via ADR, concluida nesta aula com a
resolu��o do Problema 1.2,
� aqui fornecido o ficheiro de base
Predicados
para implementa��o de Aut�matos Deterministas Reactivos
Resumo:
Nesta aula recapitulou-se tudo que foi dito na aula anterior sobre
a forma gen�rica de definir um Aut�mato Determinista
Reactivo em Prolog
(predicados automato, deltalalfa, accaoSem, caminharExec e processa) e
refor�ou-se a sua concretiza��o pr�tica, desta vez com a defini��o do ADR para
o problema 1.2 da ficha de exerc�cios proposta.
Aula T de 2005/12/14
T�picos:
- Programa��o em L�gica:
- Discussao do TP1 com cada grupo de trabalho para avalia��o.
Resumo:
Nesta aula foram avaliados os Trabalhos Pr�ticos (1�fase) e teceram-se comet�rios
a cada grupo no sentido de identificar as qualidades e os defeitos.
Foi definida a data para entrega final do TP2 e esclarecidas algumas d�vidas dos alunos.
author: prh@di.uminho.pt;
Last modified: 14 de Dezembro de 2005