A melhor forma de aprender lógica de programação!

Se você procurou sobre o termo “aprender lógica de programação”, obviamente você possui interesse na área de TI, especificamente, em programação e desenvolvimento de sistemas. Se está lendo este post, possivelmente já leu outros sobre programação e por onde começar. Talvez esteja até pensando: “É tão difícil assim!? Não existem atalhos?”

Bom, infelizmente, é assim mesmo. Alguns possuem mais facilidade e tiram de letra, outros possuem mais dificuldade no início, mas nada que prática e determinação não supere.

Claro, existem cursos específicos para ensinar lógica de programação que conseguem passar todo conhecimento necessário em pouco tempo, como o curso da Becode e da TargetTrust. Além disso, criamos um teste de Lógica de Programação para que você consiga testar os seus conhecimentos sobre o assunto, não deixe de fazê-lo mais tarde.

Bom, voltando ao foco desse post.

Como deixei subentendido algumas linhas acima, a melhor maneira de aprender é estudando e praticando.

Contudo, entender alguns conceitos logo de início podem fazer uma grande diferença entre o programador “google style” e o programador que realmente sabe o que está fazendo, profissional e gambiarra free.

Sendo assim, vou escrever aqui (e explicar um pouco) alguns assuntos importantes sobre lógica de programação que você deve dominar para se tornar um desenvolvedor de ponta!

Algoritmos

Algoritmos - A melhor forma de aprender lógica de programação | Becode

Alguns confundem algoritmos com logaritmos, se você já fez isso, não se preocupe, você não está sozinho no mundo (mas agora que você já sabe que não é a mesma coisa, não repita mais hehe).

Bem, o que é algoritmo? Basicamente é um conjunto de instruções bem definidas, finitas e que geram um resultado.

O que!? Como?

Bem, se você for pensar, fazemos isso todos os dias, a todo momento. Por exemplo, quando saímos de casa para ir ao trabalho. Neste caso, precisamos identificar como fazer isso: de carro, de ônibus, a pé, enfim… Quanto tempo vou demorar com cada uma dessas alternativas.

Pensando no mundo da TI agora, imagina um aplicativo famoso, o Waze ou o google maps, por exemplo. Dentro destes aplicativos, existem complexos algoritmos, com conjuntos de instruções e variáveis (rotas, tempo estimado, cálculo de velocidade média etc) que geram resultados (chegar até o seu trabalho da melhor forma possível), conforme a interação do usuário.

Outro exemplo, agora mais clássico: o simples ato de tomar um banho ou ir ao supermercado.

(Escrevendo em formato de listas para organizar o pensamento)

Tomar Banho

Início

  • Pegar a toalha e roupas;
  • Entrar no banheiro e fechar a porta;
  • Tirar a roupa que está usando;
  • Ligar o chuveiro e esperar a água ficar na temperatura certa;
  • Entrar no box (ou espaço destinado para o banho);
  • Se molhar, ensaboar, enxaguar = banho;
  • Fechar o chuveiro;
  • Pegar a toalha e se secar;
  • Sair do box;
  • Se vestir com a roupa limpa;
  • Sair do banheiro.

Fim

Digamos que esse seja o banho padrão (standard), mas você pode variá-lo conforme as suas preferências.

O mesmo ocorre para softwares e funcionalidades dentro de um sistema. Você escreve algoritmos, como o escrito acima, para chegar a um resultado esperado com as instruções definidas.

A diferença entre o algoritmo acima e os algoritmos de sistemas é a linguagem utilizada. Pense da seguinte forma, o algoritmo acima foi escrito de uma forma que você, humano racional,  consiga compreender. Agora, o que precisamos fazer para que um computador entenda?

Para que um computador entenda o seu algoritmo, basicamente,  você precisará usar uma linguagem de programação, ou seja, você estará escrevendo uma sequência de passos que um computador (que não possui habilidades de interpretação subjetiva) deverá executar sem ficar com dúvidas, utilizando uma linguagem que é conhecida e facilmente interpretada pelo computador.

 

Você está preparado para as linguagens de programação de mercado? Teste seus conhecimentos com o nosso QUIZ de Lógica de Programação!

Conceitos e regras básicas de programação

Mesmo para nós, seres humanos autodenominados como os seres mais inteligentes do planeta, há uma série de regras pré-estabelecidas para que a listinha com as instruções de como tomar banho seja compreendida, executada e gere um resultado. E acredite, os humanos são seres muito mais complexos do que computadores (talvez daqui uns 20 anos alguém virá me dizer que estou errado, mas por enquanto, sim, somos muito mais complexos).

OK, mas e no caso de computadores, quais regras e conceitos eu preciso saber para otimizar e melhorar meus algoritmos, de uma maneira que o computador compreenda e execute, atingido o resultado esperado.

Variáveis e constantes

Em termos simples, são nomes que inventamos para representar um valor, para que assim, seja possível usar este mesmo valor diversas vezes naquela lista de tarefas, sem precisar reescrevê-lo todas as vezes que ele for necessário. Com o uso de variáveis, utilizamos apenas o nome de referência.

Tipos de dados

Basicamente, desenvolvemos softwares, sistemas e apps para receber informações:

  • Nome
  • Idade
  • Salário
  • Sexo
  • E por aí vai…

Para o computador, tais informações são dados. E dados podem assumir diversos formatos. Pense da seguinte forma, nome é diferente de idade que, por sua vez, é diferente de salário. Isso em lógica de programação pode ser definido como tipos de dados primitivos. Estes tipos existem para otimizar a memória do computador, assim, o computador consegue identificar qual é o tipo de dado que ele irá receber/interpretar.

Tratando-se de tipos de dados primitivos, são constatados quatro formatos:

Tipo 1: Texto

Os dados do tipo texto representam uma sequência de um ou mais caracteres. Normalmente são colocados entre aspas duplas.

Um exemplo de dado do tipo texto: Nome (Becoder Jr.)

Obs: espaços também contam como caracteres.

Tipo 2: Inteiro

São representados por valores numéricos, tanto negativos, quando positivos (sem casas decimais).

Um exemplo de dado do tipo inteiro: Idade (18).

Tipo 3: Real

Os dados do tipo real são valores numéricos, tanto positivos, quanto negativos que utilizam casas decimais,

Como exemplo, podemos citar: Salário (R$3.434,52).

Tipo 4: Lógico

Por último, mas não menos importante, o tipo lógico. Este tipo de dado normalmente é representado por alternativas: SIM ou NÃO, VERDADEIRO ou FALSO. Dados do tipo lógico também podem são chamados de Booleano.

Um exemplo de dado lógico que é frequentemente utilizado em programação é: Sexo (Masculino ou Feminino).

Sendo assim, ficou:

  • Nome: TEXTO
  • Idade: INTEIRO
  • Salário: REAL
  • Sexo: BOOLEANO

Estrutura de seleção e repetição

Formas e estruturas organizadas de fazer com que um computador consiga tomar decisões ou executar diversas vezes uma instrução até que um limite pré-estabelecido seja atingido, ou uma condição seja satisfeita, ou o usuário intervenha. Sim, pois o computador, diferente dos humanos ainda não consegue pensar por conta própria, sendo assim, ele precisa de regras bem definidas para o seu correto funcionamento. Isto se alcance através de muito treinamento e prática com lógica de programação.

Matemática

Matemática - A melhor forma de aprender lógica de programação | Becode

Bom, quem leu o post “Saiba se programação é para você” deve lembrar da importância da matemática na formação de um programador.

Aqui, não irei me estender muito no assunto, contudo, vale a lembrança que a matemática é um recurso extremamente forte dentro da programação, afinal você vai criar softwares que possuirão forte vínculo com a matemática. Então, se você não se sente seguro com essa área do conhecimento ainda, talvez seja interessante revisar alguns conceitos, como: operadores lógicos, aritméticos, ordens de precedência e a teoria dos conjuntos.

Tendo estes conhecimentos sólidos, sim, aprender lógica de programação será algo muito mais natural.

Linguagem de Programação Inicial

Então, depois de você já ter se acostumado em pensar nas tarefas simples do dia a dia como uma série de instruções sendo executadas pelo seu “computador interior”, após ter criado listas que representem essas tarefas, depois de ter melhorado essas listas e adicionado regras matemáticas a elas, aí sim, você precisa escolher uma linguagem de programação para por em prática o que estava no papel/teoria.

Para isso, existe o VisualG, um aplicativo simples, em português, que vai testar todos os seus algoritmos e conhecimentos de lógica de programação. Então, depois de praticar exaustivamente os algoritmos e fazê-los funcionar de forma correta e otimizada, aí sim, podemos dar voos mais altos e escolher uma linguagem de programação de mercado para iniciar uma nova etapa, a etapa profissional de um programador/desenvolvedor.

Caso você deseje começar a trabalhar diretamente com uma linguagem de mercado, pulando a parte do VisualG, o que não aconselhamos, pois acreditamos que é fundamental dominar a lógica de programação antes de partir para uma linguagem profissional. Entretanto, é você quem decide!

JavaScript - A melhor forma de aprender lógica de programação | Becode

Se ainda assim esse é o seu desejo, aconselho você começar com o JavaScript(JS)!

O JS é uma linguagem capaz de executar instruções bem definidas e gerar resultados na tela do seu navegador, além da vantagem de estar usando uma linguagem que você CERTAMENTE irá precisar em seus projetos futuros, visto que hoje o JavaScript é considerado uma das linguagens mais populares do mundo.

 

Curso Online de Lógica de Programação | O seu primeiro passo para ingressar no mercado de TI

Erick Scudero

Escrito por Erick Scudero

Especialista em Marketing Digital e apaixonado por tudo que envolve o universo de tecnologia e comunicação. Durante sua jornada na terra dos cangurus (Austrália), atuou em diversos projetos prestando consultoria em questões de UX, SEO, Marketing Digital e modelos de negócio com foco em startups. É cofundador da Becode, da M2up e instrutor de cursos presenciais na TargetTrust.

54 Comentários

Leave a Reply
      • Tô começando estudar agora, queria saber se é melhor eu aprender lógica de programação pelo Visualg ou pelo Python?

        Python é bom, pq está tudo em inglês, e com isso eu já vou aprendendo inglês também

        E o Visualg é bom pq está tudo em português.

        Para uma pessoa como eu que começou estudar inglês e programação agora, vc me recomendaria qual dessas linguagens? Python ou Visualg

        E em matemática, eu preciso saber/entender 100% cada conteúdo de cada série, do 1/9° Ano fundamental e 1/3° Ensino Médio?

        Tô no 8°Ano

  1. Nossa muito show! Procurei em videos e coisas afins e não encontrei nada com as informações que consegui aqui com apenas uma leitura deu para entender o quão importante é o básico, treinamento e é amplo o profissional. Muito obrigado!

  2. Ola! Sou totalmente leigo no assunto mas tenho muito interesse em aprender.
    E com essa leitura que acabo de fazer sobre o assunto abril totalmente meu interesse ela programação!
    E quem ai estiver iniciando podemos trocar uns papos.
    obrigado e gostei muito

  3. Estou iniciando agora um curso de Ciência da Computação e vim aqui procurar sobre esse tema, que faz parte d uma das matéria: Lógica da programação. parabéns pela matéria do site! Ótimo!!

  4. Eu já havia estudado sobre isso ano passado e acabei esquecendo, vim aqui para relembrar! Pretendo terminar o ensino médio no ano que vem e talvez seguir na área da programação para internet 🙂

    • Mauricio, tudo bem? Até tenho sugestão de livros, mas tenho algo ainda melhor: o nosso super curso de Lógica de Programação e Algoritmos, criado pelo instrutor Alex! Dê uma olhada nele através desse link:

      Curso de Lógica de Programação e Algoritmos

      Mas respondendo a sua pergunta, o livro “Use a Cabeça! Programação” é muito divulgado. Alguns amam e outros odeiam. Mas aí é uma questão de opinião… Espero que goste do curso (ou da leitura). Abraços!

  5. Olá Erick,
    Bacana seu texto. Li na sua descrição que vc desenvolveu projetos na terra dos cangurus aka Australia haha. Então, qual é a maior necessidade deles na área? Outra coisa, sou leigo no assunto e quero muito aprender a programar. Vi um vídeo no youtube que o cara disse que antes de aprender qualquer linguagem, o certo é aprender lógica da programação. Procede? Eu estou perdido sem saber como começar pois é muita informação. O ideal seria começar por algoritimo e depois partir pra linguagem que eu quero. * Pretendo começar por C.
    Abraços!

    • Olá, Diego! Lá na Austrália eu acabei trabalhando mais com projetos de UX e Marketing Digital, mas eu posso afirmar que eles não estão muito na nossa frente. Possuem as mesmas necessidades e dificuldades. Vi muitos negócios com carências fortes nas áreas de Marketing Digital e Front-end, ao ponto de trabalhar com clientes que ainda não possuíam uma versão responsiva para seus respectivos websites. Enfim, lá o profissional de TI que domina a sua área é bem valorizado, tem emprego e, em muitos casos, recebe “sponsorship”, que é praticamente um tipo de cidadania dado pela empresa contratante. Quanto ao resto, sim, esse cara do youtube está certo. O mais importante para aprender a programar é compreender a Lógica de Programação. Portanto, vá por essa linha de pensamento e faça um curso de Lógica primeiro, vou deixar um link abaixo. Após isso, sim, C pode ser uma boa linguagem de entrada. Sexta-feira que vem, iremos publicar um novo post que fala exatamente sobre isso: “Como escolher a primeira linguagem de programação?”

      Curso Completo de Lógica de Programação e Algoritmos

      Abração!

  6. Olá , muito bom …. finalmente consegui achar um norte dentre tantas ofertas de ensinos a distância….. vou fazer seus cursos. Acredite desde de. 2015 venho especulado o setor de TI e até o momento não achei nada parecido com Becode…

    Pergunto se pra mim que tenho 39 anos , do setor comercial, da tempo de fazer carreira no setor da TI ? No mês.o segmento que o seu por exemplo ?

  7. Cara, por incrível e sutil que pareça comecei a gostar desse ramo depois que assisti a série ” Revenge “. Praticamente me tornei fã do Nolan Ross, personagem braço direito da vingativa Amanda Clark. Tudo bem, que o Nolan é um hacker, mas entende de programação como ninguém. E bem… Deixando a ficção de lado me atrevo a dizer: que maravilhoso o artigo que acabei de ler sobre programação. Entendi numa linguagem simples e comparativa o significado de algoritmo. A narrativa do meu objetivo por exemplo, agora, na linguagem cotidiana foi da seguinte forma:
    – Estava sentado na cadeira pensando em aprender o significado de algoritmo (entrada, eu acho – a seguir, são as variáveis);
    – Levantei e fui até o computador;
    – Mexi o mouse e posicionei sua seta na tela em cima do navegador, que logo abriu;
    – Digitei o nome algoritmo, que gerou resultados;
    – Li o menu de sites e cliquei em um deles;
    – Depois de aberto li todo o artigo e apreendi o significado de algoritmo (saída).
    Pronto. Pelo menos o básico já entendi em termos de comparação, agora o que gostaria mesmo de aprender é como funciona isso na prática; diria na criação desses algoritmos na Linguagem de Programação. Ah… E a propósito, meus parabéns ERICK SCUDERO pelo artigo. Gostei muito. Para um cara como eu totalmente leigo compreendi rápido a definição do que estava procurando. Qualquer coisa entre em contato comigo pelo e-mail: vitorps@unifor.br. Obrigado!

    • Vitor, muito obrigado pelos elogios, isso nos motiva muito! Que bom que você gostou e conseguiu compreender o básico sobre Lógica de Programação e Algoritmos. Agora você já está pronto para dar o próximo passo e de fato ver como tudo isso funciona, como você mesmo falou. Se você quiser dar o próximo passo, eu e toda a equipe da Becode estamos disponíveis para o que você precisar! Abraços, sucesso e bons estudos! 🙂

  8. Oi, poderia me dar uma dica de como faço pra utilizar o VISUALG tendo MAC? Já busquei no google e em grupos de TI e não consigo achar nada (quando acho o link pra MAC não está mais disponível).
    Obrigada!

    • O mais importante é ter raciocínio lógico e, geralmente, quem gosta de matemática tem facilidade com isso. A Matemática em si é importante também, mas não chega a ser um impeditivo. Conheço diversos programadores excelentes que não possuem uma base muito forte de matemática. Claro que existem algumas áreas onde a matemática é fundamental. Exemplo: a área de análise e ciência de dados. Nessa área, sem matemática, o profissional simplesmente não se cria. Agora, para desenvolvimento de software, segue a regra acima: é legal saber matemática, mas não chega a ser um impeditivo.

  9. Olá, entrei agora em uma federal para cursar engenharia de controle e automação, e sou totalmente leiga no assunto de programação e está na minha grade curricular, amei o post deu pra entender um pouco do que me espera. Sou muito boa em matemática, isso vai me ajudar?
    Abraço 🙂

  10. Boa tarde, Erick muito bom todas essas informações, parabéns pela iniciativa, estou começando hoje o curso de ADS, gostaria de saber se é um curso bom, e se vai me trazer um bom conhecimento na área de programação? Aguardo, e obrigado.

  11. Boa Noite.
    Finalizei o curso de Análise de Sistemas em 2014 e hoje trabalho com suporte, sem colocar a mão no código.
    Estou querendo trocar de área e ir para o Desenvolvimento, então comecei a seguir os passos citados por vocês, e estou começando pela lógica de programação. Vi na Faculdade, mas creio que não me esforcei o suficiente.
    Tenho sim certa dificuldade, mas gostaria de saber se ainda da tempo de entrar nesse mercado.

    Agradeço pela atenção e pelas informações tão valiosas.

  12. tenho dificuldade de interpretar problemas e falta pouco tempo para a obi unicamp,estou estudando mas isso me atrapalha mt poderia ajudar?

  13. Olá, tudo bem?!
    Sou iniciante na área da programação, gostaria de sugestões de passos e escolhas que seriam essenciais para alavancar a carreira dentro da programação. Na verdade conclui isso a partir de experiência mal sucedida dentro da faculdade de engenharia ((
    Então, eu gosto do desafio da área.
    Achei bem didático seu material, terei apartir de agora como referência, seu trabalho também é bem estimulante!

  14. Ótimo trabalho!
    Preciso de seu acosselhamento, conheço um pouco da área, estou largando uma faculdade pra trabalhar na perspectiva de uma carreira autônoma na programação.
    Existe a seu ver um passo a passo, um sequência de escolhas que sejam fundamentais para alavancar uma carreira na programação???

  15. Oi, Tudo bem? Adorei o texto. Nesse caso, vale a pena aprender algoritmos antes de aprender lógica de programação, correto? Eu tenho pouco base, mas quero muito aprender a programar.

  16. Ótima explicação, estou voltando a estudar e praticar até mesmo tranquei a faculdade mas estou voltando pra terminar o curso de analise e desenvolvimento. Seu material so me fez da um impulso a mais pra continuar.

  17. Olá Professor, tenho 28 anos e sei ferramentas na parte do design adobe: photoshop, illustrator, xd. Tenho ideias de aplicativos faço prototipo mas falta passar toda essa ideia para código mas me sinto velho, e tenho muita dificuldade em matematica, acho muito maravilhoso desenvolver site, apps etc… mas queria mesmo trabalhar com website e criar apps. Pode me ajudar!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Tecnologias e frameworks que você precisa conhecer

Tecnologias e Frameworks que você precisa conhecer!

Programador iniciante, aprendendo a programar, atucanado e confuso sobre por onde começar | Becode

Top 48 sites e ferramentas para quem está aprendendo a programar!