Módulo 12 - Funções, as máquinas do algoritmo
Parâmetros: o que entra na máquina
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Entender o parâmetro como a boca de entrada da máquina.
- Diferenciar parâmetro (o espaço reservado) de argumento (o valor enviado).
- Chamar a mesma função com valores diferentes e prever cada resultado.
- Respeitar a ordem dos parâmetros em funções com mais de uma entrada.
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: o que entra na máquina.
Os objetivos desta aula. Entender o parâmetro como a boca de entrada da máquina. Diferenciar parâmetro (o espaço reservado) de argumento (o valor enviado). Chamar a mesma função com valores diferentes e prever cada resultado. Respeitar a ordem dos parâmetros em funções com mais de uma entrada.
Veja o essencial, parte por parte.
A boca da máquina: os parênteses ganham recheio. Parâmetro é a entrada da função: uma variável declarada nos parênteses que recebe um valor a cada chamada.
Uma máquina, mil resultados. troco(preco, valor_pago) no lugar de troco(valor_pago, preco) compila, roda e devolve valor errado.
Olhando escreva e leia com olhos novos. Volte agora às duas funções que você usa desde o módulo 4.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
A boca da máquina: os parênteses ganham recheio
Na aula passada, a função boas_vindas tinha parênteses vazios e mostrava sempre as mesmas mensagens. Útil, mas engessada: é um liquidificador que só faz vitamina de banana. A evolução natural é abrir a boca da máquina e deixar que cada chamada entregue um ingrediente. Esse ingrediente entra por um espaço com nome, declarado nos parênteses da definição: o parâmetro. Dentro da função, o parâmetro se comporta como uma variável comum do módulo 3, uma caixa etiquetada; a diferença é que quem enche a caixa é a chamada.
Aqui mora uma dupla de nomes que confunde todo iniciante, então vale separar de vez. PARÂMETRO é o espaço reservado na definição: o copo do liquidificador, sempre o mesmo, esperando conteúdo. ARGUMENTO é o valor concreto que a chamada envia: a banana de hoje, o morango de amanhã. Na definição função saudacao(nome), nome é parâmetro. Na chamada saudacao(“Ana”), “Ana” é argumento. O argumento viaja até o parâmetro, e a função trabalha com o que recebeu. Errar esse vocabulário não quebra programa nenhum, mas acertá-lo deixa qualquer documentação fácil de ler.
Uma máquina, mil resultados
O poder do parâmetro aparece quando você chama a mesma função várias vezes seguidas. Pense no caixa da padaria dando bom-dia: o roteiro é sempre o mesmo, muda só o nome do freguês. Sem função, você escreveria a mensagem completa para cada cliente. Com função e parâmetro, o roteiro mora num lugar só e o nome entra como ingrediente. É o mesmo salto de escala das repetições do módulo 9, agora aplicado à estrutura do algoritmo: o esforço de escrever não cresce junto com o número de usos.
🎮 Jogo da aula
Preveja a saída da máquina
A mesma função é chamada duas vezes com argumentos diferentes. Leia com calma e escolha o que aparece na tela.
função saudacao(nome)
escreva("Olá, " + nome + "!")
fim função
saudacao("Ana")
saudacao("Bruno")Funções aceitam mais de um parâmetro, separados por vírgula, e aí entra uma regra que você já respeita sem perceber: a ordem. Na função troco(valor_pago, preco), a chamada troco(50, 30) coloca 50 no valor pago e 30 no preço, devolvendo 20. Inverter para troco(30, 50) faz a máquina calcular um troco de 20 reais negativos, um absurdo silencioso: o programa roda sem reclamar e devolve bobagem. É o computador literal do módulo 1 agindo de novo: ele entrega cada argumento ao parâmetro da posição correspondente, sem adivinhar a sua intenção.
Olhando escreva e leia com olhos novos
Volte agora às duas funções que você usa desde o módulo 4. Quando você escreve escreva(“Bem-vindo”), o texto entre parênteses é um argumento: o ingrediente que a máquina de mostrar mensagens recebe. Cada escreva com texto diferente é a mesma máquina com recheio novo. Já o leia() é uma máquina cujo trabalho é esperar a digitação: a entrada dele vem do teclado, e o que ele produz volta para o seu algoritmo. Essa produção que volta tem nome técnico, retorno, e é o assunto da próxima aula. Por ora, fica a mudança de olhar: você não usava comandos soltos, usava máquinas com boca de entrada.
- escreva(“texto”) é uma chamada de função com um argumento de texto.
- escreva(nome) também: o argumento pode ser uma variável, e vale o conteúdo dela.
- leia() é uma chamada sem argumento, cuja produção abastece uma variável sua.
- Toda linguagem real segue esse desenho: nome da função + parênteses + argumentos.
Teste rápido
Na definição função dobro(numero) e na chamada dobro(7), quem é parâmetro e quem é argumento?
Perguntas frequentes
- Quantos parâmetros uma função pode ter?
- Tecnicamente, quantos você quiser. Na prática, funções com mais de três ou quatro entradas ficam difíceis de chamar sem errar a ordem. Quando a lista cresce demais, costuma ser sinal de que a máquina está fazendo trabalho demais e merece ser dividida, assunto da aula 4.
- O que acontece se eu chamar a função com argumentos a menos?
- No pseudocódigo do curso, tratamos como erro: a máquina esperava dois ingredientes e recebeu um, então não tem como trabalhar. As linguagens reais variam entre acusar erro na hora, usar um valor padrão ou seguir com um vazio perigoso. A regra de ouro é sempre conferir a definição.
- O parâmetro é uma variável normal?
- Dentro da função, sim: uma caixa etiquetada que você lê e usa como qualquer variável do módulo 3. A particularidade é o abastecimento: quem coloca o valor na caixa é a chamada, através do argumento, e isso acontece de novo a cada chamada.
- Posso passar uma variável como argumento em vez de um valor direto?
- Pode, e é o uso mais comum. Em preco <- 30 seguido de troco(50, preco), a função recebe o CONTEÚDO da caixa preco, ou seja, 30. A máquina não sabe nem se importa de onde o ingrediente veio: valor digitado, variável ou resultado de outra função.
- Parâmetro e argumento são mesmo coisas diferentes ou é frescura de vocabulário?
- A distinção é real e útil: o parâmetro é fixo na definição, o argumento muda a cada chamada. Muita gente usa os termos como sinônimos no dia a dia e todo mundo se entende, mas em documentação, provas e entrevistas a diferença aparece, então vale dominar.
- E se dois parâmetros tiverem o mesmo tipo, como dois números?
- Aí a ordem vira sua única proteção, porque o programa não tem como adivinhar qual número é qual. É o caso do troco(valor_pago, preco): os dois são números, e só a posição diz quem é quem. Nomes de parâmetro claros na definição ajudam quem chama a não inverter.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.