Programação Imperativa
Ano Lectivo: 04/05 (2º semestre)
Sumário das Aulas Práticas (P3/P4-LMCC)
Docente: Pedro Rangel Henriques (406012)
Aulas P de 2005/02/25
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa; contraste com a Programação Funcional (Declarativa);
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.);
-
O esquema de funcionamento das aulas práticas neste semestre: os grupos, os exercícios dentro e fora do laboratório, a submissão das fichas (LaTeX/PDF) com os exercícios resolvidos;
-
Introdução ao Linux (modo de trabalho em linha de comando) e ao C -- filosofia geral deste SO e desta Linguagem de Programação;
-
Resolução dos primeiros exercícios da Ficha TP n.º 1:
- Exercício 1 e 2, "Hello world!", codificação em C.
- Exercício 3, Opções do gcc.
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Escrever um programa em C só com a função main(), compilá-lo e executá-lo;
- O modo como o Pré-Processador do gcc trata os comandos #include (para inclusão de
ficheiros de texto) e #define (para definição de constantes e macros);
- A distinção entre geração de Assembly e de Código Máquina em binário.
Aulas P de 2005/03/04
Tópicos:
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Introdução ao Linux (modo de trabalho em linha de comando) e ao C -- filosofia geral deste SO e desta Linguagem de Programação;
-
Continuação da Resolução dos exercícios da Ficha TP n.º 1:
- Exercício 4, um segundo programa trivial em C para somar 2 números.
- Exercício 6, uso de uma Makefile para automatizar a compilação de um programa.
- Exercício 8, edição de uma Ficha de Trabalho em LaTeX.
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Escrever um programa em C só com a função main(), compilá-lo e executá-lo;
- Escrever uma Makefile e a usar o utilitário make.
- Escrever um documento simples em LaTeX e a usar o programa pdflatex para gerar um ficheiro imprimível em PDF.
Aulas P de 2005/03/11
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C;
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Resolução dos exercícios da Ficha TP n.º 2:
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber:
- Escrever um programa em C só com a função main(), compilá-lo e executá-lo;
- Trabalhar com condições e ciclos e desenvolver algoritmos numéricos sequenciais (contagem, somatório, máximo/mínimo);
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Aulas P de 2005/03/18
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C;
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Resolução dos exercícios da Ficha TP n.º 3:
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber, ou consolidado conhecimentos da última aula,
relativos a:
- Escrever, compilar e executar um programa em C com a função main() e funções auxiliares;
- Trabalhar com condições e ciclos e desenvolver algoritmos numéricos mais complexos (múltiplos e divisores, decomposição em dígitos e inversão);
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Aulas P de 2005/04/01 (dadas pela Alexandra Silva)
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C;
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Conclusão da Resolução dos exercícios da Ficha TP n.º 3:
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber, ou consolidado conhecimentos da última aula,
relativos a:
- Escrever, compilar e executar um programa em C com a função main() e funções auxiliares;
- Trabalhar com condições e ciclos e desenvolver algoritmos numéricos mais complexos (múltiplos e divisores, decomposição em dígitos e inversão);
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Aulas P de 2005/04/08
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C.
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Leitura e Análise das tarefas envolvidas na Fase 2 do Trabalho Prático -- explicação de objectivos e definição de estratégias.
-
Resolução dos exercícios da Ficha TP n.º 4:
- Exercícios 1 a 5 (com destaque para o 2, 3 e 5).
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber, ou consolidado conhecimentos da última aula,
relativos a:
- Escrever, compilar e executar um programa em C com a função main() e funções auxiliares;
- Trabalhar em geral com Arrays uni-dimensionais de inteiros ou caracteres (strings), desenvolvendo
os algoritmos típicos para manusear este Tipo de dados;
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Em particular, discutiu-se: a implementação da conversão Romano-Árabe com uso de uma função para converter letras
em números; o algoritmo para verificar se uma string é capicua, resolvendo os problemas de leitura da string e limpeza dos caracteres indesejáveis, bem como a normalização das letras (para maiúsculas ou minúsculas); e a estratégia para contagem da ocorrência de caracteres num texto, através da indexação directa
de um array de contadores.
Aulas P de 2005/04/15
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C.
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Continuação da Resolução dos exercícios da Ficha TP n.º 4:
- Exercícios 1 a 5 (com destaque para o 4).
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber, ou consolidado conhecimentos das últimas aulas,
relativos a:
- Escrever, compilar e executar um programa em C com a função main() e funções auxiliares;
- Trabalhar em geral com Arrays uni-dimensionais de inteiros ou caracteres (strings), desenvolvendo
os algoritmos típicos para manusear este Tipo de dados;
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Em particular, discutiu-se: a implementação de um esquema de cifragem (ou encriptação) de a uma frase, resolvendo os problemas de leitura da string e limpeza dos caracteres indesejáveis, rotação circular dos caracteres de uma determinado 'delta',
normalização das letras (para maiúsculas ou minúsculas) e utilização de um mapeamento de letras específico.
Aulas P de 2005/04/22
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C.
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Leitura e Análise das tarefas envolvidas na Fase 2 do Trabalho Prático -- explicação de objectivos e definição de estratégias.
-
Conclusão dos exercícios da Ficha TP n.º 4.
-
Resolução dos exercícios da Ficha TP n.º 5:
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber, ou consolidado conhecimentos relativos a:
- Escrever, compilar e executar um programa em C com a função main() e funções auxiliares,
recorrendo aos mecanismos de modularidade disponíveis para distribuição das funções por mais de 1 ficheiro
(usando "includes" ou compilação separada);
- Trabalhar em geral com Arrays bi-dimensionais de números ou strings, desenvolvendo
os algoritmos típicos para manusear este Tipo de dados--Em particular, discutiu-se a leitura, escrita e travessia de Matrizes;
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Aulas P de 2005/04/29
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C.
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Discussão e apoio em algumas das tarefas envolvidas na Fase 2 do Trabalho Prático.
-
Resolução dos exercícios da Ficha TP n.º 5:
- Exercício 3: gestão das 10 notas de uma turma, guardando nomes e números dos alunos, usando 3 arrays.
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber, ou consolidado conhecimentos relativos a:
- Escrever, compilar e executar um programa em C com a função main() e funções auxiliares,
recorrendo aos mecanismos de modularidade disponíveis para distribuição das funções por mais de 1 ficheiro
(usando "includes" ou compilação separada);
- Trabalhar em geral com múltiplos Arrays, uni- ou bi-dimensionais de números e strings para implementação
de estruturas de dados com vários campos, em que o índice dos arrays estabelece a ligação entre os vários componentes;
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Aulas P de 2005/05/06
Tópicos:
-
Discussão e Avaliação da Fase 2 do Trabalho Prático.
Aulas P de 2005/05/20
Tópicos:
-
O paradigma de programação para este semestre: Programação Imperativa em C.
-
O ambiente de trabalho para este semestre: Linguagem C em Linux; o Compilador gcc e a escolha de um Editor (vi, emacs, etc.); o utilitário make; o processador de documentos LaTeX.
-
Resolução dos exercícios da Ficha TP n.º 6:
- Exercício 1: reformulação do problema 5.3--gestão das 10 notas de uma turma, guardando nomes e números dos
alunos--usando agora um array de estruturas.
-
Resolução dos exercícios da Ficha TP n.º 7:
- Exercício 1: implementação de uma lista ligada de inteiros--versão Stack, Queue e Lista Ordenada.
Resumo:
No final desta aula prática, os alunos devem ter ficado a saber, ou consolidado conhecimentos relativos a:
- Escrever, compilar e executar um programa em C com a função main() e funções auxiliares,
recorrendo aos mecanismos de modularidade disponíveis para distribuição das funções por mais de 1 ficheiro
(usando "includes" ou compilação separada);
- Trabalhar em geral com Arrays, uni-dimensionais de estruturas para implementação
de estruturas de dados com vários campos de tipos distintos;
- Trabalhar com Listas Ligadas Dinâmicas inserido à cabeça, na cauda ou na posição de ordem correcta,
usando sempre e só algoritmos recursivos.
- Elaborar testes aos programas desenvolvidos
- Escrever o relatório de uma aula prática preenchendo a ficha proposta com o código desenvolvido e os testes realizados.
Aulas P de 2005/05/27
Tópicos:
-
Aula de dúvidas sobre o Trabalho Prático e outros exercícios.
Aulas P de 2005/06/03
Tópicos:
-
Discussão e Avaliação Global (incluindo a Fase 3) do Trabalho Prático.
author: prh@di.uminho.pt;
Last modified: 04 de Junho de 2005