1
Campus Irati
Curso: Técnico em Informática
Modalidade: Subsequente
U.D.: Programação Orientada a Objetos
Professor: Arlindo L. Marcon Jr.
Sub-Rotinas ( Programação Modularizada )
Sub-rotinas, também chamadas de subprogramas, são blocos de instruções que realizam tarefas específicas. O código de uma sub-rotina é carregado uma vez e pode ser executado quantas vezes forem necessárias. Como o problema pode ser subdividido em pequenas tarefas, os programas tendem a ficar menores e mais organizados. Os programas em geral são executados linearmente, uma linha após a outra, até o fim. Entretanto, quando são utilizadas sub-rotinas, é possível a realização de desvios na execução dos programas. Estes desvios são efetuados quando uma função é chamada pelo programa principal.
Exemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
ALGORITMO
DECLARE sal, aum, novo_sal NUMÉRICO
LEIA ( sal ) aum := calculo ( sal ) novo_sal := sal + aum
ESCREVA ( “ O novo salário é ”, novo_sal )
FIM_ALGORITMO
SUB-ROTINA calculo ( sal NUMÉRICO )
DECLARE perc, valor NUMÉRICO
LEIA ( perc ) valor := sal * perc / 100
RETORNE valor
FIM_SUB_ROTINA calculo
O algoritmo apresentado tem como objetivo receber o valor do salário de um funcionário e calcular o novo salário. Para resolver este problema, utilizou-se o programa principal (representado pelo bloco de instruções entre as linhas 1 e 7) e uma sub-rotina (representado pelo bloco de instruções entre as linhas 8 e
13). O programa principal é executado linearmente até a linha 4. Neste ponto, existe uma chamada à sub-rotina calculo (que recebe como parâmetro o valor do salário inicial) e o programa principal fica temporariamente suspenso. A ordem de execução das instruções é, então, desviada para a linha 8, onde começa a sub-rotina calculo. A execução só volta ao programa principal quando o comando RETORNE é executado (linha 12). Esse comando é responsável também por devolver ao programa principal um valor calculado dentro da sub-rotina (nesse