Módulo 12 - Funções, as máquinas do algoritmo
O que é uma função: a máquina dentro do algoritmo
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Definir função em uma frase, usando a analogia da máquina.
- Reconhecer que escreva e leia são funções que você já usa há 8 módulos.
- Diferenciar DEFINIR uma função (construir a máquina) de CHAMAR (ligar a máquina).
- Identificar máquinas de entrada e saída no seu dia a dia.
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: O que é uma função: a máquina dentro do algoritmo.
Os objetivos desta aula. Definir função em uma frase, usando a analogia da máquina. Reconhecer que escreva e leia são funções que você já usa há 8 módulos. Diferenciar DEFINIR uma função (construir a máquina) de CHAMAR (ligar a máquina). Identificar máquinas de entrada e saída no seu dia a dia.
Veja o essencial, parte por parte.
Sua cozinha está cheia de funções. Função é um bloco de instruções com nome que faz UMA tarefa: recebe entrada, trabalha e devolve saída.
Construir a máquina e apertar o botão. Trabalhar com funções envolve dois momentos bem diferentes, e confundi-los é o erro mais comum do iniciante.
Por que dar nome a um bloco de passos. Um elevador tem dezenas de engrenagens, mas você aperta um botão com um nome claro: térreo.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Sua cozinha está cheia de funções
Pare um minuto e olhe para a sua cozinha. O liquidificador recebe frutas e gelo, faz um trabalho barulhento lá dentro e devolve uma vitamina. A máquina de café recebe cápsula e água, trabalha, devolve café pronto. O micro-ondas recebe comida fria e um tempo, devolve comida quente. Você não sabe (nem precisa saber) o que acontece dentro de cada uma: sabe o que entra, sabe o que sai e confia no trabalho do meio. Uma função é exatamente isso dentro de um algoritmo: uma máquina com nome, construída uma vez, que você liga quantas vezes quiser.
Agora a revelação que estava escondida desde o módulo 4: você já usa funções há muito tempo. O comando escreva é uma função: recebe um texto como entrada e faz o trabalho de mostrá-lo na tela. O comando leia é outra: faz o trabalho de esperar a digitação e devolve o que a pessoa digitou. Você nunca precisou saber COMO o escreva desenha as letras na tela, e é esse o superpoder das funções: quem usa a máquina não precisa conhecer as engrenagens. Nesta aula, você passa de usuário a fabricante.
Construir a máquina e apertar o botão
Trabalhar com funções envolve dois momentos bem diferentes, e confundi-los é o erro mais comum do iniciante. O primeiro momento é DEFINIR a função: escrever o bloco de passos e dar um nome a ele. Isso é construir a máquina e colocá-la na bancada; nada acontece ainda, ela está desligada. O segundo momento é CHAMAR a função: escrever o nome dela no meio do algoritmo. Aí sim a máquina liga, executa os passos e devolve o resultado. Uma máquina construída e nunca ligada não faz vitamina nenhuma.
função boas_vindas()
escreva("Olá! Bem-vindo à padaria da esquina.")
escreva("Hoje tem pão quentinho.")
fim função
boas_vindas() // liga a máquina: mostra as duas mensagens
boas_vindas() // liga de novo: mostra as duas mensagens outra vezAs 4 primeiras linhas constroem a máquina; as 2 últimas apertam o botão.
🎮 Jogo da aula
É máquina ou é enfeite?
Função é máquina: recebe entrada, trabalha e devolve saída. Classifique cada item do dia a dia.
Repare no detalhe da chamada: o nome vem acompanhado de parênteses, como em boas_vindas(). Os parênteses são a boca da máquina, o lugar por onde a entrada entra. No exemplo acima eles estão vazios porque essa máquina simples não precisa de ingrediente nenhum. Na próxima aula, você vai colocar coisas dentro deles, e é aí que as funções ficam realmente poderosas: a mesma máquina produzindo resultados diferentes conforme o que você entrega a ela.
Por que dar nome a um bloco de passos
Você pode estar pensando: se a função só agrupa passos que eu já sabia escrever, qual é a vantagem? A primeira é a economia: escreve uma vez, usa mil vezes. A segunda é a clareza: um algoritmo que diz calcular_troco(pago, preco) se lê como uma frase em português; ninguém precisa decifrar dez linhas de conta para entender a intenção. A terceira é a manutenção: se a regra do troco mudar, você conserta UM lugar, e todos os pontos que chamam a função ganham o conserto de graça. Nos módulos anteriores seus algoritmos cresceram; as funções são o que impede esse crescimento de virar bagunça.
Teste rápido
O que acontece quando um algoritmo DEFINE uma função mas nunca a CHAMA?
Perguntas frequentes
- Função e algoritmo são a mesma coisa?
- São parentes próximos. A função É um algoritmo pequeno (passos claros, ordem definida, fim garantido) embalado com um nome para ser reutilizado. A diferença é de papel: o algoritmo resolve o problema inteiro; a função resolve um pedaço nomeado dele.
- Por que escreva e leia contam como funções se eu nunca as defini?
- Porque alguém as definiu por você: elas vêm prontas com a linguagem, como eletrodomésticos que já chegam montados. Toda linguagem real traz centenas de funções prontas (mostrar texto, arredondar número, medir tamanho de lista), e saber usá-las é metade do trabalho de programar.
- Uma função pode chamar outra função?
- Pode, e é assim que programas grandes funcionam. A função preparar_cafe_da_manha pode chamar fazer_cafe e torrar_pao, e cada uma delas pode chamar máquinas menores. É a mesma lógica de uma cozinha profissional: o chef comanda praças, e cada praça tem suas próprias máquinas.
- Existe limite de quantas vezes posso chamar a mesma função?
- Não. Depois de definida, a função pode ser chamada duas, mil ou um milhão de vezes, inclusive dentro de um laço ENQUANTO ou PARA dos módulos 9 e 10. Cada chamada é uma execução nova e independente, como ligar o liquidificador para cada vitamina.
- O nome da função pode ser qualquer coisa?
- Tecnicamente quase, mas na prática vale a regra dos nomes que se explicam, do módulo 3: use verbos que digam o que a máquina faz, como calcular_media ou mostrar_menu. Um algoritmo com funções bem nomeadas se lê como uma lista de tarefas em português.
- Os parênteses são obrigatórios mesmo quando estão vazios?
- Sim, e por um bom motivo: eles diferenciam a chamada da simples menção ao nome. boas_vindas() liga a máquina; boas_vindas sozinho seria só apontar para ela. Nas linguagens reais a regra é a mesma, então vale criar o hábito desde o pseudocódigo.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.