Paradigmas da Programação I

Ano Lectivo: 06/07 (1º semestre)

Planeamento e Sumário das Aulas


Teórica sessão1
(2ªfeira, 14h30-16h00)
Teórica sessão2
(5ªfeira, 13h00-14h30)
2006/09/18
2006/09/21
2006/09/25
2006/09/28
2006/10/02
2006/10/05
2006/10/09
2006/10/12
2006/10/16
2006/10/19
2006/10/23
2006/10/26
2006/10/30
2006/11/02
2006/11/06
2006/11/09
2006/11/13
2006/11/16
2006/11/20
2006/11/23
2006/11/27
2006/11/30
2006/12/04
2006/12/07
2006/12/11
2006/12/14
2006/12/18
2006/12/21


Aula T de 2006/09/18

Tópicos:
Programas Exemplo:
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).
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 devem ter captado empiricamente a noção de Predicado, Cláusula, Facto e Regra, Variável Lógica e Unificação.

Aula T de 2006/09/21

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos já devem ter reforçado e formalizado os conceitos, introduzidos empiricamente na aula anterior, de: Base de Factos e Base de Regras, Predicado, Termo, Átomo Lógico, Variável Lógica e Unificação.


Aula T de 2006/09/25

Tópicos:
Não houve aula devido às festividades de recepção ao caloiro.

Aula T de 2006/09/28

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar, teórica e experimentalmente, os conceitos introduzidos nas aulas anteriores ---Base de Factos e Base de Regras, Predicado, Termo, Átomo Lógico, Variável Lógica e Unificação--- bem como a sua aplicação à modelação de sistemas de informação. Deve ter ainda realçado a possibilidade interrogar a BC quando se descreve esse modelo em Prolog.


Aula T de 2006/10/02

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar, teórica e experimentalmente, os conceitos introduzidos nas aulas anteriores ---Base de Factos e Base de Regras, Predicado, Termo, Átomo Lógico, Variável Lógica e Unificação--- bem como a sua aplicação à modelação de sistemas de informação, ficando clara a vantagem que advém de se poder interrogar a BC quando se descreve esse modelo em Prolog.
Além disso, os alunos devem ter ficado com a noção da necessidade de recorrer a definições recursivas para explorar o espaço de procura.

Aula T de 2006/10/05

Tópicos:
Não houve aula: Feriado nacional (Implantação da República).


Aula T de 2006/10/09

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar, teórica e experimentalmente, os conceitos introduzidos nas aulas anteriores ---Base de Factos e Base de Regras, Predicado, Termo, Átomo Lógico, Variável Lógica e Unificação--- bem como a sua aplicação à modelação de sistemas de informação, ficando clara a vantagem que advém de se poder interrogar a BC quando se descreve esse modelo em Prolog.
Além disso, os alunos devem ter ficado com a noção da necessidade de recorrer a definições recursivas para explorar o espaço de procura.

Aula T de 2006/10/12

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar a aplicação da programação em Lógica à modelação de sistemas de informação, ficando clara a vantagem que advém de se poder interrogar a BC quando se descreve esse modelo em Prolog.
Além disso, os alunos devem ter visto um exemplo concreto de utilização de listas (vantagens e desvantagens).


Aula T de 2006/10/16

Tópicos:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar a aplicação da programação em Lógica à modelação de sistemas de informação, ficando clara a vantagem que advém de se poder interrogar a BC quando se descreve esse modelo em Prolog.

Aula T de 2006/10/19

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter continuado a reforçar a noção e utilização da recursividade e o conceito de lista (vantagens e desvantagens e manipulação).


Aula T de 2006/10/23

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter reforçado a noção de Lista (estrutura linear que ou é Vazia, ou tem um Elemento à Cabeça e uma Lista na Cauda) e a necessidade de recorrer a definições recursivas para implementar os algoritmos que manipulam as listas para calcular o comprimento, o somatório dos elementos e para implementar as operações de pesquisa e filtragem.

Aula T de 2006/10/26

Tópicos:
Não houve aula: Fui a Espanha participar e apresentar comunicação na conferência SIIE'06.


Aula T de 2006/10/30

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter reforçado a noção de Lista (estrutura linear que ou é Vazia, ou tem um Elemento à Cabeça e uma Lista na Cauda) e a necessidade de recorrer a definições recursivas para implementar os algoritmos que manipulam as listas para calcular o inserir um novo elemento em qualquer posição da lista, para remover um elemento, ou ainda para verificar se um valor é membro da lista. Com estes exercícios se concluiu a matéria básica sobre Lista em Prolog.

Aula T de 2006/11/02

Tópicos:
Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter aprendido o conceito de Máquina de Transição de Estados e de Autómato Determinista (formado por: um Alfabeto, ou conjunto de símbolos Terminais; um conjunto de Estados; um Estado Inicial; um conjunto de Estados Finais; e uma Função total de Transição que a cada estado e a cada Terminal associa um novo EStado). Devem depois ter aprendido a modelar MTEs com ADFs. Por fim foi apresentada a forma sistemática de implementar Autómatos em Prolog, calcular o estado que se atinge a partir de uma dados estado com uma determinada frase (sequência de Terminais do Alfabeto) e verificar se uma frase pertence á linguagem de transição gerada pelo ADF, à custa dos predicados automato/5, delta/4, caminhar/4 e aceita/2.


Aula T de 2006/11/06

Tópicos:
Resumo:
Nesta aula os alunos devem ter reforçado os conceitos de Máquina de Transição de Estados e de Autómato Determinista (formado por: um Alfabeto, ou conjunto de símbolos Terminais; um conjunto de Estados; um Estado Inicial; um conjunto de Estados Finais; e uma Função total de Transição que a cada estado e a cada Terminal associa um novo Estado). Devem depois ter aprendido a modelar MTEs com ADFs. Por fim foi apresentada a forma sistemática de implementar Autómatos em Prolog, calcular o estado que se atinge a partir de uma dados estado com uma determinada frase (sequência de Terminais do Alfabeto) e verificar se uma frase pertence á linguagem de transição gerada pelo ADF, à custa dos predicados automato/5, delta/4, caminhar/4 e aceita/2.

Aula T de 2006/11/09

Tópicos:
Resumo:
Nesta aula os alunos devem ter aprendido o conceito de Expressão Regular e reforçado a noção de Autómato Determinista (formado por: um Alfabeto, ou conjunto de símbolos Terminais; um conjunto de Estados; um Estado Inicial; um conjunto de Estados Finais; e uma Função total de Transição que a cada estado e a cada Terminal associa um novo Estado). Devem depois ter aprendido a modelar ERs com ADFs. Por fim foi apresentada a forma sistemática de implementar Autómatos em Prolog, calcular o estado que se atinge a partir de uma dados estado com uma determinada frase (sequência de Terminais do Alfabeto) e verificar se uma frase pertence á linguagem de transição gerada pelo ADF, à custa dos predicados automato/5, delta/4, caminhar/4 e aceita/2.


Aula T de 2006/11/13

Tópicos:
Resumo:
Nesta aula os alunos devem ter reforçado o conceito de Expressão Regular (foi apresentada a sua definição formal a partir de um Alfabeto--conjunto de vocábulos ou símbolos terminais--dado) e voltado a exercitar o processo (informal) de conversão para um Autómato Determinista, o qual irá modelar a ER e permitir implementar um Reconhecedor eficiente para as frases da Linguagem gerada pela ER.
Por fim devem ter recorrido ao esqueleto de programa Prolog standard---construído numa das aulas anteriores à custa dos predicados automato/5, delta/4, caminhar/4 e aceita/2---para implementar o ADF concreto e criar um Reconhecedor de Números Reais.

Aula T de 2006/11/16

Tópicos:
Resumo:
Nesta aula os alunos devem ter reforçado o conceito de Expressão Regular e voltado a exercitar o processo (informal) de conversão para um Autómato Determinista, tendo, então, recorrido ao esqueleto de programa Prolog standard---construído numa das aulas anteriores à custa dos predicados automato/5, delta/4, caminhar/4 e aceita/2---para implementar o ADF concreto e criar um Reconhecedor de Identificadores que aceite maiúsculas e minúsculas.
Após terem repetido o mesmo processo para reconhecer um conjunto de comandos para a interface do SC da ODume, discutiu-se como expandir o Autómato Determinista de modo a incluir no modelo a descrição de Acções a executar durante as transições (no caso concreto, as acções a incluir deveriam invocar a função correspondente a cada uma das opções, ou comandos, válidos). Introduziu-se desta forma a noção de Autómato Determinista Reactivo (ADR) e a definição de função de Reacção "alfa".
Para reforçar a ideia apresentada, propôs-se no fim da aula, um novo exercício que consistiu em modelar um sistema de controlo que, após ser ligado e até ser desligado, detecte a ocorrência de 3 tipos de sinais distintos e sinalize o facto, contando o número de ocorrências de um desses sinais.


Aula T de 2006/11/20

Tópicos:
Resumo:
Nesta aula os grupos foram convidados a apresentar ao docente e à turma a solução desenvolvida para resolver o 1ºTP, um de cada tipo, tendo-se depois procedido à discussão alarga da proposta, comparando-a com as soluções dos restantes grupos que escolheram o mesmo problema.

Aula T de 2006/11/23

Tópicos:
Ficha de Exercícios e Programas Exemplo:
Resumo:
Nesta aula os alunos devem ter reforçado o conceito de Expressão Regular e voltado a exercitar o processo (informal) de conversão para um Autómato Determinista, tendo, então, recorrido ao esqueleto de programa Prolog standard---construído numa das aulas anteriores à custa dos predicados automato/5, delta/4, caminhar/4 e aceita/2---para implementar o ADF concreto e criar um Reconhecedor de um protocolo de teste para placas de vídeo.
Depois acrescentaram-se acções semânticas de forma a obter-se um Autómato Determinista Reactivo (ADR) que foi implementado em Prolog, como se mostra no exemplo anexado acima.


Aula T de 2006/11/27

Tópicos:
Resumo:
Nesta aula os alunos devem ter formalizado o conceito de Autómato Reactivo e percebido como este se modela em Prolog.
Devem também ter captado a construção do esqueleto de programa Prolog standard (por adaptação do esqueleto construído numa das aulas anteriores para os ADs) ---à custa dos predicados automato/7, deltalfa/5, accaoSem/1, caminharExec/4 e processa/2---para implementar o AR concreto e criar um Processador de um protocolo de teste para placas de vídeo.

Aula T de 2006/11/30

Tópicos:
Resumo:
Esta aula teve dois momentos distintos.
No primeiro trabalhou-se mais um exemplo --parquímetro para compra de tempo num lugar de estacionamento-- de modelação de Máquinas de Transição de Estados com Autómatos Reactivos e sua implementação / simulação em Prolog.
No segundo momento, os grupos foram convidados a apresentar ao docente e à turma a solução desenvolvida para resolver o 2ºTP, tendo-se depois procedido à discussão alargada da proposta, comparando-a com as soluções dos restantes grupos que escolheram o mesmo problema; só houve tempo para discutir o Jogo da Forca.


Aula T de 2006/12/04

Tópicos:
Resumo:
Nesta aula os grupos que faltavam foram convidados a apresentar ao docente e à turma a solução desenvolvida para resolver o 2ºTP, tendo-se depois procedido à discussão alargada da proposta com os restantes grupos; discutiu-se o Sudoko e o Jogo dos Saltos de Cavalo.
Para concluir a aula, analisaram-se os enunciados dos demais jogos (não implementados por nenhum grupo) e discutiu-se ao detalhe o Jogo das Torres de Hanoi, o qual foi depois implementado e testado.

Aula T de 2006/12/07

Tópicos:
Resumo:
Nesta aula os alunos devem ter reforçado o conceito formal de Autómato Reactivo e percebido como este se modela em Prolog.
Devem também ter captado o paralelismo entre o protótipo numa linguagem declarativa como o Prolog e sua implementação imperativa em Assembly.


Aula T de 2006/12/11

Tópicos:
Resumo:
Nesta aula analisou-se o enunciado do jogo e começou a discutir-se ao detalhe o Jogo do Master-Mind.

Aula T de 2006/12/14

Tópicos:
Tópicos:
Programas Exemplo:
Resumo:
Nesta aula analisou-se o enunciado do jogo e continuou-se a discutir ao detalhe o Jogo do Master-Mind, tendo-se terminado a sua implementação (como se vê no ficheiro anexado acima).


Aula T de 2006/12/18

Tópicos:
Resumo:
Nesta aula os alunos devem ter reforçado o conceito formal de Autómato Reactivo e percebido como este se modela em Prolog.
Devem também ter captado o paralelismo entre o protótipo numa linguagem declarativa como o Prolog e sua implementação imperativa em Assembly.

Aula T de 2006/12/21

Tópicos:
Resumo:
Nesta aula os grupos foram convidados a apresentar ao docente e à turma a solução desenvolvida para resolver o 3ºTP.

author: prh@di.uminho.pt
Last modified: domingo, Fevereiro 25, 2007 at 07:47