4

Estratégias para resoluções de problemas | Pense como um programador. (Parte 1)

#Lógica de Programação
Ígor Vieira
Ígor Vieira

Provalvemente se você faz parte ou está interessado em entrar na área de T.I, já deve ter visto algum conhecido ou pessoa na internet fazer a seguinte pergunta: “Como aprender/começar a programar ?”. Essa pergunta é tão frequente que se você digitar no youtube ou google apenas “como começar a..”, você verá nos primeiros resultados ou algum site explicando como começar a investir, ou resultados relacionados a programação de computadores.

Na minha opnião, isso acontece pois as duas coisas, tanto a programação quanto investimentos, são duas coisas que, além de parecerem complicas, possui uma enorme e vasta quantidade de contéudo na disponivel na internet. O que é ótimo porém, contúdo e entretanto. Confunde, gera dúvidas e talvez até afaste novatos, como aconteceu comigo no começo.

Então neste post, escrevo sobre o que eu queria ter encontrado na internet quando comecei a ter contato com a área de T.I e programação, um post que começa do começo, que fala sobre o mais essêncial e importante saber que um programador deve ter e que irá facilitar todo o restande a ser aprendido. A habilidade de resolver problemas.


Afim disso, vou escrever 5 artigos mostrando em cada, estratégias para a resolução de problemas.


E a primeira delas, é bem simples.


Enumere todas as ações possíveis

Quando enfrantamos um problema ou dilema específico, podemos não estar atentos a todas as nossas possíbilidades de resolução do mesmo.

Quem nunca soltou um “AH HA” depois de finalmente ter tentando uma opção diferente pra resolver uma charada/enigma ?

Mas pera ai, e se você tivesse enumerado todas as possíbilidades possíveis de ação em um determinado problema ?


Quase todos os problemas são de fato problemas pois, nós limitam de alguma forma, os enunciados dos problemas de uma prova qualquer na escola todos eram bem parecidos não é mesmo ? Sempre existia uma regra para difícultar nossa vída haha


Mas simplemente enumerando todas as ações possíveis de um determinado problema pode nós dar um insight para a resolução pois podemos testar todas as combinações possíveis até acharmos o que funciona.


Mais genericamente falando muitos problemas podem ser resolvidos quando reafirmando os enuanciados em termos mais formais.


E o que seria isso ?


Dado o problema do Fazendeiro, o Ganso e o saco de milho.


Reafirmando em temos formais:

Liste as regras do seu enunaciado.

Ex: O Fazendeiro só pode levar um item por vez no barco.

A rapoza e o ganso não podem ser deixadas sozinhas na mesma margem do rio.

O ganso e o saco de milho não podem ser deixados sozinhos na mesma margem.


Enumerando operações(ações) possíveis:

1 – Levar a raposa para a outra margem do rio.

2 – Levar o ganso para o outro lado do rio.

3 – Levar o saco de milho para o outro lado do rio.

E por último, deixe as ações mais genericas possíveis para fácilitar ainda mais.



Deixando as ações genericas:

1 – Levar o barco de uma margem para a outra

2 – Se o barco estiver vazio, carrega um item para a margem.

3 – Se o barco não estiver vazio, carregue um item para a outra margem.

4 – Se o barco não estiver vazio, descarregue um item na margem.


Prontinho, apenas enumerando todas as ações possíveis de um determinado problema, veja como as ações, impossíbilidades e possibilidades ficam extremamente mais claras ?

4
113

Comentários (4)

1
Ramon Bomfim

Ramon Bomfim

22/03/2021 18:12

Muito bom Ígor, vou passar a usar essa técnica em meu dia a dia como dev. Ansioso pelos próximos artigos xD


2
Cristiano Santos

Cristiano Santos

21/03/2021 23:00

Realmente a lógica é importante e organizar as ideias mais ainda. Por isso quem tem uma boa lógica pode programar em qualquer linguagem, só sendo necessário conhecer a sintaxe de cada linguagem. Por isso o principal para quem está começandoa programar é estudar bastante lógica e ficar fera para poder fazer seus algoritmos da melhor forma possível e poder implementar em qualquer linguagem a partir do momento que se tem uma boa lógica.

Gostei do seu texto, abraços amigo.

2
Caio Negrão

Caio Negrão

22/03/2021 09:25

Aquela importância do passo à passo. SHOW!

1
Pablo Godoy

Pablo Godoy

21/03/2021 20:53

Olá Ígor,


Legal teu texto, concordo bastante com ele, acredito que a chave para ser um programador / desenvolvedor é a lógica, quando se consegue consolidar ela na cabeça, pronto, podes resolver praticamente tudo. Usamos muito a lógica no dia a dia, em pequenas coisas que fazem muita diferença, algo fascinante e viciante. kkk

None

Brasil