Curso Livre de Algoritmos e Programação/Subprogramas: Procedimentos e Funções
Subprogramas: Procedimentos e Funções
[editar | editar código-fonte][1]São blocos de instruções que realizam tarefas específicas, que carregado uma vez e pode ser executado quantas vezes for necessário. Podem ser usadas para economizar espaço e tempo de programação já que podem ser usadas várias vezes num mesmo programa.
Cada módulo, além de ter acesso às variáveis do programa que o chamou (são as variáveis globais), pode ter suas próprias variáveis (são as variáveis locais), que existem apenas durante sua chamada. Ao se chamar um módulo, também é possível passar-lhe determinadas informações que recebem o nome de parâmetros.
São ressaltadas algumas vantagens, como:
- Dividir e estruturar um algoritmo em partes logicamente coerentes;
- Facilidade de testar os trechos em separado;
- Evitar repetição do código-fonte;
-Maior legibilidade de um algoritmo.
Existem tipos de subprogramas, listaremos dois, que são: Procedimentos, estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento é chamado. E também, funções: tipo especial de procedimento onde depois de executada a chamada, o valor calculado é retornado no nome da função que passa a ser uma variável da expressão. Funções e procedimentos permitem modularizar algoritmos. As funções são chamados dentro do corpo do programa principal como se fossem comandos. Após seu término, a execução continua a partir do ponto onde foi chamado. Cada função, tem acesso às variáveis do programa que o chamou (variáveis globais), e tem acesso as suas próprias variáveis (variáveis locais), que existem apenas durante sua chamada.
Variável global é vista pelo programa principal e por todos os módulos pertencentes a ele.
Variável local é visível ao módulo em que ela foi declarada e aos módulos hierarquicamente inferiores.
Ao se chamar um módulo, também é possível passar-lhe determinadas informações que recebem o nome de parâmetros.
Exemplos:
Declaração de um procedimento:
procedimento <nome do procedimento>
[(<sequencia de declaração de parametros>)]
var
// Seção de Declarações Internas inicio
// Seção de Comandos
fimprocedimento
Declaração de uma função:
funcao <nome-de-funcao>
[(<sequencia-declaração-de-parametro>)]
<tipo-de-dado>
var
// Seção de Declarações Internas inicio
// Seção de Comandos
fimfuncao
- ↑ Guimarães, A de M - Algoritmos e estruturas de dados, 1994.