Dentre as habilidades mais essenciais para uma pessoa desenvolvedora está a lógica de programação.
Sem entender lógica, a pessoa que trabalha com programação estará fadada a somente copiar e colar blocos de programas pré-formatados, sem realmente entender o processo por trás do ato.
Isso pode se tornar um problema ainda maior quando for necessário construir um algoritmo ou solução em desenvolvimento web para resolver determinada situação, seja em um curso de programação do zero gratuito, um curso de desenvolvimento full stack ou no mercado profissional. Portanto, não dominar essa habilidade é uma grande limitação para qualquer pessoa da área.
Você, que tem interesse nessa área, conhece a fundo essa skill e sabe como colocá-la em prática quando necessário? Se você acredita que isso possa ser seu ponto fraco, não se preocupe! Estamos aqui para lhe ajudar!
Abaixo, você encontrará um conteúdo especial para ajudar você nesse processo! Confira!
- O que é lógica de programação?
- O que é um algoritmo?
- Algoritmo e lógica de programação são a mesma coisa?
- Quais são as três formas de se representar um algoritmo em três níveis de dificuldade?
- Aprendendo um pouco sobre os conceitos básicos da lógica de programação!
- Qual a importância de aprender lógica de programação?
- 10 dicas para quem quer desenvolver a lógica de programação!
- 3 jogos que ajudam a desenvolver a lógica de programação!
O que é lógica de programação?
A lógica de programação (ou, por extensão, lógica computacional) é uma forma de organizar pensamentos que permite a tradução do raciocínio lógico humano para a linguagem das máquinas, permitindo que elas realizem alguma determinada tarefa.
Muito rápido? Não se preocupe. Vamos explicar com um pouco mais de calma como se dá a lógica de programação.
O que é a lógica tradicional e como ela se relaciona com a lógica de programação?
Sabemos que a lógica de programação é uma forma de estender o nosso pensamento, tentando traduzir nosso raciocínio para os computadores, com a intenção de fazer com que eles se tornem um pouco mais inteligentes e consigam desempenhar tarefas. Então, vamos dar um passo para trás e entender primeiro o que é a lógica e o que ela representa.
Antes de prosseguir, confira o Curso de Programação da Trybe gratuito. Em 10 horas, aprenda o básico da programação para iniciar a sua jornada na carreira tech e ainda garanta o seu certificado de participação.
Voltando ao assunto… a lógica não é recente. Ela existe desde os primórdios do estudo do discurso, sendo explorada por pessoas pensadoras importantes, como Aristóteles. O objetivo central da lógica é encontrar uma maneira de formalizar nosso pensamento, ou seja, transformá-lo em algo organizado e compreensível, para que seja possível replicá-lo em determinados contextos e estudá-lo mais a fundo.
Inicialmente, a lógica se preocupa em construir teorias descritivas que buscam ilustrar a forma como as pessoas pensam de uma maneira concreta, posta em prática. Ela faz isso traduzindo essa informação abstrata, que é o pensamento, em sentenças baseadas em um sistema linguístico (como a língua portuguesa).
A partir dessas sentenças e da nossa experiência, podemos testar se elas são verdadeiras ou falsas. Vamos nos valer de um exemplo simples, considerando a sentença a seguir.
“Vai chover.”
Ao nos depararmos com essa sentença, precisamos decidir se ela é verdadeira ou falsa. Então, apelamos para nossa experiência pessoal.
Primeiro, olhamos para o céu e constatamos o seguinte:
- “Não há nuvens no céu.”
A partir da nossa experiência e do que vivemos anteriormente, sabemos que:
- Para que chova, é necessário ter nuvens.
A partir disso, podemos tirar algumas conclusões:
- Para chover, é necessário que haja nuvens.
- No entanto, não há nuvens no céu.
- Logicamente, se não há nuvens no céu, não vai chover.
- Se não vai chover, a sentença é falsa.
A lógica de programação funciona exatamente da mesma maneira. No entanto, os computadores não são capazes de coletar informações e aprender por conta própria. Por exemplo, o computador, sem a ajuda de ninguém, não será capaz de olhar para o céu e detectar se há ou não nuvens. Igualmente, sem estímulo, ele não terá como saber que é necessário haver nuvens no céu para que chova.
Então, nós precisamos contar isso para ele, ou ao menos dar as instruções necessárias e as ferramentas para que ele seja capaz de fazer isso por conta própria. Porém, ele não sabe falar a nossa língua, ele não consegue ver e nem sentir. Como fazemos isso, então? É agora que entram em ação o algoritmo e as linguagens de programação!
O que é um algoritmo?
Usando uma definição simples e básica, um algoritmo é um passo a passo, um tutorial, que começa e termina, gerando um resultado.
Porém, essa definição não é suficiente para entender ele por completo. Por isso, vamos a um exercício:
Consideremos que uma pessoa que seja sua amiga (o rostinho sorridente em amarelo) deseje realizar uma visita a sua casa (em roxo). No entanto, essa pessoa não conta com mapas ou ferramentas para se localizar.
Você deverá escrever um roteiro para que ela consiga sair de seu ponto inicial e chegar até a porta de sua casa (representada pelo retângulo branco no extremo direito da casa). Escreva cada instrução em uma linha, baseando-se na referência Norte mostrada à direita.
Procure fazê-lo e, logo em seguida, confira com a solução proposta por nós logo abaixo:
Início: 1. Seguir na direção ao Leste até a próxima quadra. 2. Seguir para o Norte por uma quadra. 3. Seguir em direção Leste até a próxima quadra. 4. Seguir para o Norte por uma quadra. 5. Seguir em direção ao Leste até a próxima quadra. 6. Seguir para o Norte por uma quadra. 7. Seguir em direção ao Leste até a próxima quadra. 8. Seguir para o Norte até a metade da quadra. 9. Entrar na porta à esquerda. Fim.
Seguindo nossas instruções, a pessoa que é nossa amiga faria o seguinte trajeto:
Com isso, acabamos de criar um algoritmo! Instruímos uma parte sobre o que ela devia fazer a partir de instruções que têm um começo e um fim. Ao final, tivemos um resultado, que é a pessoa chegar na nossa casa.
Porém, possivelmente, sua solução foi bem distinta da nossa. Inclusive, você pode não aceitar muito bem nossa solução. Seu pensamento nesse momento deve ser “Por qual razão eu faria a pessoa que é minha amiga pensar tanto para chegar na minha casa, se existe um caminho mais simples?”
Realmente, é possível simplificar nosso roteiro, reduzindo os passos necessários para chegar até nossa casa:
Início: 1. Seguir em direção ao Leste até fim da rua. 2. Seguir em direção ao Norte até metade da última quadra da rua. 3. Entrar na porta à esquerda. Fim.
Muito mais simples, certo? O resultado será o seguinte:
Escolhemos demonstrar primeiramente uma solução menos conveniente para denotar que existem diversas formas de se resolver um problema. Porém, como é possível observar, algumas não são tão pertinentes quanto outras, pois poderão exigir mais recursos ou maior tempo para ser realizado.
Poderíamos, por exemplo, pedir para a pessoa que é nossa amiga dar uma volta completa em cada quarteirão antes de entrar em casa. O resultado ainda seria igual, mas ela levaria muito mais tempo no processo, sem contar que ao final estaria exausta de tanto andar!
É aí que entra a lógica de programação. Para entender melhor a relação de ambos elementos, vamos ao tópico seguinte.
Algoritmo e lógica de programação são a mesma coisa?
Não. Como podemos inferir a partir do que foi explicado acima, um algoritmo é um componente importante da lógica de programação, mas ele por si só não pode ser usado para definir esse conceito por completo.
Para entender melhor a diferença entre esses conceitos, vamos pensar nos exemplos anteriores. No tópico passado, fizemos um algoritmo para que uma pessoa que é nossa amiga pudesse chegar em nossa casa.
Para isso, escrevemos dois algoritmos diferentes, ambos com o mesmo resultado.
Vamos falar da formação da Trybe mais adiante, mas não deixe de conferir os detalhes da formação em Desenvolvimento Web da Trybe. A empresa é uma das melhores opções para quem deseja ter uma carreira em tecnologia
Porém, como demonstramos, um desses algoritmos era mais eficiente que o outro, pois faria com que a pessoa precisasse caminhar menos e realizar menos ações nesse processo. O que fez com que a gente percebesse essa diferença entre os algoritmos? A lógica de programação!
Então, a lógica de programação é como estruturamos nossa ideia central para chegar no objetivo desejado, enquanto o algoritmo em si é o passo a passo, a receita. Quanto melhores forem nossas habilidades relacionadas à lógica de programação, mais eficientes serão nossos algoritmos!
Quais são as três formas de se representar um algoritmo em três níveis de dificuldade?
Agora que já conhecemos os algoritmos e o que é lógica de programação, precisamos entender que o algoritmo pode ser descrito de várias formas. É importante estruturar um algoritmo antes de tentar programar, pois ficará mais nítido o que deverá ser feito e como traduzir para linguagem de máquina. Abaixo, você encontrará essas formas:
1. Descrição narrativa (Fácil)
A descrição narrativa, como o nome indica, é a maneira mais próxima da nossa língua de representar o algoritmo. Afinal, estaremos literalmente descrevendo as ações com a estrutura sintática do nosso sistema linguístico.
É importante, para essa representação:
- Evitar ambiguidades; (quando a mensagem tem mais de um sentido);
- Incluir a maior quantidade de detalhes possível (sem ser redundante);
- Escrever as instruções de maneira simples e objetiva.
Suponhamos que você esteja em uma determinada linha de metrô, dentro de um de seus vagões. Durante essa viagem, a pessoa que está ao seu lado começa a passar mal. Automaticamente, você decide ajudá-la mas não sabe muito bem o que fazer.
Ao perceber que a pessoa estava passando mal, você decide procurar por algo que ajude você a decidir o que fazer. Ao olhar para a parede do vagão, você se depara com um cartaz com as seguintes instruções:
No caso de emergência:
1. Rompa o lacre abaixo;
2. Aperte o botão vermelho para indicar a pessoa condutora da emergência;
3. Se o trem estiver dentro de qualquer estação, ele vai parar imediatamente;
4. Do contrário, a pessoa condutora levará o trem até a próxima estação, onde pessoas especializadas estarão posicionadas para resolver a situação.
5. O recurso deve ser utilizado somente em caso de emergência, sujeito à multa.
Ao realizar o passo a passo, você consegue com sucesso ajudar a pessoa ao seu lado na seguinte estação.
2. Fluxograma (Médio)
Outra forma de representar o algoritmo é por meio de um fluxograma. Ele é uma forma de mostrar o passo a passo usando sinais gráficos em um fluxo de ações.
O fluxograma pode ser vantajoso pois ele representa uma opção visual e direta, que é fácil de ser interpretada. No entanto, tanto para utilizar o fluxograma, é necessário conhecer o que significa cada símbolo utilizado em seu processo.
Normalmente, esses símbolos são:
Não precisa se preocupar em decorar e compreender a fundo todos os símbolos. Aqui, a intenção é somente que você conheça e entenda como ele funciona no geral. Por isso, usaremos somente os símbolos mais simples em nosso exemplo.
Veja como ficaria o mesmo algoritmo da parede do trem representado por fluxograma:
3. Linguagem estruturada ou Pseudocódigo (Difícil)
Quando você já tiver familiaridade com os outros dois métodos, você pode começar a praticar o pseudocódigo. Ele é a forma de estruturar o seu algoritmo que mais se assemelha a uma linguagem de programação. É como se fosse um passo antes de realizar esse processo, logo, o pseudocódigo facilita a construção do código em si posteriormente.
Para conseguirmos explicar as regras do pseudocódigo, primeiro vamos antecipar alguns conceitos da lógica de programação. Confira quais são:
- dado: qualquer valor inserido. Ele pode ser um número inteiro, um número com vírgulas, um caractere de texto, ou até mesmo uma verificação de veracidade (como 1=1 – verdade, ou 1 = 2 – falso).
- variável: um valor qualquer que pode variar a depender do contexto. Lembra do “x” nas equações de álgebra, na matemática? Então, ele é uma variável! Para a lógica de programação ela é importante pois indica pro computador que ele tem que reservar um “espacinho” na memória pra guardar um valor que a gente ainda não sabe qual vai ser, pois só o receberemos mais tarde.
Sabendo desses dois conceitos básicos, podemos começar a definir a notação do pseudocódigo. A notação diz respeito às regras de como a gente escreve ele. Os verbos são usados como uma instrução para o computador. Logo, é como se você estivesse dando uma orientação para ele. Abaixo, estão alguns que usaremos em nosso exemplo, para que você possa conhecer essa representação:
escreva (“ ”) | Use esse comando quando você quiser pedir para o computador mostrar uma mensagem para a pessoa que estiver executando o programa. |
leia ( ) | Use quando você quiser que o computador receba alguma informação digitada pela pessoa que está executando o programa. |
inicio | Use para indicar que o processo começa a partir desse passo. |
fimalgoritmo | Use para indicar que o algoritmo terminou seu processo. |
var | Use quando você quiser reservar um espaço para um valor que a pessoa ainda vai inserir. |
+ | Sinal de soma, usado para somar dois valores. |
real | Referente ao conjunto dos números reais (qualquer um, seja negativo, com vírgulas, frações, etc.) |
<- | Use para atribuir um valor para um espaço que você criou. |
Ficaria muito abstrato representar a situação do trem com esse pseudocódigo, então, nos aproximaremos um pouco mais da programação para dar esse exemplo. Agora, vamos considerar que temos que criar uma calculadora que soma dois números quaisquer que a pessoa usuária vai inserir no computador. O que precisamos fazer:
- Separar um espaço para os dois valores que vão entrar e rotulá-los, pra gente saber qual é qual.
- Pedir para o computador solicitar os dados;
- Pedir para o computador receber os dados e colocá-los no espaço que a gente reservou, ou seja, nas variáveis;
- Pedir para o computador somar os dois valores;
- Pedir para ele retornar o valor da soma para a pessoa usuária.
Tente, a partir do que foi dado, estruturar alguma coisa que possa cumprir com esses requisitos. Dessa forma, você estará treinando a lógica de programação.
Caso você não consiga ou não entenda muito bem como fazer isso ainda, não se preocupe. Demonstraremos, a seguir, como esse algoritmo em pseudocódigo ficaria:
algoritmo “calculadora_soma”
var
valor1, valor2, soma: real
inicio
escreva(“Digite um número ”)
leia(valor1)
escreva(“Digite o outro número ”)
leia(valor2)
soma <- valor 1 + valor 2
escreva (“A soma dos dois números é ”, soma)
fimalgoritmo
Vamos traduzir agora o que nosso pseudocódigo está dizendo:
- LINHA 1 – Nessa primeira linha, a gente definiu o nome do algoritmo. Uma boa prática é começar a treinar não usar espaços ou caracteres especiais em nomes no geral, pois isso pode dar erro no código (por essa razão escrevemos o nome como “calculadora_soma”).
- LINHA 2 – Dizemos para o computador que vamos nomear variáveis.
- LINHA 3 – Damos um “espaço” para indicar que estamos nomeando as variáveis. Logo depois, colocamos as variáveis que queremos criar separadas por vírgulas. Cada uma dessas variáveis são espaços reservados para um valor que ainda vai aparecer. Ao finalizar, colocamos dois pontos e indicamos para o computador qual o tipo de dado ele pode esperar, no caso, números reais.
- LINHA 4 – Indicamos o começo.
- LINHA 5 e 7 – Pedimos para o computador exibir o texto que solicita um número. O texto deve ir entre aspas, para que o computador entenda que se trata de um texto.
- LINHA 6 e 8 – Pedimos pro computador pegar o valor que a pessoa usuária inserir e colocar cada um deles em um espaço que reservamos anteriormente, nas variáveis.
- LINHA 9 – Considerando os dois valores que foram colocados em suas “caixinhas”, pedimos para o programa recuperar eles e somá-los, colocando o resultado na caixinha de nome “soma”.
- LINHA 10 – Pedimos para o programa exibir uma mensagem mais o valor da soma ao final.
- LINHA 11 – Indicamos que o algoritmo acabou.
As três formas de representação de algoritmo ajudarão você a organizar suas ideias e colocar em prática a lógica de programação. Procure praticar e aprofundar-se mais neles antes de prosseguir com os estudos!
Aprendendo um pouco sobre os conceitos básicos da lógica de programação!
No tópico anterior, conferimos um pouco sobre o pseudocódigo e antecipamos alguns conceitos importantes para a lógica de programação. Nesse tópico, nos aprofundaremos um pouco mais nesses conceitos. A grande maioria das linguagens de programação terão funções que traduzirão esses conceitos, cada qual a sua maneira. Vamos conhecê-los:
DADOS
Programação é sobre orientar uma máquina a como manipular, gerenciar e utilizar dados. Logo, podemos dizer tranquilamente que os dados são parte essencial de grande parte da área de tecnologia. Alguns tipos de dados, conhecidos como dados primitivos, são essenciais conhecer.
Temos:
- int – os famosos números inteiros (números positivos e negativos, como 1, -1, 10, -10…);
- float – são números fracionados, ou seja, aqueles que apresentam vírgula (10,5…);
- str – dados do tipo string são reconhecidos como texto. Sua tradução é fio ou linha, devido a ser um fio de caracteres conectados que não são valores numéricos;
- bool – dado lógico usado para verificar se algo é verdadeiro ou falso. Esse tipo de dado só poder ser True (verdadeiro) ou False (falso). Um exemplo de dado booleano é, por exemplo, 1 == 1. Nesse caso, estamos pedindo para que o computador verifique se o valor de 1 é realmente 1. Como é, ele vai retornar para gente o valor True.
VARIÁVEIS
Como já introduzimos, variáveis são valores que podem mudar. Quando pedimos para definir uma variável, estamos falando assim:
“Ei, programa, reserva um espaço aí na memória pra gente receber um dado… É que ainda não sabemos que dado vai ser, mas guarda aí que vamos usá-lo mais tarde!”
Ao criarmos esses espaço, podemos colocar um rótulo, ou seja, dar um nome para ele. Assim, podemos usar esse valor diversas vezes no nosso código sem nem mesmo saber qual vai ser ele! Afinal, podemos usar o nome que criamos para ele no lugar e, depois, quando tivermos o valor, o programa substitui.
Algumas regras para criar variáveis são que ela deve conter somente letras, números e “_”, iniciando sempre com uma letra minúscula. Ela também distingue caracteres maiúsculos e minúsculos.
OPERADORES
Até então, estivemos falando de itens que são considerados operandos, ou seja, que podem ser usados e manipulados. Os operadores são responsáveis por executar operações com esses operandos. Vamos conhecer os principais operadores:
Aritméticos
+ | SOMA |
– | SUBTRAÇÃO |
* | MULTIPLICAÇÃO |
/ | DIVISÃO |
** | POTENCIAÇÃO |
% | MÓDULO (Resto de uma divisão) |
Relação
> ou < | Define que um item é maior (ou menor) que outro; |
=< ou => | Define que algo pode ser maior (ou menor) ou igual que outro. |
== | Define que algo tem um exato valor de outra |
= | Atribui um valor a algo. Usado com variáveis, para atribuir um valor a ela |
!= | Define que dois termos são diferentes |
Lógicos
&& AND | E (adição) |
|| OR | OU (contraste) |
LAÇOS DE REPETIÇÃO
Imagine se você tivesse que repetir um trecho do seu código de programação todas as vezes que você quisesse realizar uma ação repetitiva… Seu código seria enorme! É por isso que dentro da lógica de programação você pode contar com loops, ou laços de repetição. Eles permitem você realizar uma mesma ação repetidamente até que uma condição, dada por você, seja atendida.
Um dos laços de repetição mais utilizados é o WHILE (enquanto, em tradução literal), que faz com que uma ação seja executada até que algo aconteça.
CONDICIONAIS
Lembra-se, no exemplo acima do metrô, que havia algumas condições a ser atendida?
“Se o trem estiver dentro de qualquer estação, ele vai parar imediatamente;
Do contrário, a pessoa condutora levará o trem até a próxima estação, onde pessoas especializadas estarão posicionadas para resolver a situação.”
Logo, temos dois caminhos possíveis. Se o trem estiver na estação, acontece um evento, enquanto se não estiver, acontecerá outro.
Na lógica de programação, essas estruturas condicionais são atendidas majoritariamente por IF (Se…) e ELSE (Do contrário…).
Qual a importância de aprender lógica de programação?
A lógica de programação é o pilar principal para se desenvolver todas as outras habilidades de programação. Ela é a cola que une os conceitos e permite integrar os conceitos matemáticos com o raciocínio lógico, ambos aplicados às linguagens de programação.
Aprender a lógica de programação é essencial para construir soluções únicas, criativas e eficazes para problemas que venham a surgir. Pessoas que se propõem a aprender programação mas pulam a etapa de lógica de programação não terão base o suficiente para conseguir resolver essas situações. Assim, elas ficarão fadadas a usar pedaços de blocos prontos e soluções pré-formatadas.
Para além da carreira em programação, a lógica de programação é uma habilidade muito útil no cotidiano, afinal de contas, ela auxilia a organizar melhor os pensamentos e a estruturar os eventos de maneira mais coerente, tornando qualquer âmbito mais produtivo e eficaz.
10 dicas para quem quer desenvolver a lógica de programação!
Se você adora a área de tecnologia, tem desejo de aprender a programar mas a lógica de programação parece um grande obstáculo no caminho, não se preocupe! Você não está só! Muitas pessoas relatam que, independentemente do que façam, a linguagem de programação demora a entrar em suas cabeças.
Abaixo, você encontrará dicas para melhorar essa habilidade!
DICA #1: DESAFIE SEU CÉREBRO
Exercitar o cérebro fará com que ele fique cada vez melhor quando a questão é lógica. Force seu cérebro com desafios e quebra-cabeças diariamente para que você possa estimular seu cérebro a aceitar mais facilmente essa informação.
DICA #2: ORGANIZE QUESTÕES POR DIFICULDADE
Evite começar logo de cara resolvendo questões e problemas complexos. Isso poderá assustar você e acabar desanimando da carreira. Busque resolver questões fáceis e subir gradativamente de nível, conforme você for aprendendo técnicas para facilitar isso.
DICA #3: INTERPRETE CÓDIGO DE OUTRAS PESSOAS
Com toda certeza, outras pessoas passaram pelos mesmos problemas que você. Porém, com a experiência, elas descobriram formas de superar esses obstáculos. Analisar como elas constroem o código pode oferecer insights úteis para você!
DICA #4: NÃO PULE EXERCÍCIOS
Se você se propor a fazer 5 exercícios, tente fazer todos os 5. Evite deixar para depois, pois você pode acabar esquecendo e aqueles exercícios podem ser justamente o que você precisa para sanar dúvidas que você não sabe que tem!
DICA #5: DIVIDA UM PROBLEMA DIFÍCIL EM PARTES MENORES
Uma dica que muitas pessoas experientes dão é, ao experienciar um desafio que pareça impossível, não entrar em pânico. Tente dividi-lo em questões menores e resolver parte por parte.
DICA #6: COLOQUE A MÃO NA MASSA!
Se você estiver realizando um curso ou uma formação em programação, procure colocar a mão na massa ao ter uma aula ou tutoria. Somente ver outras pessoas programando não fará com que você aprenda ou entenda a fundo o que está acontecendo.
DICA #7: RESISTA À TENTAÇÃO DE VER A RESPOSTA
Muitas vezes, um desafio é tão difícil que se torna uma urgência checar como resolvê-lo. Porém, apesar de que ver a resposta pode proporcionar insights, você não estará exercitando a lógica de programação. Procure insistir até onde for possível antes de ver a resposta.
DICA #8: NÃO PULE A TEORIA
Sim, sabemos que prática é muito mais divertida! Porém, a teoria solidifica a base necessária para que a prática possa acontecer. Logo, ao sentir que você não tem fundamento suficiente para resolver uma questão, dê um passo para trás e busque aprender primeiramente a teoria.
DICA #9: SEJA CONSISTENTE
A prática constante na lógica de programação levará à experiência, que levará à perfeição. Portanto, adote uma rotina consistente de aprendizado e resolução de problemas, pois somente assim você conseguirá desenvolver essa habilidade.
DICA #10: FAÇA PROJETOS
Junte tudo que você está aprendendo e se arrisque em projetos fictícios. Monte um e-commerce, faça uma calculadora, crie um jogo! Somente ao arriscar-se ao fazer algo você vai se deparar com questões que você nunca teria imaginado.
3 jogos que ajudam a desenvolver a lógica de programação!
1. Human Resources Machine
Human Resource Machine é um jogo muito bem humorado disponível para PC e dispositivos móveis que brinca com a lógica de programação. Por meio de pequenos desafios, o jogo propõe pequenas funções para que ações sejam realizadas, captando números de uma esteira, manipulando-os e levando o resultado para a saída no outro lado. O jogo está disponível na Steam e em outras plataformas de dispositivos móveis, como a Play Store.
2. Teste de Einstein
Reza a lenda que somente 2% da população mundial é capaz de resolver o desafio atribuído ao famoso Albert Einstein. Esse desafio de lógica clássico propõe algumas sentenças e estabelece que o restante deve ser inferido por meio da lógica. Você faz parte desse grupo seleto?
3. Nonograms
Nonograms são quebra-cabeças japoneses que contam com uma malha rodeada por dicas na horizontal e vertical. Cada linha e coluna contém a quantidade de quadrados que devem ser pintados. Ao final, caso feito corretamente, uma figura se revelará. Por jogar muito com a lógica e a dedução, esse jogo é perfeito para induzir um pensamento mais lógico, que será muito útil na lógica de programação.
Depois de toda essa informação, respire e tente mais uma vez desenvolver sua lógica de programação! Com paciência e perseverança, você verá que não será tão difícil aprender a programar! Além disso, você poderá sentir os benefícios dessa habilidade em outros âmbitos de sua vida.
O próximo passo é aprender sobre as mais distintas linguagens de programação para que você possa escolher uma para se aprofundar. Confira aqui, sete linguagens de programação para aprender rápido!