Aula - Estruturas Condicionais

Aula por Rogério Júnior e João Pedro Castro

Tudo na programação pode ser resumido à Estruturas Condicionais, os famosos if/else. Eles são usados em absolutamente tudo que acontece em qualquer dispositivo eletrônico, afinal somente a partir deles é possível introduzir a lógica à programação. e é quase impossível se deparar com problemas de programação competitiva que não os usem (tanto que só encontrei 6 para a aula passada :P).

Operadores de Comparação

Em programação, os operadores de comparação são ferramentas essenciais para avaliar condições. Em C++, usamos esses operadores para comparar valores e tomar decisões com base nesses resultados. Eles nos permitem verificar se duas expressões são iguais, diferentes, maiores, menores ou atendem a outras condições específicas.

  • == (igual a): Verifica se dois valores são iguais.
  • != (diferente de): Verifica se dois valores são diferentes.
  • < (menor que): Verifica se o valor à esquerda é menor que o valor à direita.
  • > (maior que): Verifica se o valor à esquerda é maior que o valor à direita.
  • <= (menor ou igual a): Verifica se o valor à esquerda é menor ou igual ao valor à direita.
  • >= (maior ou igual a): Verifica se o valor à esquerda é maior ou igual ao valor à direita.

Você pode pensar nesses símbolos como as operações matemáticas usuais, da mesma foram que a adição, subtração, multiplicação, etc. A única diferença é que seus resultados se limitam à 0 e 1 (falso e verdadeiro), dependendo se a expressão é verdadeira ou não. Por exemplo:

  • 5 > 3 \rightarrow 1
  • 22 <= 15 \rightarrow 0
  • 12~!= 7 \rightarrow 1
  • 11 == 2 \rightarrow 0

Sintaxe

A sintaxe básica do if é:

if se traduz para se, e é o começo de toda estrutura condicional. Ele contém uma expressão qualquer dentro dos parênteses, e o  código dentro das chaves é executado caso o valor dessa expressão seja verdadeiro. De forma simplificada:

Seguem alguns exemplos abaixo:

O else if pode ser utilizado após um if ou outro else if, proporcionando a verificação de condições adicionais quando todas as condições anteriores se mostram falsas. Por fim, o else é aplicado ao término de uma estrutura condicional, sucedendo um if ou else if, e seu bloco de código interno é executado somente se todas as condições anteriores forem falsas, sem depender de nenhuma condição adicional. A estrutura básica em código é:

Essencialmente, o fluxo de execução começa com o if. Se a condição associada ao if for verdadeira, o bloco de código correspondente é executado e o programa sai da estrutura condicional. Se a condição do if for falsa, o programa passa para o primeiro else if e verifica a condição associada a ele. Se essa condição for verdadeira, o bloco de código correspondente é executado.

Isso continua sequencialmente para cada else if, até que uma condição seja verdadeira. Se nenhuma das condições if ou else if for verdadeira, o bloco de código dentro do else é executado.

O else if é útil quando há várias condições mutuamente exclusivas a serem verificadas em sequência, permitindo que o programa selecione o bloco de código a ser executado com base na primeira condição verdadeira encontrada. Lembrando que somente o if é obrigatório, e a quantidade de else if ou a aparição ou não do else são opcionais.

Um aviso muito importante é o de que variáveis declaradas dentro de uma estrutura condicional só existem dentro daquela única estrutura condicional, e tentar usar elas fora da estrutura receberá um erro ao compilar de was not declared in this scope. Seguem alguns exemplos para que a ideia seja captada:

Operadores Lógicos

Os operadores lógicos são feitos para combinar e modificar expressões booleanas, existem três principais:

&& (AND)

O operador && (AND) serve para combinar duas expressões booleanas em uma só, como: expressao1 && expressao2. Ele se traduz para "e", e o resultado da expressão só vai ser true (1) caso o resultado tanto daexpressao1 quanto da expressao2 seja true. Uma tabela para ver o resultado do && é:
Um exemplo de uso é para conferir se um número se encontra dentro de um range, como por exemplo:

|| (OR)

O operador || (OR) serve para combinar duas expressões booleanas em uma só, como: expressao1 || expressao2. Ele se traduz para "ou", e o resultado da expressão só vai ser true (1) caso o resultado de pelo menos uma dentre aexpressao1 e a expressao2 seja true. Uma tabela para ver o resultado do || é:

Ele é usado para checar se pelo menos uma das condições é verdade, como por exemplo:

! (NOT)

O operador ! (NOT) é usado em uma única expressão booleana, e simplesmente inverte o valor da expressão, sendo usado como: !expressao. Ele se traduz para "não", uma tabela para ver o resultado do ! é:

Seguem alguns exemplos:

Fim

Agora o universo de problemas que você  pode resolver se expandiu imensamente, parabéns! Vá para página anterior e resolva os problemas recomendados para continuar sua jornada de aprendizado 🙂