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