Bem vindo a aula 48 de nosso curso gratuito de programação com a linguagem C. Na aula de hoje vamos conhecer a Disjunção e aprender a utilizar o operador lógico ou (||)
O operador lógico “ou” é semelhante ao operador “e” que já aprendemos. Pode ser utilizado para juntar vários testes em apenas uma estrutura de decisão. A diferença está em sua tabela verdade:
teste1 | teste 2 | teste 1 || teste 2 |
v | v | v |
v | f | v |
f | v | v |
f | f | f |
Assim como o nome sugere, o resultado do teste lógico será verdadeiro sempre que um OU outro for verdadeiro. Consequentemente, será falso apenas quando TODOS os testes individuais forem falsos.
Imagine que foi concedido gratuidade no transporte público para crianças de até 5 anos e para a terceira idade (60 anos ou mais) e, lendo a idade do passageiro, queremos saber se ele tem direito a gratuidade ou não. Uma primeira versão pode ser:
int idade; printf("Digite sua idade: "); scanf("%d", &idade); if(idade <= 5){ printf("Este passageiro tem direito à gratuidade!"); else{ if(idade >= 60) printf("Este passageiro tem direito à gratuidade!"); else printf("Este passageiro não tem direito à gratuidade!"); }
Se a idade do passageiro for menor ou igual a 5 ou maior ou igual a 60 o passageiro tem direito à gratuidade.
Contudo, esta versão pode ser melhorada utilizando o operador lógico ou, assim:
int idade; printf("Digite sua idade: "); scanf("%d", &idade); if(idade <= 5 || idade >= 60) printf("Este passageiro tem direito à gratuidade!"); else printf("Este passageiro não tem direito à gratuidade!");