Paradigmas da Programação I

Ano Lectivo: 05/06 (1º semestre)

Planeamento e Sumário das Aulas


Teóricas
(4ªfeira, 09h00-11h00)
2005/09/21
2005/09/28
2005/10/05 (FN)
2005/10/12
2005/10/19
2005/10/26
2005/11/02
2005/11/09
2005/11/16
2005/11/23
2005/11/30
2005/12/07
2005/12/14


Aula T de 2005/09/21

Tópicos:
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:
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:


Aula T de 2005/10/12

Tópicos:
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:
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:
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:
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:
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:
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:
    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:
    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:
    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:
    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