É um trecho de um algoritmo mais complexo e que,
geralmente, encerra em si próprio um pedaço da solução de um problema maior.
Os subalgoritmos possibilitam a:
-
subdivisão dos algoritmos complexos, facilitando o seu entendimento;
-
estruturação dos algoritmos, facilitando a detecção de erros e a documentação
dos sistemas; e
-
modularização dos sistemas, facilitando a manutenção dos mesmos bem como a
reutilização dos subalgoritmos já implementados.
Biblioteca é o conjunto de
subalgoritmos, reutilizáveis, já desenvolvidos e que podem e devem ser
utilizados no desenvolvimento de novos sistemas.
-
Mecanismo de Funcionamento
Algoritmo
Complexo è Algoritmo Principal + diversos
Subalgoritmos
Estrutura
de um algoritmo complexo:
Algoritmo <nome do algoritmo>
Var <definição das variáveis globais>
<definição
dos subalgoritmos>
<corpo
do algoritmo principal>
-
Definição de Subalgoritmos
Um subalgoritmo é definido
por:
-
cabeçalho, onde são definidos o nome e o tipo do subalgoritmo, bem
como os seus parâmetros e variáveis locais;
-
corpo,
onde se encontram as instruções do subalgoritmo.
O nome de um
subalgoritmo é o nome simbólico pelo qual ele é chamado por outro algoritmo.
Variáveis
locais são aquelas definidas dentro do próprio subalgoritmo e só podem ser
utilizadas pelo mesmo.
Parâmetros
são canais por onde os dados são transferidos pelo algoritmo chamador a um
subalgoritmo, e vice-versa.
O tipo
de um subalgoritmo é definido em função do número de valores que o subalgoritmo
retorna ao algoritmo que o chamou. Segundo esta classificação, os subalgoritmos
podem ser divididos em dois tipos:
-
funções, que retornam um, e somente um, valor ao algoritmo chamador;
-
procedimentos, que retornam zero (nenhum) ou mais valores ao algoritmo chamador.
o Funções
Sintaxe de definição de uma função:
Função
<nome>
(<parâmetros>) : <tipo de dado>
Var
<variáveis locais>
<comando
composto>
Retorne <expressão>
Exemplo: Construa um algoritmo que emprega uma função para calcular o valor de um número elevado ao quadrado.
Fluxograma:
Função QUAD Algoritmo
Principal


Pseudocódigo:
Algoritmo Exemplo_Quad
Var X, Y
: real
Função QUAD(W
: real) : real
Var Z
: real
Z ß W * W
Retorne Z
Fim
Início
Escreva “Digite um Número”
Leia X
Y ß
QUAD(X)
Escreva X, “ ao quadrado é igual a “, Y
o Procedimentos
Sintaxe de definição de um procedimento:
Procedimento
<nome> (<parâmetros>)
Var
<variáveis locais>
<comando
composto>
Exemplo: Construa um algoritmo qualquer que se utilize de um procedimento para escrever o valor das componentes de um vetor.
Fluxograma:
Procedimento ESC_VETOR Algoritmo Principal


Pseudocódigo:
Algoritmo Exemplo_ESC_VETOR
Var VETOR
: conjunto[10] de real
Procedimento ESC_VETOR()
Var I
: inteiro
Para I de 1 até 10 faça
Escreva VETOR[I]
Fim_para
. . .
ESC_VETOR()
. . .
Fim