Parâmetro (ciência da computação)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Ambox rewrite.svg
Esta página precisa ser reciclada de acordo com o livro de estilo (desde junho de 2010).
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.

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

  1. 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
Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Colaboração
Imprimir/exportar
Ferramentas
Noutras línguas