Desvendando a Lógica de Programação: Como ela impacta nosso dia a dia
Quando começamos a aprender a programar, nos deparamos com muitas coisas que, para muitos, são novas. Conceitos como variáveis, memória, escopo, interfaces, entre outros. Também nos deparamos com conceitos que conhecemos de outros meios como operações aritméticas, funções matemáticas e lógica. Muitos de nós precisamos rever os conceitos conhecidos enquanto aprendemos os novos. Ao mesmo tempo. Neste artigo falaremos um pouco sobre lógica: o que é, como usamos em nossas rotinas e qual é o seu papel na programação.
O que é lógica
Lógica é o estudo normativo e sistemático que visa determinar relações entre duas ou mais premissas a fim de chegar a uma conclusão. Podemos dizer que usamos do raciocínio lógico para determinar que uma certa causa terá uma certa consequência. Um possível exemplo prático é uma recuperação escolar: um aluno pode ficar de recuperação se não estudar para uma prova. É possível atribuir uma relação de causa e consequência entre não estudar e ficar de recuperação: dizemos que não estudar pode resultar em uma nota baixa; notas baixas resultam em recuperação.
A lógica no dia a dia
Eu acordo todo dia às 7 da manhã. Levanto, escovo os dentes e vou tomar café da manhã, que consiste de uma xícara de café com leite e um pão com manteiga. Depois do café, eu me arrumo e saio para trabalhar. Chego no trabalho às 8:30. Exceto às quartas; às quartas eu preciso chegar no trabalho até as 7. Neste caso, eu acordo às 6, me arrumo e vou para o trabalho; tomo o café da manhã – um café preto e um pão de queijo – na empresa.
O personagem da nossa história, vamos chamá-lo de João, possui um roteiro, que ele segue praticamente todas as semanas. O João criou esse roteiro baseando-se em dados que lhe são inatos: ele sabe quanto tempo leva para preparar e tomar seu café da manhã, sabe quanto tempo leva para se arrumar – incluindo tomar banho e escolher suas roupas – e também sabe quanto tempo leva o percurso entre a sua residência e o seu local de trabalho. O João sabe que, se ele seguir este roteiro, quase sempre chegará no trabalho às 8:30. “Quase” porque sempre pode haver eventualidades no percurso. Podemos dizer que o João, usando de raciocínio lógico, criou e segue um roteiro que lhe permite manter uma rotina com o máximo de eficiência o possível.
Porém a lógica não serve apenas para realizar esse tipo de “cálculo”; junto da inferência, que é basicamente a suposição de premissas lógicas, é possível chegar a conclusões sãs. Ou seja: às vezes, quando faltam peças no quebra-cabeças, precisamos nós mesmos supor que algo é verdade ou não dado um contexto específico. Por que existe essa irregularidade que força João a ter uma rotina específica apenas para quarta-feira? Por que é necessário que ele chegue ao trabalho até as 7?
Se você mora na cidade de São Paulo, SP (ou possui alguma familiaridade com as leis de trânsito dela), possivelmente se lembrou de que existe o rodízio municipal de veículos: uma regulamentação que impede veículos cuja placa termina em um certo número de trafegarem dentro de uma área estabelecida durante horários específicos. Sabendo dessa informação, é possível supor (ou inferir) que João provavelmente mora em São Paulo e possui um carro, que usa para ir trabalhar.
Jaqueline trabalha como desenvolvedora de software em uma empresa de e-commerce. Devido à pandemia, ela tem trabalhado no modelo home-office e isso a fez perceber que algumas atividades foram facilitadas por conta do horário flexível. Jaqueline sabe que as pessoas fazem mercado à noite ou durante o fim de semana. Ela previu, corretamente, que o mercado onde faz compras teria um fluxo mínimo de pessoas durante o horário do almoço. Toda quinta-feira ela tira uma hora a mais de almoço apenas para ir ao mercado e comprar tudo o que precisa para a semana levando a menor quantidade de tempo o possível.
Já Mario, o irmão de Jaqueline, mora no mesmo bairro e frequenta o mesmo mercado que sua irmã. Sendo um cliente do mercado há anos, ele lembra bem o layout e a localização de cada categoria de produtos do mercado. Com estas informações ele pode desenhar um mapa do mercado e criar variadas rotas que enfatizam variados tipos de produtos. Antes de ir ao mercado, ele faz uma lista de o que precisa comprar e escolhe a rota mais ideal. Os itens da lista estão sempre na mesma ordem em que as categorias de produtos se encontram na rota escolhida.
Na história curta acima temos dois personagens que também usam da lógica para tornar suas vidas mais práticas dentro do possível. São exemplos de como usar a lógica para melhorar a experiência de uma atividade mundana – compras no mercado. Em ambos os casos podemos ver que são exemplos reais e palpáveis: rotinas pessoais, compras de mercado. Um outro exemplo que poderia ser usado é corrida em parques: Se um parque possui uma pista de cooper com caminhos ramificados de diferentes comprimentos, é possível traçar rotas que levam em conta a distância total percorrida. Após algumas corridas, seria possível, também, levar em conta o tempo que cada rota leva para cálculos mais aprimorados.
* Os personagens apresentados são fictícios e foram criados para descrever o uso do raciocínio lógico eficiente de forma radical.
A lógica na programação
Agora que temos certeza que é possível usar raciocínio lógico até para tarefas rotineiras e “automáticas”, podemos entrar no âmbito da programação. Escrever código nada mais é do que usar do raciocínio lógico para dar instruções de o que fazer para o computador. Em geral, toda ação gera ao menos uma reação e é possível imaginar, detalhadamente ou não, o caminho de cada uma.
Quando você encontra um produto que gosta em um e-commerce e clica em Adicionar ao carrinho, percebe que o número que representa a quantidade de itens nele incrementa em um e o produto aparece na página do seu carrinho de compras. Se, nessa página, você clica em Remover do carrinho ao lado do produto, o número decrementa em um e o produto some da página. Ao adicionar mais produtos, o valor total da compra é atualizado com a soma dos preços individuais de cada produto. O frete também é calculado de acordo com o endereço ou CEP de entrega. Todas essas operações envolvem lógica de alguma forma: levar em conta quantidade escolhida e disponibilidade do produto, atualizar a página do carrinho de compras para exibir os itens corretamente, entre outras coisas.
Podemos também observar a lógica quando ativamos o Bluetooth em nossos smartphones: o “botão” muda de cor para indicar que está ligado e o sistema começa a buscar dispositivos ao redor. Com os dispositivos, ele monta uma lista de nomes e a mostra a nós, que podemos selecionar um para parear e conectar.
Isso tudo é feito com código, que é estruturado usando-se de lógica de programação. É viável dizer que a lógica de programação é a fundação da programação em si: não conseguimos desenvolver software se não tivermos a habilidade de descrever passos e regras de negócio de uma forma que faça sentido para o computador. E é por isso que estamos desenvolvendo um curso de Lógica de Programação na 4Linux.
Este curso será disponibilizado de forma gratuita e poderá servir de chave para destrancar diversas portas na área da programação: não importa se você quer desenvolver um sistema para celulares novo ou definir comportamentos visuais para páginas web ou escrever o código de um jogo ou simplesmente automatizar tarefas rotineiras no computador. Este pode ser o seu primeiro passo em um mundo cujas possibilidades só são limitadas pelo nível tecnológico atual.
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
About author
Você pode gostar também
Descubra como monitorar sua JVM com Prometheus e Grafana
Saiba o que ocorre com a sua JVM! O monitoramento e a visibilidade do ambiente de TI sempre foram de grande importância para seus gestores e administradores, seja para avaliação
Rocket.Chat App: Criando seu primeiro aplicativo
Dando continuidade o nosso post anterior onde entendemos o que é um aplicativo do Rocket, o seu poder e como preparar o ambiente, agora criar o seu primeiro aplicativo. Espero
Linux 5.17: Novo lançamento traz melhorias e ajustes de desempenho
Linux 5.17 estável chega ao mercado com uma série de ajustes e melhorias. Confira! Esta semana foi lançada a versão estável do Linux 5.17, que apresenta uma série de melhorias