Módulo 8 - Funções que valem ouro
Parâmetros e argumentos: a função que recebe
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 08/07/2026
O que você vai aprender
- Escrever funções que recebem vários parâmetros.
- Diferenciar parâmetro (na definição) de argumento (na chamada).
- Respeitar a ordem dos parâmetros ao chamar a função.
- Entender o valor padrão de um parâmetro opcional.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Parâmetros e argumentos: a função que recebe.
Os objetivos desta aula. Escrever funções que recebem vários parâmetros. Diferenciar parâmetro (na definição) de argumento (na chamada). Respeitar a ordem dos parâmetros ao chamar a função. Entender o valor padrão de um parâmetro opcional.
Veja o essencial, parte por parte.
Receber vários dados de uma vez. Parâmetros são as entradas que a função espera, listadas na definição dela.
A ordem dos argumentos é sagrada. O ponto que mais gera bug com parâmetros é a ordem.
Parâmetros com valor padrão. Muitas linguagens permitem que um parâmetro tenha um valor padrão, usado quando quem chama não fornece aquele argumento.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Receber vários dados de uma vez
No curso básico, a função apareceu como uma máquina que recebe uma entrada, faz um trabalho e devolve uma saída. Isso está certo, mas as máquinas úteis costumam ter mais de uma entrada. Uma calculadora de desconto precisa saber o preço e a porcentagem. Uma função que monta uma mensagem precisa do nome e do assunto. Para receber vários dados, a função lista vários parâmetros na sua definição, separados por vírgula: função desconto(preco, taxa). Cada parâmetro é um espaço reservado, um apelido que a função usa lá dentro para se referir ao valor que vai chegar. Enquanto a função não é chamada, preco e taxa são só nomes esperando por valores.
A diferença entre parâmetro e argumento confunde no começo, mas é simples e vale fixar. O parâmetro é o nome na definição, a etiqueta do espaço reservado. O argumento é o valor de verdade que você entrega na hora de chamar. Quando você escreve desconto(100, 10), os números 100 e 10 são os argumentos, e eles preenchem os parâmetros preco e taxa. Uma analogia: o parâmetro é o campo em branco de um formulário (nome, data de nascimento); o argumento é o que você escreve nele. O formulário define os campos uma vez; cada pessoa que o preenche fornece argumentos diferentes.
A ordem dos argumentos é sagrada
O ponto que mais gera bug com parâmetros é a ordem. Os argumentos preenchem os parâmetros na sequência em que aparecem: o primeiro argumento vai para o primeiro parâmetro, o segundo para o segundo, e assim por diante. A função não adivinha a sua intenção pelo nome nem pelo tipo; ela obedece à posição. Se a função é dividir(bolo, pessoas) e você chama dividir(4, 12) querendo dividir um bolo entre doze pessoas, mas passou o número de pessoas primeiro, a função vai dividir quatro bolos entre doze pessoas, ou pior, calcular algo sem sentido. O programa não reclama, porque os dois são números válidos; ele só faz a conta errada em silêncio. Por isso, ao chamar uma função, confira sempre a ordem que ela espera.
função desconto(preco, taxa)
retorne preco - (preco * taxa / 100)
fim
escreva(desconto(100, 10)) // 90: preco=100, taxa=10
escreva(desconto(10, 100)) // 0: agora preco=10, taxa=100. Ordem trocada, resultado errado!A função obedece à posição: trocar a ordem dos argumentos troca o significado deles, sem erro visível.
🎮 Jogo da aula
Siga a ordem dos parâmetros
A função recebe dois parâmetros. Encaixe os argumentos na ordem certa e escolha o que sai.
função saudacao(nome, periodo)
retorne "Bom " + periodo + ", " + nome + "!"
fim
escreva(saudacao("Ana", "dia"))Parâmetros com valor padrão
Muitas linguagens permitem que um parâmetro tenha um valor padrão, usado quando quem chama não fornece aquele argumento. Isso deixa a função flexível: o caso comum fica curto, e o caso especial ganha um ajuste. Pense numa função que calcula frete com um parâmetro taxa que, por padrão, vale a taxa normal. Na maioria das vezes você chama sem informar a taxa e a função usa o padrão; quando há uma promoção, você passa a taxa reduzida e ela usa a sua. O valor padrão evita repetir o valor mais comum em toda chamada e ainda documenta qual é o comportamento esperado. É um recurso pequeno que deixa as funções mais agradáveis de usar, e você o encontrará em quase toda linguagem moderna.
Teste rápido
Qual a diferença entre um parâmetro e um argumento?
Perguntas frequentes
- Qual a diferença prática entre parâmetro e argumento?
- Parâmetro é o nome na definição da função, o espaço reservado (preco). Argumento é o valor que você passa ao chamar (100). Na prática, você define os parâmetros uma vez, ao escrever a função, e fornece argumentos diferentes a cada chamada. Muita gente usa os termos como sinônimos, mas conhecer a diferença ajuda a ler documentação.
- O que acontece se eu trocar a ordem dos argumentos?
- A função encaixa cada argumento no parâmetro da mesma posição, então trocar a ordem troca o significado. Se os dois são números, o programa não acusa erro, só calcula errado em silêncio. Por isso é importante conferir a ordem que a função espera antes de chamá-la.
- Quantos parâmetros uma função pode ter?
- Tecnicamente vários, mas o bom senso pede moderação. Funções com muitos parâmetros ficam difíceis de chamar e de lembrar a ordem. Quando uma função pede seis ou sete dados, costuma ser sinal de que ela faz coisas demais e poderia ser dividida, ou de que os dados deveriam vir agrupados numa estrutura.
- O que é um valor padrão de parâmetro?
- É um valor que o parâmetro assume quando quem chama não passa aquele argumento. Deixa a função flexível: o caso comum usa o padrão e fica curto; o caso especial passa um valor próprio. Nem toda linguagem oferece do mesmo jeito, mas o conceito é comum e útil.
- Posso passar uma lista ou dicionário como argumento?
- Pode. O argumento pode ser qualquer valor: número, texto, lista, dicionário, conjunto. Uma função que calcula a média recebe uma lista de notas como argumento; uma que formata um cadastro recebe um dicionário. Passar estruturas para funções é o normal em programas de verdade.
- O nome do argumento precisa ser igual ao do parâmetro?
- Não. O que importa é a posição, não o nome. Você pode ter uma variável chamada valor e passá-la para um parâmetro chamado preco; a função só se importa com o valor que chega, não com o nome de fora. Dentro da função, o dado é conhecido pelo nome do parâmetro.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.