Subalgoritmos

 

 

É 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>

Início

<corpo do algoritmo principal>

Fim

 

 

-         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>

Início

         <comando composto>

         Retorne  <expressão>

Fim

 

 

 

 

 

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

Início

         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

Fim

 

 

o       Procedimentos

 

Sintaxe de definição de um procedimento:

 

Procedimento  <nome>  (<parâmetros>)

Var  <variáveis locais>

Início

         <comando composto>

Fim

 

 

 

 

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

Início

         Para  I  de  1  até  10  faça

                   Escreva  VETOR[I]

         Fim_para

Fim

Início

         . . .

         ESC_VETOR()

         . . .

Fim