No artigo anterior em Lógica de Programação - Operadores Aritméticos, aprendemos sobre os operadores aritméticos binários e unários, além da ordem de precedência em operações seguida por eles.
Neste artigo aprenderemos sobre os operadores relacionais, sua função e como utilizá-los na programação, sendo todas as representações deste artigo em pseudocódigo. Porque imaginemos o seguinte: podemos negar algo em português através da palavra não, e em inglês através da palavra not, no; em espanhol através do no, em alemão através do nein... e ambas significam a mesma coisa. Da mesma forma podemos passar uma instrução para um computador representada em diferentes linguagens de programação, por isso antes de nos preocuparmos com as diferentes maneiras de se passar uma instrução para um computador em linguagem de programação, vamos nos preocupar com a instrução em si e aprender antes o seu significado através do pseudocódigo que facilita o nosso entendimento.
Os Operadores Relacionais
Os operadores relacionais são utilizados para relacionar dois valores de mesmo tipo primitivo e retornar um valor lógico de verdadeiro ou falso. São eles:
Operador | Função | Exemplos |
---|---|---|
= | igual a | 1 = 2, a = b |
> | maior que | 7.0 > 6.0, x > y |
< | menor que | 3.2 > 3.555, m > n |
>= | maior ou igual a | 255 >= 9.0, s >= t |
<= | menor ou igual a | 1.0 <= 1.0, e <= e |
<> | Diferente de | 3 <> 3, g <> g |
Por relacionar apenas dois valores por vez, não podemos expressar em pseudocódigo 1 < x < 10 como na matemática, mas sim (x > 1) e (x < 10). Porém algumas linguagens de programação, como o Python por exemplo, aceitam essa sintaxe de (a < x < b).
Note que os operadores de igualdade (=) e diferença (<>) podem ser usados em dados do tipo:
- Numérico (real e inteiro);
- Lógico;
- Literal (ou caractere).
E quanto ao uso de operadores de desigualdade, varia um pouquinho de linguagem de programação para linguagem de programação. Por exemplo: em C a operação true > false ou true < false não gera erro, enquanto em Java geraria um erro no processo de compilação. E a operação 'a' > 'b' envolvendo caracteres simples, é válida em ambas as linguagens. Isso acontece porque cada caractere possui um código numérico que o identifica.
O padrão que representa os caracteres de todas as línguas existentes se chama Unicode, que oferece um número único número para cada caractere.
O padrão que representa os caracteres de todas as línguas existentes se chama Unicode, que oferece um número único número para cada caractere.
Observação: é possível comparar um dado numérico inteiro com um real sem problema algum. O resultado da comparação ainda será um resultado lógico de verdade ou falsidade.
Utilização dos Operadores Relacionais
No artigo sobre O que é um Algoritmo, ajudamos João a atravessar a rua com um algoritmo na forma descritiva. Existia uma condicional "se o semáforo estiver aberto para os carros, esperar". Podemos utilizar um operador relacional nessa situação:
se (semaforo = VERDADEIRO) entao
//Instruções para esperar o semáforo fechar
senao
//Instruções para atravessar
fimse
Isto acima é uma estrutura condicional. Toda estrutura condicional e até mesmo iterativa, devem receber um valor lógico para haver um desvio ou não na execução do programa. Um outro exemplo do uso de operadores relacionais:
algoritmo "Exemplo1"
var
n1, n2, n3, media: real
inicio
//Entrada das notas
escreva("Primeira nota: ")
leia(n1)
escreva("Segunda nota: ")
leia(n2)
escreva("Terceira nota: ")
leia(n3)
//Cálculo da média
media := (n1 + n2 + n3)/3
//Saída utilizando operadores relacionais
se (media >= 6) entao
escreva("Aprovado!")
senao
se (media < 6) e (media > 3) entao
escreva("Exame.")
senao
escreva("Reprovado!")
fimse
fimse
fimalgoritmo
Perceba que na segunda condição foi utilizado o conector lógico "e" para interligar o resultado das duas operações envolvendo operadores relacionais. O "e" não é um operador relacional e sim lógico.
Também é possível utilizá-los para armazenar um valor em uma variável do tipo lógica:
algoritmo "Exemplo2"
var
a: logico
inicio
a := 1 > 2
escreva("1 > 2 = ", a)
fimalgoritmo
A saída desse algoritmo será:1 > 2 = FALSO
O que você aprendeu
Neste artigo você aprendeu o que significa um operador relacional e que ele é utilizado em situações em que se precisa relacionar dois tipos de dados primitivos e que o resultado da comparação é um dado lógico. Você aprendeu:- O que são operadores relacionais.
- Utilização dos operadores relacionais.
- Ordem de precedência seguida por eles.
No próximo artigo falaremos sobre operadores lógicos: Lógica de Programação - Operadores Lógicos
Referência Bibliográfica
MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: lógica para Desenvolvimento de Programação de Computadores. 17. ed. São Paulo: Érica, 2005. 219 p.
FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de programação: a construção de algoritmos e estrutura de dados. 3. ed. São Paulo: Prentice Hall, 2005. 208 p.
Para citar esse artigo:
Comentários
Postar um comentário