subprogramas
Algumas situações ocorrem em programação que são mais convenientemente manipuladas se os nomes dos subprogramas puderem ser enviados como parâmetros para outros subprogramas.
Exemplo – Função Matemática
Um subprograma que faz integração numérica estima a área em um gráfico de uma função ao avaliar a função em um numero de pontos diferentes.
Quando um desses subprogramas é escrito, ele deve ser usável para qualquer função; não deve ser necessário que ele seja reescrito para cada função que precise ser integrada. Sendo natural que o nome de uma função de um programa que avalie a função matemática a ser integrada seja enviado ao subprograma integrador como um parâmetro.
1
Parâmetros que são subprogramas
Ambiente de referenciamento
Vinculação rasa: O ambiente da sentença de chamada que chama o subprograma passado
Vinculação profunda: O ambiente da definição do subprograma passado
Vinculação ad hoc: O ambiente da sentença de chamada que passou o subprograma como um parâmetro real
2
Parâmetros que são subprogramas
Considere a execução de SUB2 quando ele é
chamada em SUB4. Para vinculação rasa, o ambiente de referenciamento dessa execução é o de SUB4, de modo que a referência a X em
SUB2 é vinculada à local X em SUB4, e o resultado do programa é X = 4.
Para vinculação profunda, o ambiente de referenciamento da execução de SUB2 é o de
SUB1, de modo que a referência a X em SUB2
é vinculada à local X em SUB1, e o resultado é X = 1.
Para vinculação ad hoc, a vinculação é a local
X em SUB3, e o resultado e X = 3.
3
Subprogramas Sobrecarregados
É um subprograma que possui o mesmo nome de outro subprograma nem mesmo ambiente de referência(escopo), contudo têm de ter protocolos diferentes. Ele deve ser diferente quanto ao número, à ordem ou aos tipos de seus parâmetros, ou em seu tipo de retorno, se for uma função.
O Significado de uma