Introdução
Esse é o primeiro tutorial de uma série de tutoriais de Lógica de Programação. Nesse primeiro tutorial, será feita uma introdução ao conceito de Lógica de Programação.
Antes de iniciar, é importante que você saiba que os tutoriais vão um pouco além do que costuma ser abordado em Lógica de Programação. O objetivo é preparar você, que está iniciando na área da programação e nunca aprendeu nenhuma linguagem de programação, a entender com mais facilidade o que for ensinado na linguagem que você aprender, e por isso há tutoriais aqui que não são diretamente ligados a Lógica de Programação, mas que vão te beneficiar quando você tiver um primeiro contato com uma linguagem de programação.
Além disso, também há exemplos de linguagens de programação reais: PHP e C++. Acredito que é benéfico comparar as diferenças de sintaxe e algumas características de linguagens de programação reais, porém sem tirar o foco do objetivo dos tutoriais, que é Lógica de Programação. Esses exemplos são mostrados apenas para ilustrar conceitos e fazer comparações.
O que é Lógica de Programação?
Lógica de Programação é um conjunto de técnicas para a criação de algoritmos, que envolvem a tradução de problemas do mundo real em conjuntos de instruções. Algoritmos são conjuntos de instruções que servem para cumprir uma ação. A definição é bem genérica, e pode ser aplicada em outras áreas de conhecimento, não apenas na computação. Como o termo se adequou muito à área da computação, ele é muito usado nessa área.
Não se preocupe se você está começando e não entendeu nada dessa definição. Aos poucos, as coisas vão ficar mais claras e fáceis de entender. Os tutoriais são voltados para iniciantes e são cheios de exemplos. Para facilitar o seu entendimento, vou exemplificar o conceito de algoritmo. Algoritmos podem representar problemas de programação, mas também podem ser usados para representar problemas do cotidiano. Para iniciantes, é melhor começar citando algoritmos que falam de coisas do nosso cotidiano. Por isso, vou mostrar abaixo os passos de um algoritmo para escovar os dentes:
- Se não estiver no banheiro, ir até lá
- Pegar a pasta dental e abri-la
- Pegar a escova dental e passar um pouco da pasta dental nela
- Escovar os dentes
- Lavar a boca
- Lavar a escova dental
- Guardar a pasta dental e a escova dental
Além dessa representação de um algoritmo, que é uma descrição literal dos passos que o compõem, também é muito comum representar um algoritmo usando pseudocódigo ou fluxogramas.
O pseudocódigo, como o prefixo indica, é um código falso. Ele não precisa seguir nenhuma sintaxe específica. Ele não é uma linguagem de programação. Ele é muito usado ao ensinar Lógica de Programação e também para descrever as instruções de um algoritmo. Como há uma liberdade na escrita do pseudocódigo, ele pode ser escrito em qualquer idioma, sem restrições. Ele pode ser escrito em um caderno, mas também pode ser escrito em um computador. Veja abaixo um exemplo de pseudocódigo:
real peso, altura, imc
escreva("Digite o seu peso\n")
leia(peso)
escreva("Digite a sua altura\n")
leia(altura)
imc = peso / (altura * altura)
escreva("Seu IMC é: ", imc, "\n")
Esse pseudocódigo foi criado no Portugol Studio e segue algumas regras de sintaxe dele. Porém, um pseudocódigo, em si, não tem nenhuma regra de sintaxe pré-estabelecida. Mas, quando você usa um programa que executa os algoritmos que você escreve, como o Portugol Studio, é necessário criar algumas regras para que o programa possa entender o que você escreveu e transformar o seu pseudocódigo em um pequeno programa.
Fluxogramas representam um algoritmo de uma forma gráfica, através de formas e símbolos. Você vai ver fluxogramas em detalhes depois.
Existem ferramentas que podem ser usadas para criar algoritmos usando essas representações de algoritmos (pseudocódigos e fluxogramas). Nos tutoriais, vamos trabalhar com o Portugol Studio para a criação de pseudocódigos e vamos usar o draw.io para trabalhar com fluxogramas.
Talvez você esteja vendo esse curso porque está querendo aprender uma linguagem de programação e ouviu dizer que é preciso aprender primeiro Lógica de Programação para depois aprender uma linguagem de programação. Será que isso é mesmo verdade? Será que se você não aprender Lógica de Programação, você não vai conseguir aprender uma linguagem de programação que você quer aprender ou não vai conseguir programar bem nessa linguagem?
É recomendável que você aprenda Lógica de Programação antes de aprender a sua primeira linguagem de programação, porque isso vai te ajudar muito e acelerar o aprendizado da linguagem. Mas isso não quer dizer que você não vai conseguir aprender uma linguagem de programação ou que não vai conseguir programar bem nela se você não aprender Lógica de Programação.