Cursos / Informática para Internet / Lógica de Programação / Aula
Com os conhecimentos adquiridos até hoje, já somos capazes de construir algoritmos que podem resolver problemas de diversos tipos.
Além da diversidade de tipos de problemas, nos algoritmos, poderemos nos deparar com diversas situações diferentes dentro de um mesmo problema. E quanto maior essa diversidade, podemos dizer que maior é a complexidade do algoritmo.
Para reduzir essa complexidade, é interessante utilizarmos a nossa habilidade de raciocínio lógico para decompor os problemas grandes e complexos em diversos problemas menores e mais simples.
Dessa forma, fica mais fácil manter o foco em um "subproblema" por vez, aumentando a compreensão.
Em algoritmos, essa decomposição é possível quando utilizamos os subalgoritmos.
Um subalgoritmo é um trecho de programa que contém início e fim, executa um determinado conjunto de instruções e possui um identificador, por meio do qual pode ser chamado em qualquer parte do algoritmo, como se fosse um comando.
Imagine que um determinado algoritmo precisa realizar um mesmo conjunto de ações repetidas vezes ao longo de sua execução. Ao invés de escrevermos esse conjunto de ações várias vezes ao longo do algoritmo, criamos um subalgoritmo e o algoritmo principal o "chama" sempre que precisar dele.
Por exemplo: Ao preencher um formulário com dados de diversas pessoas, o usuário digita, em dado momento, o ano de nascimento da pessoa e, automaticamente, é preenchido o campo seguinte, com a idade da pessoa.
Em um programa que não utiliza subalgoritmos, a expressão idade <- ano_atual – ano_nascimento é calculada cada vez que novos dados são inseridos. Se utilizarmos um subalgoritmo que realize esse cálculo, apenas "chamamos" o subalgoritmo no momento necessário.
Ao terminar a execução do subalgoritmo "chamado", o fluxo de execução natural do algoritmo principal prossegue.
Dessa forma, quando um algoritmo é muito complexo, a estratégia é dividi-lo em um algoritmo principal e diversos (tantos quantos forem necessários) subalgoritmos. Se, ainda assim, algum nível de complexidade for mantido, é possível que os subalgoritmos criem e utilizem outros subalgoritmos.
A utilização de subalgoritmos facilita o trabalho do programador, pois, além de melhorar a compreensão e reduzir a complexidade, permite que se detectem e corrijam eventuais falhas com maior precisão e agilidade e favorece, também, a reutilização de subalgoritmos que foram implementados em outros programas. Dessa forma, reduzimos, além da complexidade, o tempo gasto para escrever o programa.
Versão 5.3 - Todos os Direitos reservados