A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Programação Orientada para Objectos ETI e IGE ISCTE.

Apresentações semelhantes


Apresentação em tema: "1 Programação Orientada para Objectos ETI e IGE ISCTE."— Transcrição da apresentação:

1 1 Programação Orientada para Objectos ETI e IGE ISCTE

2 2002/2003 Programação Orientada para Objectos 2 Informação

3 2002/2003 Programação Orientada para Objectos 3 Avaliação Problema: 10% Em grupo Trabalho final: 40% Entrega intermédia: avaliação negativa = -3 valores Entrega final Em grupo com discussão individual Frequência: 50% Individual sem consulta: nota mínima 7 Grupos: 2 alunos

4 2002/2003 Programação Orientada para Objectos 4 Objectivos Conhecer os princípios básicos da resolução de problemas usando diversos paradigmas de programação. Ter conhecimentos sólidos da linguagem C++ e conhecimentos básicos da sua biblioteca padrão. Saber desenhar estruturas de dados e respectivos algoritmos em C++. Saber lidar com erros durante o desenvolvimento e fazer programas com um comportamento razoável face a erros. Ser capaz de planear a resolução dos problemas, analisando, desenhando e implementando correctamente os correspondentes programas. Ter conhecimentos elementares sobre a linguagem UML.

5 2002/2003 Programação Orientada para Objectos 5 Aula 1 Modularização: física e em pacotes Modularização física e compilação separada Modularização em pacotes e espaços nominativos

6 2002/2003 Programação Orientada para Objectos 6 Divisão de um programa Mais fácil dividir trabalho Permite divisão lógica do programa de acordo com objectivo das ferramentas Construção do executável acelerada Facilita reutilização de código

7 2002/2003 Programação Orientada para Objectos 7 Modularização Procedimental: rotinas Funções e procedimentos De dados: classes Classes Física: módulos físicos (ou módulos) Ficheiros Em pacotes: pacotes Espaços nominativos

8 2002/2003 Programação Orientada para Objectos 8 Construção de um executável 1. Pré-processamento: pré-processador c++ -E programa.C –o programa.ii c++ -E matematica.C –o matematica.ii 2. Compilação: compilador c++ [opções] –c programa.C c++ [opções] –c matematica.C 3. Fusão (to link): fusor (linker) c++ -o programa programa.o matematica.o

9 2002/2003 Programação Orientada para Objectos 9 Pré-processamento Copia ficheiro de implementação (.C ) para unidade de tradução (.ii ) Directivas de pré-processamento (linhas iniciadas por # ): Inclusões ( #include ) Macros ( #define ) Compilação condicional ( #ifdef; #ifndef; #else; #endif )

10 2002/2003 Programação Orientada para Objectos 10 Compilação Tradução de unidade de tradução para linguagem máquina Fases da compilação: 1. Análise lexical 2. Análise sintáctica 3. Análise semântica 4. Optimização 5. Geração de código máquina

11 2002/2003 Programação Orientada para Objectos 11 Fusão Ficheiros objecto fundidos num único executável Verifica que: Não há repetições Há uma função main() Para cada necessidade existe correspondente disponibilidade

12 2002/2003 Programação Orientada para Objectos 12 Exemplo «file» matemática.H «file» matemática.C «file» programa.C «file» programa.ii «file» matemática.ii «file» matemática.o «file» programa.o «file» programa Pré-processamento Compilação Ficheiros fonte Unidades de tradução Ficheiros objecto Fusão

13 2002/2003 Programação Orientada para Objectos 13 Modularização física Dois ficheiros fonte: Interface (.H ) Implementação (.C ) Que colocar em cada módulo? Que colocar em cada ficheiro fonte?

14 2002/2003 Programação Orientada para Objectos 14 Ficheiros de interface (.H ) Definições de classes Declarações de rotinas não-membro e não inline Definições de rotinas e métodos inline Definições de constantes Declarações de variáveis globais (evitar!!!)

15 2002/2003 Programação Orientada para Objectos 15 Ficheiros de implementação (.C ) Definições de tudo o que for apenas necessário dentro do módulo (classes, rotinas,...) Definições de todas as rotinas e métodos que não sejam inline Definições de todas as variáveis globais

16 2002/2003 Programação Orientada para Objectos 16 Modularização em pacotes Evitar problema de colisão de nomes Agrupamento das ferramentas num nível mais elevado de modularização: os espaços nominativos (name spaces) Colocar ficheiros de interface em directórios correspondentes ao espaço nominativo a que pertencem


Carregar ppt "1 Programação Orientada para Objectos ETI e IGE ISCTE."

Apresentações semelhantes


Anúncios Google