</AULA 06>
Sub-rotinas: Procedimentos e Funções
Sub-rotinas são blocos de código isolados que realizam uma tarefa específica. Elas são a base da Modularização.
Imagine o controle remoto de uma TV. Cada botão (sub-rotina) executa uma função específica (mudar canal, volume) sem que você precise saber como o circuito interno funciona.
Executa uma tarefa e não retorna nenhum valor para o chamador.
Em C: usa o tipo void.
Executa uma tarefa e obrigatoriamente retorna um valor ao final.
Em C: usa tipos como int, float, etc.
| Característica | Global | Local |
|---|---|---|
| Onde nasce? | Fora de todas funções. | Dentro de uma função. |
| Onde vive? | Em todo o programa. | Apenas naquela função. |
| Quando morre? | Ao fechar o programa. | Ao fim da função. |
| Vantagem | Dados compartilhados. | Economiza memória. |
| Risco | Difícil de rastrear. | Nenhum (isolada). |
Regra de Ouro:
O principal nunca vê o que está "dentro" (Local), mas a função vê o que está "fora" (Global).
Relembrando: Procedimentos realizam uma ação mas não devolvem valor ao programa chamador.
Relembrando: Funções são sub-rotinas que processam dados e sempre retornam um resultado ao chamador.
Conceito: A sub-rotina recebe uma cópia. Alterar o parâmetro não afeta a variável original.
Conceito: A sub-rotina acessa o endereço real da variável. Alterações afetam o dado original.
Em Python, não existem ponteiros manuais. A linguagem gerencia tudo como referências de objetos. Tipos simples (int, float) agem como "valor", enquanto listas e dicionários agem como "referência".
Em C, a passagem por referência usa Ponteiros (* e &). Este tema será o foco de uma aula dedicada exclusivamente em breve!