Paradigmas da Programação II
Ano Lectivo: 03/04 (2º semestre)
Sumário das Aulas Teórico-Práticas (TP1/TP2-LMCC)
Docente: Pedro Rangel Henriques (406012)
Aula TP de 2004/03/02 e 2004/03/03
Tópicos:
-
Introdução: os paradigmas da programação, a disciplina e a componente prática, objectivos e esquema de funcionamento;
-
As diferenças básicas entre o paradigma imperativo e o declarativo: a necessidade de ter em consideração o modelo de
funcionamento do processador e o seu diagrama de blocos; a importância de escrever cada operação, ou instrução de controlo,
na sequência correcta; a necessidade de tratar explicitamente as acções de Input (leituras) e de Output (escritas);
-
Interpretadores versus Compiladores; O Linux (e o modo de trabalho em linha de comando) e o compilador de C -- filosofia geral deste SO e desta Linguagem de Programação;
-
Resolução e Codificação em C de problemas da Ficha TP n.º 1:
- Exercício 1, "O Maior de 2 números".
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Ler e Escrever Inteiros de/para o "stdin"/"stdout";
- Escolher o Maior e Controlar a execução de um programa com uma Condição IF THEN ELSE.
Aula TP de 2004/03/09 e 2004/03/10
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo introduzidos na última aula:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
a importância de escrever cada operação, ou instrução de controlo, na sequência correcta;
a necessidade de tratar explicitamente as acções de Input (leituras) e de Output (escritas);
-
Introdução à modularidade do código, usando funções auxiliares, invocadas da função principal, main()
-
Resolução e Codificação em C de problemas da Ficha TP n.º 2:
- Exercício 2, "O Maior Divisor Comum entre 2 números dados".
- Exercício 4, "Verificar se um número dado é Primo".
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Ler e Escrever Inteiros de/para o "stdin"/"stdout";
- Escolher o Maior, o Menor, Verificar se um Número é divisor de outro e Controlar a execução de um programa com uma Ciclo WHILE.
Aula TP de 2004/03/16 e 2004/03/17
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo introduzidos na última aula:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
a execução sequencial de cada operação e
a semântica operacional das instruções de controlo de fluxo (condicional e repetitiva);
variáveis e memória (organização) -- noção de "array"
-
Introdução ao uso de "arrays" e ao conceito de "string" (implementação em array e seu manuseamento)
-
Resolução e Codificação em C de problemas da Ficha TP n.º 3:
- Exercício 1, "Média, Máximo, Mínimo e Maiores que a média" (TP2).
- Exercício 4 (início), "Codificador/Descodificador" (TP1).
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Ler e Escrever Inteiros de/para o "stdin"/"stdout";
- Armazenar inteiros ou caracteres num array e manuseá-los nessa forma
Aula TP de 2004/03/23 e 2004/03/24
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização) -- noção de "array"
-
Introdução ao uso de "arrays" e ao conceito de "string" (implementação em array e seu manuseamento)
-
Resolução e Codificação em C de problemas da Ficha TP n.º 3:
- Exercício 1, "Média, Máximo, Mínimo e Maiores/Menores que a média" (conclusão).
- Exercício 2, "Verificar se uma string é Capicua".
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Ler e Escrever Inteiros de/para o "stdin"/"stdout";
- Armazenar inteiros ou caracteres num array e manuseá-los nessa forma
Aula TP de 2004/03/30 e 2004/03/31
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays" e "strings" (implementação em array e seu manuseamento)
-
Resolução e Codificação em C de problemas das Fichas TP n.º 3 e 4:
- Exercício 3, "Converter um número em notação romana para notação árabe".
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Ler e Escrever Inteiros de/para outros ficheiros além do "stdin"/"stdout";
- Armazenar inteiros ou caracteres num array e manuseá-los nessa forma
Aula TP de 2004/04/06 e 2004/04/07
Tópicos:
(aulas de substituição dadas por JCR)
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays", "strings" e "structures"
-
Exploração dos algoritmos de ordenação
-
Resolução e Codificação em C de problemas das Fichas TP n.º 4 e 5:
- Exercício 1, "Criação de uma estrutura e ordenação em array".
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Ler e Escrever Inteiros de/para o ficheiros;
- Armazenar estruturas num array e manuseá-los nessa forma
Aula TP de 2004/04/14
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays", "strings" e "structures"
-
Exploração dos algoritmos de ordenação, com especial incidência na inserção ordenada
-
Resolução e Codificação em C de problemas da Ficha TP n.º 6:
- Exercício 1, "Criação de uma estrutura e Inserção ordenada".
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Ler e Escrever Inteiros de/para o ficheiros;
- Armazenar estruturas num array e manuseá-los nessa forma
Aula TP de 2004/04/20 e 2004/04/21
Não dei aulas por causa das Jornadas de Informática, JOIN'2004
Aula TP de 2004/04/27 e 2004/04/28
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays", "strings" e "structures"
-
-
Resolução e Codificação em C de problemas da Ficha TP n.º 7:
- Exercício 1, "Operações (adição e derivação) de Polinómios" -- versão 1: uso de arrays com o expoente a coincidir com o índice
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Armazenar estruturas num array e manuseá-los nessa forma
Aula TP de 2004/05/04 e 2004/05/05
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays", "strings" e "structures"
-
Introdução ao conceito de "Lista Ligada", uso e implementação (em array)
-
-
Resolução e Codificação em C de problemas da Ficha TP n.º 7:
- Exercício 1, "Operações (adição e derivação) de Polinómios" -- versão 2: uso de Lista Ligada de monómios ordenados por ordem decrescente de expoente, implementada em array
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Armazenar estruturas em listas ligadas com o apontador a ser implementado como índice dum array de posições livres
- Manipular iterativa e recursivamente Listas Ligadas e fazer o seu "merge"
Aula TP de 2004/05/18 e 2004/05/19
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays", "strings", "structures" e "unions"
-
Introdução ao conceito de "Lista Ligada", uso e implementação Dinâmica
-
-
Resolução e Codificação em C de problemas da Ficha TP n.º 8/9:
- Exercício 1, "Listagem Alfabética das letras que ocorrem numa Frase dada" -- uso de Lista Ligada Dinâmica de letras e respectivo contador de ocorrências: inserção e listagem
- Exercício 2, "Caminho para encontrar a Saída de um Labirinto" -- discussão da estrutura de dados para armazenar
a configuração e o caminho percorrido e esboço do algoritmo principal
- Exercício 3, "Agenda de Contactos com entradas simples e de grupo" -- discussão da estrutura de dados para armazenar a informação com as variantes pedidas
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Armazenar estruturas em listas ligadas com o apontador a ser alocado dinamicamente na Heap
- Manipular recursivamente Listas Ligadas
- Usar estruturas variáveis (uniões)
Aula TP de 2004/05/25 e 2004/05/26
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays", "strings", "structures" e "unions"
-
Reforço do conceito de "Lista Ligada", uso e implementação Dinâmica
-
-
Resolução e Codificação em C de problemas da Ficha TP n.º 10:
- Exercício 2, "Gestão de Utilizadores de um sistema: validação do Username e Password" -- uso de uma Árvore Binária
de Procura -- inserção, pesquisa e travessias pré-, pós- e in-fix.
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Armazenar estruturas em listas ligadas com o apontador a ser alocado dinamicamente na Heap
- Manipular recursivamente Árvores Binárias
Aula TP de 2004/06/01 e 2004/06/02
Tópicos:
-
Reforço dos conceitos básicos sobre o paradigma imperativo:
a necessidade de ter em consideração o modelo de funcionamento do processador e o seu diagrama de blocos;
variáveis e memória (organização)
-
Aperfeiçoamento do uso de "arrays", "strings", "structures" e "unions"
-
Reforço do conceito de "Lista Ligada", uso e implementação Dinâmica
-
-
Resolução e Codificação em C de problemas da Ficha TP n.º 10:
- Exercício 3, "Árvore Binária de Expressão aritmética" -- cálculo, construção e travessias pré-, pós- e in-fix.
- Exercício 4, "Sistema de Pesquisa e Listagem de um Dicionário Monolingua" -- discussão de soluções alternativas
para implementação de modo a optimizar a inserção/ordenação e a pesquisa
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Estruturar um programa em funções; Estruturar um função em 3 grandes partes: Corpo; Prólogo; e Epílogo;
- Armazenar estruturas em listas ligadas com o apontador a ser alocado dinamicamente na Heap
- Manipular recursivamente Árvores Binárias
Aula TP de 2004/06/08
Tópicos:
- Entrega e avaliação do 3º Trabalho Prático
Resumo:
Encerramento do 2ºSemestre e do ano escolar.
author: prh@di.uminho.pt;
Last modified: 08 de Junho de 2004