Planeamento

Aulas

T

Explicações adicionais sobre o funcionamento da disciplina. Conceitos básicos de programação. Exemplos de programas simples. Slides cap. 01-02: 1 e 2.

T

Explicações adicionais sobre o funcionamento da disciplina. Conceitos básicos de programação. Exemplos de programas simples. Slides cap. 01-02: 1 e 2.

T

Conceitos básicos (continuação). Introdução à programação em C. Slides cap. 01-02: 3 a 13.

T

Introdução à programação em C (continuação). Atribuição. Operadores. Expressões. Variáveis. Aritmética. Slides cap. 01-02: 13 a 37.

T

Introdução à programação em C (conclusão). Tomada de decisão. Operadores de igualdade e relacionais. Slides cap. 01-02: 37 a 53.

T

Programação estruturada em C. Estruturas de controlo. Selecção: if e if...else. Iteração: while. Slides cap. 03: 1 a 16.

T

Programação estruturada em C (continuação). Mais sobre iteração. Desenvolvimento com refinamento descendente. Slides cap. 03: 14 a 25 (recapitulamos os 3 últimos slides da aula anterior).

T

Programação estruturada em C (conclusão). Estruturas de controlo encaixadas. Slides cap. 03: 26 a 38.

Estruturas de controlo em C. Ênfase na iteração controlada por contador. Slides cap. 04: 1 a 5.

T

Estruturas de controlo em C (continuação). O ciclo for. Selecção múltipla com switch. Slides cap. 04: 6 a 21.

T

Estruturas de controlo em C (conclusão). Iteração com do...while. Operadores lógicos. Slides cap. 04: 22 a 30.

Funções. Modularidade. Reutilização de código. Delegação de responsabilidade. Invocação de funções. Slides cap. 05:  1 a 4.

T

Funções pré-definidas. A biblioteca math. Definição de funções pelo programador. Protótipos. Slides cap. 05: 5 a 15.

T

Funções definidas pelo programador (continuação): observações sobre parâmetros, variáveis locais, retorno; funções auxiliares; conversão automática de argumentos. Conversão de tipos explícita vs. implícita. Slides cap. 05:  16 a 37.

T

Arrays (Vectores); definição; inicialização; uso. Slides cap. 06: 1 a 22.

T

Arrays; armazenamento e processamento de dados; aplicações típicas; passar arrays para funções. Referência breve às strings (cadeias de caracteres). Slides cap. 06: 22 a 30.

T

Passar arrays para funções: exemplos diversos. Strings como arrays de caracteres. Slides cap. 06: 31 a 42.

T

Arrays multi-dimensionais; matrizes. Slides cap. 06: 43 a 48.

T

Exemplo de uso de um array bidimensional. Slides cap. 06: 49 a 54.

Apontadores; definição e inicialização; operações básicas envolvendo apontadores. Slides cap. 07: 1 a 14.

* e & são operadores inversos: fig07_04.c

T

Apontadores; simulando passagem por referência; relação entre apontadores e arrays. Slides cap. 07: 15 a 22.

Exercício sobre passagem de apontadores a funções: trocar 2 variáveis.

Tratamento especial de cadeias de caracteres (strings): introdução e motivação. Slides cap. 08: 1 a 3.

T

Strings (continuação). Slides cap. 08: 4 a 17.

T

Processamento de caracteres individuais. Slides cap. 08: 18 a 22.
Exemplos diversos de criação e processamento de strings:

  • Exercício: converter frase, eliminando brancos supérfluos
  • Programa para converter frase, eliminando brancos supérfluos
  • Programa que exemplifica a criação de strings
  • Programa que exemplifica a criação de arrays de strings

T

Processamento de ficheiros. Slides cap. 11: 1 a 25.

Exemplo dos slides:

  • criação de ficheiro e escrita no mesmo: fig11_03.c
  • acesso a ficheiro e leitura do mesmo: fig11_07.c

T

Introdução à programação de média e de grande escala. Modularização. Compilação separada.
Apresentação do trabalho de programação.

T

Apoio ao trabalho de programação.

T

Apoio ao trabalho de programação.
Referência muito breve às estruturas e typedef. Slides cap. 10.

T

Estruturas (struct) e typedef. Comparação com classes e objectos de linguagens de programação orientadas a objectos. Slides cap. 10.

Código desta aula: cd_musicas.c