Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos < Página da Disciplina > www.inf.unisinos.br/~barbosa <Endereço do Professor > barbosa@exatas.unisinos.br
Sumário 1 – Introdução
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais 12 – Operadores Sobrecarregados
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais 12 – Operadores Sobrecarregados 13 – Co-Rotinas
Sumário 1 – Introdução - Abstração de processo - Abstração de dados
Sumário 1 – Introdução 2 – 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ário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto - Quais métodos de passagem usar? - Locais são alocadas estática ou dinamicamente? - Suprogramas dentro de suprogramas?
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – 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ário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais - Locais estáticas => Alocação estática - Locais dinâmicas => Heap - Recursividade - Economia de espaço x Eficiência
Código Dados Estáticos Heap Pilha
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – 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ário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – 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ário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros - Vinculação rasa - Vinculação profunda - Vinculação ad hoc
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos - Subprograma genérico ou polimórfico - Polimorfismo paramétrico (Ada e C++)
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente - Compilação Separada - Compilação Independente
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções - Efeitos colaterais - Tipos de valores retornados
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais - Visibilidade externa - Opção EXTERN
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais 12 – Operadores Sobrecarregados
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais 12 – Operadores Sobrecarregados 13 – Co-Rotinas
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais 12 – Operadores Sobrecarregados 13 – Co-Rotinas
Sumário 1 – Introdução 2 – Fundamentos dos Subprogramas 3 – Questões de Projeto 4 – Ambientes de Referência Locais 5 – Métodos de Passagem de Parâmetros 6 – Nomes de Suprograma como Parâmetros 7 – Suprogramas Sobrecarregados 8 – Subprogramas Genéricos 9 – Compilação Separada e Independente 10 – Questões de Projeto Referentes a Funções 11 – Acessando Ambientes Não-Locais 12 – Operadores Sobrecarregados 13 – Co-Rotinas