Lógica e algoritmos!

Patrick Augusto
4 min readMar 11, 2022

Bom dia, boa tarde, boa noite!

Recentemente escrevi esse texto que irá ler, mas focado pra minha empresa/equipe. Mas, decidi re-adaptar pra cá, deixando público =D

A ideia foi trazer conceitos sobre lógica e algoritmos, pra quem não necessariamente seja DEV (tentei), trazendo um resumo de vários outros textos/artigos e também no fim indico alguns links se quiserem ler mais sobre.

Espero que tirem bom proveito!

Lógica: definições e conceitos:

Nós definimos como lógica de programação a técnica de encadear pensamentos para atingir determinado objetivo. Lógica de programação é a maneira como organizamos nossos pensamentos para conseguirmos executar determinada tarefa, resolver algum problema, etc.

O que é um algoritmo?

É a especificação de uma sequência ordenada de instruções, finitas e não-ambíguas, que deve ser seguida para a solução de um determinado problema, garantindo a sua repetibilidade.

Um algoritmo não se limita a códigos ou relacionados à tecnologia, temos algoritmos no dia a dia, em receitas culinárias, manuais de instrução, roteiros pra realização de tarefas, etc.

Um algoritmo deve ser:

Completo: todas as ações precisam ser descritas e devem ser únicas
Sem redundância: um conjunto de instruções só pode ter uma única forma de ser interpretada.
Determinístico: se as instruções forem executadas, o resultado esperado será sempre atingido;
Finito: as instruções precisam terminar após um número limitado de passos.

Exemplo de um algoritmo:

Algoritmo “ligação”
Algoritmo “ligação”

Formas de representação dos algoritmos:

  • Descrição narrativa:
    - Pegar o pacote de bolacha;
    - Abrir a embalagem;
    - Comer as bolachas;
    - Jogar a embalagem na lixeira;
  • Fluxograma:
    É uma representação gráfica em que formas geométricas diferentes implicam em ações (instruções, comandos) distintos.
    O fluxograma utiliza símbolos específicos para a representação gráfica dos algoritmos. Os símbolos podem sofrer algumas variações de acordo com o autor ou ferramenta em uso.
  • Pseudocódigo:
    Dou esse mesmo exemplo em outro momento do texto:
    idade = 19;
    Se idade ≥ 18
    Fale “Eba, você pode tirar a carteira!”
    senão
    Fale “Deu ruim, não vai rolar!”

Constantes e variáveis

O que é uma constante?

Uma constante armazena um valor fixo que NÃO mudará com o tempo de execução do programa. Um exemplo de constante, seria o número de PI 3,1415926, esse número é imutável.

O que é uma variável?

É uma entidade destinada a guardar uma informação (é o que já conhecemos), não é um valor fixo e pode ser alterado a qualquer momento, dependendo do escopo. Ao alterar o conteúdo de uma variável, a informação anterior é perdida. Ou seja, a variável armazena sempre a última informação recebida.

Operadores lógicos

Negação: quando incluímos o “diferente de”

Ex: O DDD do telefone do cliente é diferente de 41?

dddCliente != 41
ou
!isSummer
// essa segunda opção seria como “é diferente de verão?” ou “essa afirmação é diferente de true?”, nas linguagens de programação é possível fazer esse tipo de validação quando é true ou false, sem comparar diretamente igual o primeiro algoritmo mostrado

Conjunção (&&): quando incluímos o “e”
Ambas as afirmativas precisam ser verdadeiras

dddCliente == 41 && diaHoje == 01

Se um for falso, a afirmação toda será falsa.
Se os dois forem verdades, a afirmação será verdadeira

Disjunção ( || ): quando incluímos o “OU”

diaHoje == 01 || diaHoje == 15

Se um for verdade e o outro falso, a afirmação será verdadeira
Se os dois forem falsos, a afirmação será falsa.

Operadores relacionais

São utilizados para comparar valores entre variáveis e expressões, o retorno dessa comparação é sempre um valor do tipo booleano (verdadeiro/falso);

Esses operadores são os que já conhecemos:

Igual ==
Maior >
Maior ou igual >=
Diferente !=
Menor <
Menor ou igual <=

Por exemplo, vamos construir um algoritmo pra descobrir se o usuário pode tirar carteira de motorista:

Idade = 19;
Se idade >= 18
Fale “Eba, você pode tirar carteira!”
senão
Fale “Deu ruim, não vai rolar!”

Considerações Finais

É super importante o estudo de algoritmos e lógica mesmo que você não seja desenvolvedor, não por regra, mas pelo simples fato que vai abrir sua mente pra trabalhar no dia a dia, na relação com o projeto que está tocando. Começaremos a pensar em possibilidades diferentes, se as situações B que podem ser afetadas se as situações A forem mexidas, e conhecer além do escopo que está mexendo e aprender um contexto maior. Isso vai ajudar a longo prazo.

Referências bibliográficas e algumas sugestões de leituras sobre o assunto:

--

--

Patrick Augusto

Sou programador e músico, aqui quero compartilhar pensamentos, ideias, e principalmente anotações de estudos. Pra me ajudar, e quem sabe, ajudar alguém!