Executando verificação de segurança...
8

Resposta simples: estudando.

Você pega um livro, vê como faz e faz. Faz muito. Estudar é o processo completo. Só ler a teoria não é estudar, só praticar não é estudar.

A resposta mais completa começa dizendo que o termo "lógica de programação" é polêmico, para dizer o mínimo.

Lógica é lógica. Se quer desenvolver isso, é matemática, é aprendizado contínuo, é entender a relação entre as coisas, as ações e consequências disso. Não existe a pessoa aprender programação sem saber lógica.

Eu já pesquisei e até hoje nunca encontrei um local que explique o que é a tal "lógica de programação", mesmo os livros que possuem esse termo no título não explicam o que ele significa. Eles explicam o que é fazer algoritmo. Não confio muito em quem usa termos erros. Em inglês não se usa esse termo. Então vou entender que quer saber como fazer construção de algoritmos.

Então, sabendo lógica dentro do estudo normal que aprende na escola e no dia a dia da vida, você precisa aprender programação, ou seja, precisa aprender como usar as variáveis, operadores, funções, tipos de dados, conjuntos, e outras coisas, que são conceitos matemáticos que a pessoa já deveria saber, além de alguns comandos específicos que embora tenha em matemática não é muito usado, que é o tal controle de fluxo do algoritmo e são apenas três: sequência, seleção e desvio.

E aí vai aprendendo desenvolver algoritmos que é receber dados, manipulá-los e entregar um resultado. Vai vendo o que já foi feito e vai exercitando, cada vez com problemas diferentes mais difíceis. Vai treinando cada uso matemático, provavelmente em uma linguagem de progranação.

Hoje eu tenho dúvidas se deveria aprender com uma "linguagem falsa", tipo Portugol, fluxograma ou algo do tipo. Não tenho dados que indicam se isso é melhor ou pior.

Um erro comum que as pessoas fazem é pedir para outras pessoas fazerem para elas em vez de aprender fazer por conta própria. Quem faz isso está trapaceando. Trapaceando quem? A si própria, está se enganando fingindo que está aprendendo quando na verdade está só decorando coisas prontas, e isso é tudo, menos programar.

Então você está pegando exercícios que pedem para você criar algoritmos. Ou seja, pede para exercer seu conhecimento matemático. Programação é a matemática aplicada em cada momento. É ridículo quando alguém fala que não precisa de matemática para programar, porque mostra que ela não tem a menor ideia do que é programação.

Programação pura mesmo é sintaxe e semântica das linguagens, além de usar ferramentas. Mas só isso não é programar. Programar é criar soluções antes de tudo, é criar algoritmos, depois você codifica em alguma linguagem para instruir o computador a fazer algo. A tal "lógica de programação" é criar a solução para o problema, é o que todo mundo aprende ou deveria ter aprendido na matemática. Não importa fórmula, é a capacidade de criar suas próprias fórmulas sabendo os primitivos da matemática e do controle e fluxo de um algoritmo.

A dificuldade das pessoas em aprender programação está sempre ligada em não entender a matemática corretamente. Não entender a relação de números e outros dados e como cada ação gera uma consequência e ter capacidade de encadear essas ações para ir mudando dados para alcançar o resultado esperado.

Saber decompor problemas complexos em problemas menores para ir passo por passo é outra característica importante, e é matemática também.

O segredo é nunca fazer nada sem entender o que está acontecendo, em cada detalhe. Toda vez que for para o próximo passo sem entender vai deixando buracos na sua formação.

Precisa pegar muito exercício mesmo. E aí vem outro ponto que empaca muita gente. Para entender o enunciado de um problema para entender o que tem que fazer precisa de interpretação de texto. Novamente é o básico do básico, não é programação. Interpretando corretamente achar a solução entra a matemática.

Só para completar, no futuro você terá que criar até o enunciado dos problemas. Em trabalho real ninguém te diz qual é o problema, você tem que se virar para descobrir, eventualmente entrevistando o usuário que não entende nada do que ele precisa, e terá que produzir, mesmo que informalmente, o que é o enunciado. Então programar além de exercício envolve criar problema baseado em uma realidade para depois criar a solução. Mas isso não importa no contexto aqui.

Não pode focar no resultado, tem que focar no processo. Tem que fazer muito teste de mesa. E aprender como o computador funciona, porque você está escrevendo o que ele deve fazer, não tem como fazer isso bem sem entender essas minúcias. Precisa saber os fundamentos, os conceitos que vai usar, não é só dar o resultado.

Se não conseguir fazer isso, precisa resolver o problema anterior de formação, não é a programação que fará isso para você. Até tem quem força tanto a programação que acaba resolvendo em parte o problema anterior, mas dá muito mais trabalho e nem todo mundo consegue.

Ler códigos simples prontos para dar ideias, e entender o que está acontecendo, fazendo teste de mesa ajuda bem, mas isso não pode se perpetuar, não pode exagerar.

Nem sonhe em pegar coisas mais avançadas antes de ter o básico muito forte. Não parece que o autor original cometerá esse erro, mas muita gente faz. è um erro tentr pegar coisas complexas enates de dominar o simples só porque é mais agradável ver um resultado cheio de coisa. Fica parecendo índico deslumbrado com espelinho (ou cara pálida deslumbrado com ChatGPT).

Eu aprendi quando não tinha internet, cursos, outras pessoas na área, ou até livros não era fácil achar, pelo menos bons.

Ah, eu aprendi programação mais facilmente porque eu já fazia isso na matemática. Eu não fazia como o professor ensinava, eu inventava minhas próprias formas de resolver o problema. Isso é programar, não decorar fórmulas. Então, mais uma vez, não caia na armadilha de decorar receitas de bolo, aprenda criar. Se você treinar o erro é ele que fará para sempre.

Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

1

Poxa gostei bastante da sua resposta, sempre vejo sêniors batendo na tecla de como o conhecimento em matemática é crucial na jornada!!
Porém a matemática é um campo enorme e gigantesco hehehe, então quais tópicos da maetmática são essenciais para evoluir como um programador que consegue entender melhor como a programação funciona, e buscar resolver melhor os problemas, concatenando os conhecimentos em matemática e programação?

2

Obrigado, senta o like aí :D

O básico, nada de especial, nada de avançado. Entender os números e suas relações. Aritmética, álgebra, funções, matrizes, técnicas básicas, premissas e consequências, como pegar fatos e encontrar suas implicações e alcançar resultados. Nada avançado para program,ação, o avançado e fçormulas específicas só é necessário para domínios específicos. O que tem de mais espefício que não se costuma aprender na escola é álgebra booleana.