Pular para o conteúdo

O que é lógica de programação? Condições e exemplos

Entenda lógica de programação com condições, operadores booleanos e tabelas de teste. Veja como detectar erros em regras de validação.

Autoria
Study Mais
Publicado em
Tempo de leitura
4 min de leitura
Programador trabalha em um computador em um laboratório universitário.
Programador trabalha em um computador em um laboratório universitário. Study Mais — imagem ilustrativa gerada com IA.

Em poucas palavras

  • Condições devem representar critérios explícitos do problema.
  • E exige simultaneidade; OU inclusivo aceita ao menos uma alternativa.
  • Casos de fronteira e entradas inválidas revelam erros que um caso comum não mostra.

Lógica de programação é a organização do raciocínio necessário para representar regras e construir soluções executáveis. Ela envolve decompor problemas, formular condições, ordenar ações e verificar resultados. Aprender uma linguagem oferece os comandos; desenvolver a lógica ajuda a decidir quais comandos usar, em que ordem e sob quais condições.

Este artigo concentra-se em condições e operadores booleanos, uma base frequente dos erros iniciais. Para integrar decisão, repetição e atualização de variáveis em um problema completo, consulte algoritmos e lógica de programação. A definição de algoritmo ajuda a separar o procedimento de sua implementação.

Uma condição precisa ter significado preciso

Uma condição é uma expressão que pode ser avaliada como verdadeira ou falsa no contexto considerado. “O valor é válido” ainda não informa como decidir. “O valor está entre 0 e 10, inclusive” permite construir duas comparações: ser maior ou igual a zero e ser menor ou igual a dez. O intervalo precisa estar definido antes de escolher operadores.

Operadores booleanos básicos
OperadorResultado verdadeiro quandoLeitura no exemplo
EAs duas condições são verdadeirasO valor respeita o limite inferior e o superior
OU inclusivoPelo menos uma condição é verdadeiraUma de duas alternativas aceitas está presente
NÃOA condição original é falsaA regra indicada não foi satisfeita
Operador
E
Resultado verdadeiro quando
As duas condições são verdadeiras
Leitura no exemplo
O valor respeita o limite inferior e o superior
Operador
OU inclusivo
Resultado verdadeiro quando
Pelo menos uma condição é verdadeira
Leitura no exemplo
Uma de duas alternativas aceitas está presente
Operador
NÃO
Resultado verdadeiro quando
A condição original é falsa
Leitura no exemplo
A regra indicada não foi satisfeita
Operadores booleanos básicos

O OU usado usualmente em programação é inclusivo: também resulta verdadeiro quando as duas condições são verdadeiras. Isso difere de uma alternativa exclusiva, na qual exatamente uma precisa ocorrer. A linguagem natural pode deixar essa distinção implícita; o programa exige uma decisão explícita.

Exemplo: validar uma nota entre 0 e 10

Comparação entre E e um OU usado por engano
NotaNota ≥ 0Nota ≤ 10Com ECom OU
−1FalsoVerdadeiroRejeitaAceita indevidamente
5VerdadeiroVerdadeiroAceitaAceita
11VerdadeiroFalsoRejeitaAceita indevidamente
Nota
−1
Nota ≥ 0
Falso
Nota ≤ 10
Verdadeiro
Com E
Rejeita
Com OU
Aceita indevidamente
Nota
5
Nota ≥ 0
Verdadeiro
Nota ≤ 10
Verdadeiro
Com E
Aceita
Com OU
Aceita
Nota
11
Nota ≥ 0
Verdadeiro
Nota ≤ 10
Falso
Com E
Rejeita
Com OU
Aceita indevidamente
Comparação entre E e um OU usado por engano

O teste com 5 não revela o erro, pois as duas versões aceitam o valor. Os casos fora da faixa mostram a diferença. É por isso que testar apenas um exemplo confortável pode produzir falsa confiança. Para números reais comuns, a condição com OU aceita valores que violam um dos limites.

Como negar uma condição composta

Se a regra de validade é “maior ou igual a zero E menor ou igual a dez”, sua negação é “menor que zero OU maior que dez”. Negar cada comparação e conservar o mesmo conectivo produz outra regra. As leis de De Morgan ajudam a organizar essa transformação e podem ser conferidas com uma tabela de valores verdadeiros e falsos.

Na implementação, a sintaxe depende da linguagem. A documentação do Python sobre condições mostra o uso de decisões e expressões. Consulte também a documentação dos operadores da linguagem escolhida; símbolos semelhantes podem ter significados ou regras de avaliação diferentes.

Parênteses e regras com várias alternativas

Escrever a regra primeiro em frases e depois com agrupamentos torna a revisão mais clara. Mesmo quando a precedência da linguagem resolveria a expressão, parênteses bem escolhidos podem comunicar melhor a intenção. Não acrescente agrupamentos para esconder uma regra que ainda não foi definida.

Como praticar e conferir o raciocínio

Roteiro para uma decisão programada

  1. Escreva a regra em linguagem comum e identifique termos vagos.
  2. Transforme cada requisito simples em uma condição.
  3. Escolha E, OU e NÃO conforme a relação entre os requisitos.
  4. Agrupe as condições para tornar a intenção explícita.
  5. Teste valores de fronteira, valores fora da faixa e combinações de permissões.
  6. Compare o resultado obtido com a regra original.

O pensamento computacional ajuda a decompor o problema antes de escrever código. A lógica se desenvolve quando você consegue explicar por que uma decisão deve ocorrer, criar um caso que a contradiga e revisar a expressão até que comportamento e especificação coincidam.

Aula da UNIVESP sobre expressões lógicas e operadores. Use os exemplos do artigo para conferir E, OU e NÃO. Algoritmos e Programação de Computadores I - Expressões lógicas e operadores (UNIVESP)

Referências

  1. NIST. Dictionary of Algorithms and Data Structures. Algorithm. https://xlinux.nist.gov/dads/HTML/algorithm.html
  2. MIT OPENCOURSEWARE. Introduction to Algorithms, 6.006. Spring 2020. https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/
  3. PYTHON SOFTWARE FOUNDATION. Tutorial: mais ferramentas de controle de fluxo. https://docs.python.org/pt-br/3/tutorial/controlflow.html

Autoria

Study Mais