Desvendando a Lógica de Programação: Como ela impacta nosso dia a dia

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:

CURSOSCONSULTORIA

 

 

Anterior Descubra as funcionalidades e vantagens do Rocket Chat
Próxima Como automatizar seu ambiente de desenvolvimento com VSCode Remote Container

About author

Você pode gostar também

Cloud

Criando e atualizando um cluster Kubernetes com kubeadm

Introdução Este post faz parte de uma série sobre a certificação CKA – Certified Kubernetes Administrator [1]. Dentre os tópicos que possuem mais peso na certificação, o item Cluster Architeture,

Uncategorized

Desbravando o OpenTofu: Parte 01 – Introdução e Fundamentos

Olá pessoal, hoje no blog, vamos falar de uma ferramenta em potencial de Infra as Code chamada OpenTofu. Bora lá Como surgiu o OpenTofu Em 10 de agosto de 2023,

Infraestrutura TI

5 Dicas Cruciais para Aumentar sua Segurança Online e Evitar Hackers

Embora estejamos cada vez mais dependentes da tecnologia e armazenarmos nossas informações on-line, essa tendência aumenta a quantidade e o desejo dos hackers de tentar adquirir suas informações confidenciais, como