Curso Livre de Algoritmos e Programação/Subprogramas: Procedimentos e Funções

Subprogramas: Procedimentos e Funções editar

[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

  1. Guimarães, A de M - Algoritmos e estruturas de dados, 1994.