Modularização: FUNÇÕES

Até agora, escrevemos todo o nosso código dentro da funcao inicio(). Mas à medida que os programas crescem, eles se tornam difíceis de ler e manter. As Funções permitem quebrar um problema grande em pequenos pedaços independentes e reutilizáveis.

🍱 O Conceito de Caixa Preta

Uma função é como uma ferramenta especializada: você envia dados para ela (Entrada), ela realiza o trabalho (Processamento) e, opcionalmente, devolve um resultado (Saída).

graph LR
    A[📥 Entrada] --> B[⚙️ Função\nProcessamento Específico]
    B --> C[📤 Saída / Retorno]
    
    style B fill:#e3f2fd,stroke:#1e88e5,stroke-width:2px

🛡️ Por que usar Funções?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
programa {
    // Definindo uma função personalizada
    funcao exibir_cabecalho() {
        escreva("--------------------------\n")
        escreva("   PORTAL DE CURSOS 🚀    \n")
        escreva("--------------------------\n")
    }

    funcao inicio() {
        // Chamando a função várias vezes
        exibir_cabecalho()
        escreva("Bem-vindo ao curso de Funções!\n")
        exibir_cabecalho()
    }
}

⌨️ Anatomia de uma Função

Uma função no Portugol é definida fora da funcao inicio(), mas dentro das chaves do programa { ... }. Ela possui:

  • Nome: Para ser chamada (ex: exibir_cabecalho).
  • Parênteses: Para receber dados (opcional).
  • Chaves: Para delimitar as ordens que ela deve executar.

🏁 Resumo do Capítulo

As funções transformam você de um “escritor de código” em um “arquiteto de sistemas”. Nos próximos capítulos, veremos como enviar valores para dentro das funções (parâmetros) e como receber resultados de volta (retorno). 🚀