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:
Sintaxe
A sintaxe básica do if
é:
O 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 🙂