Planeamento

Aulas Teóricas

Apresentação

Apresentação da UC Computação e Programação 2013/2014.

Introdução de conceitos: algoritmo, linguagem de programação, instrução, programa, computador, sistema operativo, compilador vs. interpretador, código fonte vs. código objeto, programação, abordagem top-down, erro sintático vs. erro semântico.

Funções Predefinidas e Expressões

Introdução ao ambiente MATLAB. Funções predefinidas. Variável. Tipos de dados simples (lógico, numéricos e carácter). Expressão numérica e expressão lógica. Geração de números pseudo-aleatórios. Valor inteiro dos caracteres.

Vetor e Matriz

Array. Vetor e matriz. Tamanho de um array. Funções de array. Operações numéricas de array com escalar. Operações de array. Multiplicação de vetores e matrizes. Criação e utilização de vetores lógicos. Funções lógicas.

Introdução à Programação I

Script. Comentário. Interação com o utilizador. Geração de gráficos.

Introdução à Programação II

Entrada e saída com ficheiros. Definição de funções. Variável local.

Introdução à Programação III

Parâmetros de entrada e de saída de uma função. Âmbito e tempo de vida de uma variável.

Seleção

Instrução if. Instrução switch.

Iteração

Instrução for. Somatórios. Ciclos Encadeados. Ciclos e condicionais. Instrução while. Verificação de erros. Vectorização. Cronometragem.

Desenvolvimento de Programas I

Definição de funções.
Organização de programas.

Desenvolvimento de Programas II

Subfunções.
Programas com menu.
Âmbito de uma variável.
Tipos de erro.
Depuração.

Cadeia de Caracteres

Manipulação de strings.

Estruturação de Dados

Array de células.
Estrutura (struct).

Entrada e Saída com Ficheiros

Abrir/fechar ligações para ficheiros. Leitura de linhas como cadeias de caracteres. Ler com fgetl. Ler com fscanf. Ler com textscan. Escrever com fprintf. save/load para gravar/ler ficheiros-MAT.

Apresentação do Enunciado do Projeto

Apresentação e discussão do enunciado do projeto.

Definição de Funções Avançada

Função anónima. Referência para função. Função como argumento. Número variável de parâmetros. Funções encadeadas. Função recursiva.

Programação com Gráficos

Matriz de gráficos. Tipos de gráficos. Animação. Configuração de gráficos. Criação de função para desenhar gráficos. Criação de gráficos com dados de ficheiro.

Classes de Objetos I

Conceitos fundamentais.

Classes de Objetos II

Análise de um exemplo de conceção, definição e utilização de uma classe.

Estruturas de Dados Dinâmicas

Lista duplamente encadeada. Implementação. Utilização.

Interfaces Gráficas

Conceitos fundamentais. Exemplo com GUIDE. Exemplo sem GUIDE. Caixas de diálogo. Componente gráfico para tabela 2-D.

Apoio ao Projeto

Esclarecimento de dúvidas relacionadas com o projeto de programação para avaliação.

Ordenação e Indexação I

Utilizar as funções sort e sortrows. Algoritmos de ordenação selection sort e bubble sort.

 

Ordenação e Indexação II

Algoritmos de ordenação para vetores de estruturas. Indexação.

 

Funções Estatísticas e de Conjuntos

Funções estatísticas e de conjuntos disponíveis no MATLAB.
Implementação de funções estatísticas e de conjuntos em MATLAB.

Procura

Algoritmos de procura sequencial e binária.

Outras Linguagens I

Revisitação dos conceitos apresentados na 1ª aula e a sua aplicabilidade no âmbito de outras linguagens, utilizando a linguagem C++ como exemplo.

Outras Linguagens II

Introdução à programação em C++.

Encerramento

Revisão da matéria.

Aulas de Problemas

Apresentação

Realização de exercícios para:

  • Usar o MATLAB como calculadora.
  • Usar format.
  • Atribuir valores a variáveis do tipo double.
  • Usar expressões numéricas.

Funções Predefinidas e Expressões

Realização de exercícios para:

  • Usar as funções de arredondamento.
  • Conhecer a capacidade de representação, e converter entre, tipos numéricos.
  • Usar pseudoaleatórios.
  • Usar os códigos inteiros ASCII dos caracteres.
  • Usar expressões lógicas.

 

Vetor e Matriz

Realização de exercícios para:

  • Usar o operador dois pontos e a função linspace para criar vetores linha.
  • Usar o operador de transposição para criar vetores coluna.
  • Alterar/apagar elementos de vetores.
  • Criar matrizes.
  • Alterar/apagar linhas/colunas de matrizes.
  • Aceder a parte do conteúdo de vetores/matrizes.
  • Usar vetores/matrizes como argumento de funções predefinidas.
  • Usar operadores de array.
  • Multiplicar matrizes/vetores.

Introdução à Programação

Realização de exercícios para:

  • Usar a função input.
  • Usar a função fprintf.
  • Construir gráficos 2D.
  • Ler e escrever ficheiros de texto.
  • Desenvolver (ou definir, ou ainda construir) um script.
  • Desenvolver uma função simples.
  • Definir uma função e um script que contenha uma chamada a essa função.

Introdução à Programação (continuação)

Continuação da realização dos exercícios da aula anterior, para:

  • Usar a função input.
  • Usar a função fprintf.
  • Construir gráficos 2D.
  • Ler e escrever ficheiros de texto.
  • Desenvolver (ou definir, ou ainda construir) um script.
  • Desenvolver uma função simples.
  • Definir uma função e um script que contenha uma chamada a essa função.

1ª ficha de exercícios para avaliação

Realização da 1ª ficha de exercícios para avaliação.

Seleção

Realização de exercícios para:

  • Usar a instrução if.
  • Usar a instrução switch.
  • Usar a função menu.

Iteração

Realização de exercícios para usar as instruções for e while.

2ª ficha de exercícios para avaliação

Realização da 2ª ficha de exercícios para avaliação.

Strings, Gráficos e Programas

Realização de exercícios para:

  • Manipular strings.
  • Usar a função plot.
  • Desenvolver programas usando decomposição funcional.

Ficheiros e Estruturas de Dados

Arrays de células e structs.

Programas com entrada e saída com ficheiros.

Apoio ao Projeto

Desenvolvimento do projeto.

3ª ficha de exercícios para avaliação

Realização da 3ª ficha de exercícios para avaliação.

 

Programação Noutras Linguagens

Desenvolvimento de programas em C++.