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
Programação Noutras Linguagens
Desenvolvimento de programas em C++.