Você está na página 1de 19

ALGORITMOS

PROFESSOR MATHEUS CONCEIÇÃO DA SILVA


PARTICIONAMENTO DE ALGORITMOS EM SUBALGORITMOS

O crescimento na quantidade de comandos de um programa frequentemente


acarreta um aumento na sua complexidade. Essa complexidade costuma expandir à medida
que mais linhas de código são necessárias para definir as operações diversas que os
algoritmos precisam executar.
Quando lidamos com um grande algoritmo, é comum encontrar uma variedade de
operações presentes em diferentes tipos de rotinas. Quanto maior o problema a ser resolvido
por um programa, maior a probabilidade de que múltiplas operações sejam necessárias para
alcançar a solução. Consequentemente, o programa cresce em tamanho e complexidade.
PARTICIONAMENTO DE ALGORITMOS EM SUBALGORITMOS

Uma estratégia valiosa para simplificar a construção de softwares extensos é o uso de


subalgoritmos. Estes representam uma técnica que possibilita a divisão de tarefas complexas
em unidades menores e mais gerenciáveis, facilitando a compreensão e manutenção do
código.
Exato, um subalgoritmo é uma porção de código que tem um nome específico e uma
estrutura claramente definida, com um início e um fim. Dentro dessa estrutura, uma
operação é executada por meio de um conjunto de passos ou instruções.
PARTICIONAMENTO DE ALGORITMOS EM SUBALGORITMOS

A grande vantagem dos subalgoritmos é que podem ser invocados em qualquer parte
do programa principal, desde que sejam fornecidas as informações necessárias, também
conhecidas como parâmetros, conforme definido na estrutura do próprio subalgoritmo. Isso
permite a reutilização eficiente de código, já que uma vez definido um subalgoritmo, ele pode
ser chamado várias vezes no programa principal, simplificando o desenvolvimento,
facilitando a manutenção e promovendo a modularidade do código.
PARTICIONAMENTO DE ALGORITMOS EM SUBALGORITMOS

A utilização de subalgoritmos permite ao programador dividir o programa em vários


"microalgoritmos". Cada um desses componentes deve ter uma função específica, focada na
resolução de um problema particular. Ao definir essas unidades menores, tornamos a leitura
do programa mais acessível e compreensível.
PARTICIONAMENTO DE ALGORITMOS EM SUBALGORITMOS

Outra vantagem é que ao construir algoritmos utilizando esses particionamentos,


geralmente, facilita-se a identificação e correção de erros (os famosos bugs). Isso se torna
possível porque, ao dividir um "grande problema" em vários problemas menores, o
programador pode concentrar-se em uma parte específica do programa, ou seja, no
"subalgoritmo" que faz parte da solução completa.
PARTICIONAMENTO DE ALGORITMOS EM SUBALGORITMOS

No entanto, antes de utilizar um subalgoritmo, há algumas informações essenciais


que precisam ser consideradas para sua construção:
PARTICIONAMENTO DE ALGORITMOS EM SUBALGORITMOS
Nome - Este é o identificador pelo qual o subalgoritmo será chamado no algoritmo principal.

Parâmetros - São as informações, ou dados, que serão utilizados pelos comandos internos
do subalgoritmo. Esses dados serão processados pelas instruções do subalgoritmo e, ao final,
podem resultar em um retorno de processamento.

Variáveis - Nos subalgoritmos, geralmente é necessário declarar variáveis dentro deles para
serem utilizadas pelos comandos internos. A definição da quantidade e dos tipos de variáveis
depende das operações realizadas pelo subalgoritmo.

Tipo - Subalgoritmos podem ser de dois tipos: funções ou procedimentos.


CLASSIFICAÇÃO DE UM SUBALGORITMO

As funções geralmente têm parâmetros de entrada, ou seja, dados que são passados
para ela, e um valor de saída, chamado de retorno. Em algumas linguagens de programação,
é possível definir funções sem um valor de retorno. Além disso, ao criar uma função,
dependendo da linguagem utilizada, pode ser necessário especificar o tipo de dado que será
retornado ao término do uso da função. Esse retorno pode ser de tipos como inteiro, real,
lógico ou texto.
CLASSIFICAÇÃO DE UM SUBALGORITMO

Os subalgoritmos do tipo procedimento têm apenas parâmetros de entrada e não


têm um valor de saída específico. Nesse cenário, o procedimento executa operações
diretamente nas variáveis passadas como parâmetros de entrada, modificando seus valores
no algoritmo principal.
Além disso, é possível usar um subalgoritmo dentro de outro subalgoritmo. Sua
aplicação é permitida em qualquer parte do programa, contanto que os parâmetros de
entrada necessários sejam fornecidos.
SINTAXE DE FUNÇÕES

Agora vamos aprender como definir funções para serem usadas nos seus algoritmos.
Uma função precisa ter um nome e os parâmetros necessários para ser utilizada.
Dentro da função, você precisará inserir os comandos que ela executará quando for
chamada. Esses comandos devem ser independentes o suficiente para gerar um resultado a
partir dos valores dos parâmetros de entrada fornecidos. Em resumo, uma função é como
um pequeno algoritmo que, com base nos parâmetros de entrada, consegue gerar um
resultado quando é utilizada.
SINTAXE DE FUNÇÕES

Ao final da execução, o resultado obtido, ou seja, o dado derivado das operações


realizadas internamente, precisa ser "enviado de volta" para o algoritmo principal. Essa ação é
conhecida como retorno da função.
O trecho de código a seguir demonstra uma função que executa a adição de dois
números inteiros. Note atentamente: na linha 1 do código, está a definição do nome da
função e dos dois parâmetros de entrada necessários para utilizá-la.
SINTAXE DE FUNÇÕES

Ao final da execução, o resultado obtido, ou seja, o dado derivado das operações


realizadas internamente, precisa ser "enviado de volta" para o algoritmo principal. Essa ação é
conhecida como retorno da função. O trecho de código a seguir demonstra uma função que
executa a adição de dois números inteiros e demonstra como usar a função "soma" que foi
definida em um algoritmo específico, onde havia a necessidade de realizar uma adição.
SINTAXE DE FUNÇÕES
SINTAXE DE FUNÇÕES

Linguagens de programação oferecem variáveis para armazenar dados durante a


execução de algoritmos. Uma consideração importante, até agora não abordada, é o escopo
das variáveis, ou seja, a extensão em que uma variável está acessível. É essencial estar atento
a isso para evitar erros ao tentar acessar variáveis indisponíveis em determinadas partes do
código.
SINTAXE DE FUNÇÕES

Variáveis com escopo global estão acessíveis em qualquer parte do programa,


independentemente do tamanho deste.
Por outro lado, as variáveis de escopo local são restritas à região em que são
declaradas. Por exemplo, uma variável definida dentro de uma função existe apenas nesse
contexto. Após a conclusão da função, essa variável deixa de existir, a menos que seu valor
tenha sido armazenado em uma variável global.
SINTAXE DE FUNÇÕES

É importante destacar que as variáveis ocupam espaço na memória do computador.


Assim, declarar variáveis globais não utilizadas aumenta o consumo de memória. É
recomendado declarar globalmente apenas as variáveis necessárias em todo o algoritmo.
SINTAXE DE FUNÇÕES

Geralmente, as variáveis locais são declaradas ao usar funções ou procedimentos.


Elas são essenciais para o processamento interno dessas estruturas, armazenando
temporariamente dados que serão utilizados durante o processamento. No final, apenas o
resultado é necessário, permitindo o descarte dos dados armazenados nas variáveis locais
sem prejudicar o programa principal."
REFERÊNCIAS

ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi de. Fundamentos da
programação de computadores: algoritmos, Pascal e C/C++ (Padrão Ansi) e Java. 3. ed. São
Paulo: Pearson Education do Brasil, 2012.

CORMEN,Thomas H et al. Algoritmos: teoria e prática. trad. 2ª.ed. Rio de Janeiro:


Campus/Elsevier, 2002.

Você também pode gostar