1 Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos barbosa [email protected].
Transcript of 1 Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos barbosa [email protected].
1
Aula 6Aula 6SubprogramasSubprogramas
Universidade do Vale do Rio dos Sinos
< Página da Disciplina >
www.inf.unisinos.br/~barbosawww.inf.unisinos.br/~barbosa
<Endereço do Professor >
[email protected]@exatas.unisinos.br
2
1 – IntroduçãoSumárioSumário
3
1 – Introdução2 – Fundamentos dos Subprogramas
SumárioSumário
4
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto
SumárioSumário
5
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais
SumárioSumário
6
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros
SumárioSumário
7
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros
SumárioSumário
8
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados
SumárioSumário
9
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos
SumárioSumário
10
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente
SumárioSumário
11
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções
SumárioSumário
12
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais
SumárioSumário
13
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais12 – Operadores Sobrecarregados
SumárioSumário
14
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais12 – Operadores Sobrecarregados13 – Co-Rotinas
SumárioSumário
15
1 – Introdução - Abstração de processo - Abstração de dados
SumárioSumário
16
1 – Introdução2 – Fundamentos dos Subprogramas - Subprogramas x Métodos - Protocolo de um subprograma - Declarações e definições: protótipos em C - Parâmetros reais e formais - Parâmetros posicionais e nomeados
SumárioSumário
17
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto - Quais métodos de passagem usar? - Locais são alocadas estática ou dinamicamente? - Suprogramas dentro de suprogramas?
SumárioSumário
18
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais - Locais estáticas => Alocação estática - Locais dinâmicas => Heap - Recursividade - Economia de espaço x Eficiência
SumárioSumário
19
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais - Locais estáticas => Alocação estática - Locais dinâmicas => Heap - Recursividade - Economia de espaço x Eficiência
SumárioSumário
20
Código
DadosEstáticos
Heap
Pilha
21
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais - Locais estáticas => Alocação estática - Locais dinâmicas => Heap - Recursividade - Economia de espaço x Eficiência
SumárioSumário
22
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros - Entrada (in), Saída (out), Entrada/Saída (inout) - Passagem por Valor (in) - Passagem por Resultado (out) - Passagem por Valor-Resultado (inout) - Passagem por Referência (inout) - Passagem por Nome (inout) - Implementação de passagem de parâmetros - Arrays multidimensionais como parâmetros
SumárioSumário
23
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros - Vinculação rasa - Vinculação profunda - Vinculação ad hoc
SumárioSumário
24
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados
SumárioSumário
25
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos - Subprograma genérico ou polimórfico - Polimorfismo paramétrico (Ada e C++)
SumárioSumário
26
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente - Compilação Separada - Compilação Independente
SumárioSumário
27
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções - Efeitos colaterais - Tipos de valores retornados
SumárioSumário
28
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais - Visibilidade externa - Opção EXTERN
SumárioSumário
29
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais12 – Operadores Sobrecarregados
SumárioSumário
30
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais12 – Operadores Sobrecarregados13 – Co-Rotinas
SumárioSumário
31
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais12 – Operadores Sobrecarregados13 – Co-Rotinas
SumárioSumário
32
1 – Introdução2 – Fundamentos dos Subprogramas3 – Questões de Projeto4 – Ambientes de Referência Locais5 – Métodos de Passagem de Parâmetros6 – Nomes de Suprograma como Parâmetros7 – Suprogramas Sobrecarregados8 – Subprogramas Genéricos9 – Compilação Separada e Independente10 – Questões de Projeto Referentes a Funções11 – Acessando Ambientes Não-Locais12 – Operadores Sobrecarregados13 – Co-Rotinas
SumárioSumário