Planeamento

Aulas Teóricas

Introdução

Introdução

  • Apresentação
  • Arquitectura de Computadores
  • Sistema operativo

Linguagem de programação / Algoritmo

Linguagem de programação / Algoritmo


 

Ciclo de desenvolvimento

Ciclo de desenvolvimento

  • Desenho
  • codificação
  • pré-processamento/compilação/linkagem
  • depuração

 

  • Marques
    • 1.1
    • 1.3
    • 1.5

 

Conceitos elementares

Conceitos elementares

  • Estrutura de um programa
    • includes
    • constantes
    • main
    • declaração de variáveis
    • instruções

 

  • Damas
    • Cap. 1 A função main está incompleta

 

Conceitos elementares

Conceitos elementares

  • Constantes e variáveis
    • declaração
    • atribuição

 

  • K&R
    • 2.1
    • 2.2
    • 2.3
    • 2.4
  • Damas
    • Cap. 2
    • 33..40

  • Marques
    •      2.1
    • 2.2


Conceitos elementares

Conceitos elementares
  • tipos inteiros e reais
    • operações
    • expressões / conversão(promoção) entre tipos

 


  •   K&R
    • 2.5
    • 2.7
    • 2.8
    • 2.10
    • 2.12


  •   Damas
    • Cap. 2
    • 41..55 Ignorar leituras e escritas


  •   Marques
    • 2.3

 

 

Conceitos elementares

Conceitos elementares

  • tipos char
    • operações
    • código ascii

 


  •   Damas
    • Cap.2
    • 55..65Ignorar leituras e escritas

 

 

Conceitos elementares

Conceitos elementares

  • expressões / conversão entre tipos

 

Conceitos elementares

Conceitos elementares

 

  • leitura e escrita de tipos int, float e char.

 


  •   K&R
    • 7.1
    • 7.2
    • 7.4


  •   Damas
    • Cap. 2 Apresentação muito básica


  •   Marques
    • 2.3

 

 

Conceitos elementares

Conceitos elementares

  • tipo booleano 
    • operadores relacionais 
    • operadores lógicos 
    • expressões lógicas

 


  •   K&R
    • 2.6


  •   Damas
    • Cap. 3 77..81 94..98


  •   Marques
    • 3.2.2

 

 

Programação estruturada

Programação estruturada

  • instrução if

 


  • K&R 
    • 3.1
    • 3.2
    • 3.3


  •   Damas
    • Cap. 3 81..101


  •   Marques
    • 3.2

Programação estruturada

Programação estruturada

  • instruções de repetição
    • while
    • do ... while

 

  • K&R
    • 3.5 ignorar for
    • 3.6
  • Damas
    • Cap. 4
    • 121..127
    • 132..137
    • Ignorar break
    • ignorar contínue
    • ignorar atrib. Composta
  • Marques
    • 3.3
    • 6.3.3

Strings

Strings

  • declaração (char nome [1024])
  • fgets
  • leitura e escrita de tipos int, float e char.

 

  • Damas
    • Cap . 7
    • 229..233
    • Ignorar leitura e escrita (tem erros)
    • 237..252
    • Ignorar implementações

  • Marques
    • 5.5.1
    • 5.5.2

Ficheiros de texto

Ficheiros de texto

  • open
  • fgets
  • sscanf
  • fputs
  • fclose

  • K&R
    • 7.5
    • 7.6
    • 7.7

 

  • Damas
    • Cap. 10
    • 341..357
    • 378
    • Faltam coisas
    • Ignorar gets Ignorar fflush

 

  • Marques
    • 10.1
    • 10.2
    • 10.3

Funções

Funções

  • Invocação
    • parâmetros
    • uso do valor de retorno
  • declaração
    • nome
    • tipo de retorno
    • argumentos
  • Visibilidade e tempo de vida das variáveis

 

  • K&R
    • 1.7
    • 4.1
    • 4.2
    • 4.4

 

  • Damas
    • Cap. 5

 

  • Marques
    • Cap 4
    • 4.1
    • 4.2
    • 4.3

 

 

Funções 

Funções

  • Funções matemáticas (math.h )

 

  • K&R
    • 250

 

  • Marques
    • Apêndice funçoes matemáticas

Funções

Funções

  • Passagem por referência
    • declaração dos argumentos ( * )
    • uso do valor ( * )
    • invocação da função ( & )

 

  • K&R
    • 5.2
    • 5.1

 

  • Damas
    • Cap. 9
    • 303..319

 

  • Marques
    • 4.4

 

  • Mira da Silva
    • 2.4

Tipos de dados definidos pelo programador

Tipos de dados definidos pelo programador

  • typedef
  • tipos de dados enumerados

 

  • K&R
    • 6.7 
    • 2.3

 

  • Damas
    • 403..404
    • 470..471

 

  • Marques
    • 6.2

 

 

Programação estruturada

Programação estruturada

  • switch

 

  • K&R
    • 3.4

 

  • Damas
    • 101..110

 

  • Marques
    • 6.3.2

Tipos de dados definidos pelo programador

Tipos de dados definidos pelo programador

  • estruturas
    • declaração
    • acesso
    • passagem de estruturas por referência

 

  • K&R
    • 6.1
    • 6.2
    • 6.4

 

  • Damas
    • Cap. 11
    • 397..413
    • Excluir operações sobre estruturas

 

  • Marques
    • Cap. 8
    •  
      • 8.1 
      • 8.2
      • confuso 8.3

Vectores

Vectores

  • declaração
  • acesso

 

  • K&R
    • 1.6

 

  • Damas
    • 6
    • 195...203

 

  • Marques
    • 5.1 
    • 5.2 
    • 5.3

 

  • Mira da Silva
    • 2.5.1 
    • 2.5.4

 

 

Programação estruturada

Programação estruturada

  • Instrução de repetição for

 

  • K&R
    • 3.5

 

  • Damas
    • 128...131

 

  • Marques
    • 5.3

Vectores

Vectores

  • vectores multidimensionais
  • ciclos encadeados

 

  • K&R
    • 5.7

 

  • Damas
    • Cap. 6 
    • 209..213 
    • 127..139

 

  • Marques
    • 5.6 
    • 5.5.3 
    • 5.5.4

 

  • Mira da Silva
    • 2.6

 

 

Vectores

Vectores

  • Strings string.h

 

  • K&R
    • 249

 

  • Damas
    • 237..252

 

 

Vectores

Vectores

  • Vectores de estruturas
  • apontadores para vectores e passagem por referência

 

  • K&R
    • 6.3 
    • 5.3 
    • 5.4

 

  • Damas
    • 278..289

 

  • Marques
    • 8.2 
    • 5.4

Vectores

Vectores

  • Vectores de apontadores
  • Argv

 

  • K&R
    • 5.9 
    • 5.10

 

  • Damas
    • 321..324

 

  • Mira da Silva
    • 2.6.4

 

 

Vectores

Vectores

  • criação dinâmica de vectores ( calloc )

 

  • K&R
    • 7.8.5

 

  • Marques
    • 9.2 
    • Usa malloc em vez do calloc

 

  • Mira da Silva
    • 3.3

Abstracção de dados

Abstracção de dados

  • conceitos básicos
  • estruturação de programas em diversos ficheiros
    • ficheiros .h
    • ficheiros .c

 

  • K&R
    • 4.4 
    • 4.5

 

  • Marques
    • 7.1

Ponteiros (revisão/consolidação)

Ponteiros (revisão/consolidação)

  • declaração
  • passagem de parâmetros por referência
  • vectores e ponteiros
  • passagem de ponteiros por referência

 

  • Marques
    • 2.5

 

  • Mira da Silva
    • Cap. 2. 
    • Cap. 3

Estruturas dinâmicas

Estruturas dinâmicas

  • ponteiros e estruturas
    • declaração
    • acesso aos membros das estruturas apontadas
  • criação dinâmica de estruturas ( malloc )

 

  • K&R
    • 6.5 
    • 6.6 
    • 6.7

 

  • Marques
    • 9.4

 

  • Mira da Silva
    • 4.3

25/11/2010

Estruturas dinâmicas

  • exemplos de tipos de dados dinâmicos
    • filas
    • pilhas
    • listas

 

Marques

  • 9.4

Mira da Silva

  • Cap. 4

Estruturas dinâmicas

Estruturas dinâmicas

  • Continuação

Recursividade

Recursividade

 

  • K&R
    • 4.10

 

  • Damas
    • 325..330

 

  • Marques
    • 7.3

Algoritmos de ordenação em vectores

Algoritmos de ordenação em vectores

 

  • K&R
    • 5.6

 

  • Marques
    • Exemplo 5.11
    • Exemplo 7.10

 

Aulas Laboratoriais

Laboratório 0

Laboratório

Semana

Matéria

 

21/02/2011

Inscrições no laboratório

Laboratório 1

Laboratório

Semana

Matéria

 

28/02/2011

Introdução ao Unix

Introdução ao desenvolvimento de aplicações

Laboratório 2

Laboratório

Semana

Matéria

2

07/03/2011

Introdução ao C

Compilação

Manipulação de variáveis

Erros de compilação

Debuging

Laboratório 3

Laboratório

Semana

Matéria

3

14/03/2011

Entradas/Saídas

Programação estruturada (if)

Laboratório 4

Laboratório

Semana

Matéria

4

21/03/2011

Ficheiros

Programação estruturada (while)

Laboratório 5

Laboratório

Semana

Matéria

5

28/03/2011

Funções

Laboratório 6

Laboratório

Semana

Matéria

6

4/04/2011

Funções (passagem parâmetros por referência)

Laboratório 7

Laboratório

Semana

Matéria

7

11/04/2010

Estruturas e vectores

Laboratório 8

Laboratório

Semana

Matéria

8

18/04/2011

Estruturas e vectores

Argv

Laboratório 9

Laboratório

Semana

Matéria

9

02/05/2011

Estruturas e vectores

Laboratório 10

Laboratório

Semana

Matéria

10

9/05/2010

Tipos dinâmicos (pilha)

Laboratório 11

Laboratório

Semana

Matéria

11

16/05/2010

Tipos dinâmicos

Laboratório 12

Laboratório

Semana

Matéria

12

13/12/2010

Discução projecto