comparação numérica

não é inequação


Material de apoio para a disciplina Linguagem de Programação da UACSA/UFRPE

Produzido pelo prof. João Pimentel

Em Python a gente consegue escrever código assim:

x > 5

A primeira coisa que precisamos entender é que isso não é, nem tem nada a ver, com inequações matemáticas! Isso é apenas uma comparação; estamos comparando o valor atual de x com o número 5, e queremos saber se o valor atual de x é maior do que 5 ou não.

Veja a seguir alguns exemplos de aplicação das comparações.


bebê
idade: 0 anos

mexa no slider acima e veja a classificação etária sendo alterada

Para fazer essa classificação etária o programa executou várias comparações numéricas: a idade é maior ou igual a 65 anos? Maior ou igual a 18? Maior ou igual a 14? Etc.


Esse foi um exemplo de uso das comparações em sistemas normais do dia a dia. Que tal ver um exemplo de jogo?

toque na plataforma para pular e pegar os diamantes

0 pontos
para o jogo funcionar são necessárias várias comparações:

para saber quando o boneco dá a volta: a posição x do boneco é maior que o limite direito da plataforma e menor que o limite esquerdo?

para saber quando o boneco pode pular: a quantidade de pulos é menor do que 3? a posição y do boneco é menor do que o limite superior da plataforma?

para saber se o boneco pegou o item: as posições x e y do boneco estão dentro dos limites da posição do diamante?

mas não é só para jogos que as comparações servem. Veja:

  • 💯 Em um sistema de boletim, queremos saber se a nota é maior ou igual a 7 para dizer se a pessoa passou ou não
  • 📧 Em um sistema de email queremos comparar a data de recebimento dos emails, para poder vê-los do mais novo para o mais antigo
  • 🔑 Para fazer login queremos comparar se a senha que a pessoa digitou é igual à senha que está salva

Na prática, as comparações são perguntas que a gente manda o computador responder.

5 > 2 quer dizer: "Computador, 5 é maior do que 2?"

10 < 1 quer dizer: "Computador, 10 é menor do que 1?"

E só existem duas respostas possíveis para essas perguntas: sim ou não

5 > 2 quer dizer: "Computador, 5 é maior do que 2?"
Resposta: SIM, é verdade que 5 é maior que 2!

10 < 1 quer dizer: "Computador, 10 é menor do que 1?"
Resposta: NÃO, 10 não é menor do que 1. Isso é uma mentira! Calúnia! Blasfêmia! Isso é falso!!

E é assim que o Python vai responder pra gente: True ou False. Verdadeiro ou Falso.

print(5 > 2)
resultado: True

print(9 < 3)
resultado: False

print(1 < 4)
resultado: True

print(10 > 10)
resultado: False

True e False não são strings - são valores booleanos.

Ao contrários dos números, que são infinitos, o tipo booleano (bool) só pode ter dois valores: ou é True ou é False

Toda comparação tem como resultado um valor booleano. Por exemplo, a gente não sabe qual será o resultado de x>2, mas sabemos que será ou True ou False (a não ser que dê algum erro; nesse caso não haverá resultado).

Além de perguntar se um número é maior que outro, podemos perguntar se é maior ou igual. Na matemática, o símbolo é ≥. No Python fica assim: >= (os símbolos do maior e do igual, juntinhos).

Para menor ou igual, seguimos o mesmo raciocínio. Em vez de ≤, fica <= (os símbolos do menor e do igual, juntinhos).

Exemplos com maior ou igual:

print(10 >= 10)
resultado: True

print(2 >= 5)
resultado: False

Qual o resultado de
print(5 > -20)
Qual o resultado de
print(10 > 10)

É muito comum a gente pensar que print(10 > 10) dá erro por que, afinal de contas, é errado que 10 é maior que 10, né? Mas quando a comparação não é verdadeira o Python não dá um erro, ele apenas diz que a comparação é falsa (False).

💡 Essa diferença entre erro e falsidade parece frescura, mas traz uma consequência concreta: quando dá erro, o Python para de executar o programa; quando dá falso, o programa não para.

Qual o resultado de
print(10 <= 10)
Qual o resultado de
print(55 ≥ 20)

Além das comparações maior que, menor que, maior igual, e menor igual, também podemos comparar se dois valores são iguais ou diferentes.

É assim que o quiz sabe se você acertou ou não a resposta. Se a opção que você respondeu é igual à opção correta, então acertou. Se são diferentes, então errou.

Na matemática, os símbolos de igualdade e diferença são = e ≠. Mas no Python é diferente, fica assim:

== (dois iguais juntinhos): comparação de igualdade

!= (exclamação igual, juntinhos): comparação de diferença

igualdade:

print(10 == 5)
10 é igual a 5? Resultado: não, False

print(88 == 88)
88 é igual a 88? Resultado: sim, True


diferença:

print(10 != 5)
10 é diferente de 5? Resultado: sim, True

print(88 != 88)
88 é diferente de 88? Resultado: não, False

Qual o resultado de
print(5 != 5)
Qual o resultado de
print(10 == 10)
Qual o resultado de
print(10 == 5 + 5)
😓 Ufa, muita coisa, né? O vídeo a seguir não apenas dá algumas informações a mais, mas com certeza irá te ajudar a entender melhor o que já expliquei aqui.

Vídeo 1 (15min)

resumão

É muito comum esquecermos dos símbolos da comparação de igualdade e de diferença, então fica atenta(o) 😉

Qual o resultado de...
x = 3 print(x > 0)
1/5

...

ou

?
CERTO!
...



Créditos

range slider vertical: Kevin

imagens utilizadas no jogo: Kenney.nl