wevolve logo
Você precisa dividir para conquistar
Início / Blog / Você precisa dividir para conquistar

Você precisa dividir para conquistar

Por Italo A. Tempo de leitura 3 minutos

Um conceito muito utilizado em programação é o dividir para conquistar que consiste basicamente em pegar um problema grande e dividi-lo em partes menores que podem ser processadas mais facilmente, você divide um problema para conquistar a solução, esse tipo de técnica é muito utilizada em algoritmos de ordenação justamente pela sua lógica de subdivisão.

Esta é uma abordagem utilizada em algoritmos, mas também pode ser utilizada em diversos problemas do dia a dia, você se acostuma a subdividir quaisquer problemas que existam no seu contexto para que eles se tornem simples o suficiente para solução.

Como dividir para conquistar na programação

Quando você está tentando desenvolver um projeto ou resolver um problema, é fácil ficar desanimado com o tamanho ou a complexidade inicial de um escopo, porém ao invés de se intimidar, trabalhe em separar o problema em subproblemas cada vez menores, até que cada subproblema individual pareça gerenciável e viável.

Por exemplo, digamos que você queira fazer um jogo de pedra, papel, tesoura. Ao separar os passos para construção você verá que o jogo consiste em vários subproblemas como: iniciar o jogo, obter a entrada do usuário, fazer o computador escolher uma opção aleatória, determinar quem ganhou e repetir tudo isso (se você quiser jogar vários jogos).

Se você não souber como resolver cada um desses subproblemas, tente separá-los ainda mais, por exemplo, se você não souber como determinar quem ganhou, pode separá-lo em: determinar se você empatou, determinar se você ganhou (supondo que você escolheu pedra), definir quem perdeu… Esses passos automaticamente irão se tornar funcionalidades do seu jogo e ajudarão você a completar de forma gradual o problema maior que é programar o jogo.

A grande maioria dos projetos e problemas que você identificar em programação poderão ser adaptados e repensados dentro do conceito de dividir para conquistar, isso lhe dará uma visão mais clara de tudo que precisa ser feito e talvez até mostre para você que existem caminhos mais simples.

A vantagem de dividir e conquistar problemas

Iniciar a abordagem de um problema através da divisão e documentação lhe dará a possibilidade de ter uma visão geral de como esse problema será resolvido, muitas vezes fazendo com que nessa primeira divisão você tenha ideias e conclusões que ainda não havia cogitado, além de automaticamente você já ter separado todas as tarefas para execução passo a passo do que você pretende solucionar. A subdivisão do problema criar um caminho de o que precisa ser feito, assim quando chegar a hora de realmente por a mão na massa você não precisará pensar no problema maior, apenas programar e resolver o que precisa.

Internamente, você está adquirindo a mentalidade de um engenheiro. Se um problema é grande, não desista. Continue separando em peças cada vez menores e pesquisando coisas que pareçam irredutíveis. Em seguida, repita, continuando o ciclo: desmembre, procure no Google, desmembre, procure no Google…

Isso, aliás, é uma estratégia bastante eficaz para aprender novas habilidades! Ao praticar, você ficará melhor em ver como decompor problemas e expandirá seu leque de conhecimento e soluções possíveis para problemas diferentes.

Conclusão

Ao enfrentar problemas de forma sistemática, você expande seu conhecimento e soluções possíveis, desenvolvendo habilidades valiosas para a autoaprendizagem. Portanto, ao se deparar com projetos ou desafios aparentemente grandes e complexos, lembre-se dessa técnica e desmembre-os em partes menores para enfrentá-los de maneira mais eficiente.

Essa abordagem continuará a ser uma aliada valiosa em seu crescimento como programador e solucionador de problemas.