Parâmetro (ciência da computação)
Na ciência da computação, um parâmetro define como uma variável pode ser passada para uma subrotina. Uma subrotina utiliza os valores atribuídos aos parâmetros para alterar o seu comportamento em tempo de execução. A maioria das linguagens de programação aceitam a definição de subrotinas que aceitam zero ou mais parâmetros.
Índice |
[editar] Parâmetro e Argumento
O termo parâmetro muitas vezes é utilizado como sinônimo de argumento, mas geralmente utiliza-se "parâmetros" quando se faz referência às variáveis situadas na assinatura de um método ou função e "argumentos" aos valores atribuídos a esses parâmetros. [1]
A maioria dos programadores utiliza estes termos sem distinção de significado. Na prática, não é necessário distinguir as diferenças entre os dois termos para que a descrição de um código esteja correta.
Para melhor explicar a diferença entre os dois termos pode-se considerar a seguinte subrotina escrita na linguagem C:
int somar(int param1, int param2)
{
return param1 + param2;
}
A subrotina "somar" tem dois parâmetros, "param1" e "param2". Ela soma os valores passados e retorna o resultado para o código que realizou a chamada. O código que realiza a chamada pode ser algo como o mostrado abaixo:
int variavelResultado; int variavel1 = 40; int variavel2 = 2; variavelResultado = somar(variavel1, variavel2);
Durante a execução, as variáveis "variavel1" e "variavel2" são inicializadas e passadas para a subrotina "somar". Dentro da rotina, os parâmetros são avaliados e os argumentos '40' e '2' são obtidos. Estes valores são somados, o resultado é retornado e atribuído à variável "variavelResultado". É importante notar que variáveis não são parâmetros e nem argumentos.
[editar] Tipos de dados
Em linguagens de programação que utilizam explicitamente tipos de dados fortes, cada tipo de parâmetro é especificado na declaração da subrotina. As linguagens que utilizam inferência de tipos tentam descobrir automaticamente o tipo do parâmetro no corpo da função, enquanto as linguagens que utilizam tipos fracos descobrem o tipo do parâmetro em tempo de execução.
Algumas linguagens utilizam palavras reservadas especiais (void, por exemplo) para indicar que uma subrotina não possui parâmetros; na teoria dos tipos, estas funções levam uma lista vazia de parâmetros (cujo tipo não é void, mas unit).
[editar] Passagem de argumentos
O mecanismo exato para a atribuição de argumentos para parâmetros, chamada de "passagem de argumentos", depende da estratégia de avaliação utilizada para o parâmetro (tipicamente chamada por valor). Esta estratégia pode ser especificada através de palavras reservadas.
[editar] Argumento padrão
Algumas linguagens de programação permitem que argumentos padrão (ou, do inglês, default) sejam explicitamente passados através da declaração de uma subrotina. Isto permite a omissão do argumento durante a chamada da subrotina. Nestes casos, se não é passado um argumento na chamada da subrotina, o argumento padrão (que consta da declaração da subrotina) é utilizado. Em algumas linguagens é possível dizer que tal argumento é implícito (através da palavra reservada optional, por exemplo) e, quando a chamada não passar o valor, um valor bem conhecido é atribuído ao parâmetro (normalmente null, vazio ou zero).
[editar] Lista variável de parâmetros
Algumas linguagens permitem que subrotinas aceitem um número variável de parâmetros. O código, ou implementação, destas subrotinas deve percorrer esta lista para obter cada um dos parâmetros.
[editar] Parâmetros nomeados
Em algumas linguagens de programação os parâmetros de uma subrotina podem ser nomeados. Isto permite que o código que chama estas subrotinas "documente" a si próprio. Esta abordagem também dá maior flexibilidade ao código que chama a subrotina, permitindo a alteração na ordem dos argumentos passados ou mesmo a omissão de algum argumento, se necessário.
Referências
- ↑ Brian W. Kernighan e Dennis M. Ritchie. The C programming Language. 2 ed. Estados Unidos da América: Prentice-Hall, 1988. ISBN 0-13-110362-8