Algoritmos – Expressões e Operadores – Parte 3
OPERADORES
Os operadores tem grande utilidade no desenvolvimento de algoritmos com eles podemos comparar e efetuar cálculos entre variáveis. Comandos utilizando operadores serão muito utilizados em todo o curso e em todas as ocorrências em que os algoritmos se fizer necessário.
Expressões Aritméticas
Nas expressões aritméticas fazemos o uso dos operadores aritméticos que são símbolos utilizados para efetuarmos cálculos matemáticos. Os operadores aritméticos são utilizados somente com dados do tipo inteiro e do tipo real.
Operadores Aritméticos
Os operadores aritméticos representam as operações mais comuns da matemática. São eles:
Operador | Operação | Operandos | Resultado |
+ | Adição | Inteiro, Real | Inteiro, Real |
– | Subtração | Inteiro, Real | Inteiro, Real |
* | Multiplicação | Inteiro, Real | Inteiro, Real |
/ | Divisão | Inteiro, Real | Real |
DIV | Divisão inteira | Inteiro | Inteiro |
MOD | Resto da Divisão | Inteiro | Inteiro |
Exemplos:
Expressão | Resultado |
3 + 2 | 5 |
8 – 5 | 3 |
3 * 3,5 | 10,5 |
5 / 2 | 2,5 |
5 DIV 2 | 2 |
5 MOD 2 | 1 |
Prioridades
As prioridades seguem o mesmo contexto da das prioridades em expressões matemáticas. Segue abaixo uma tabela contendo as prioridades e suas exceções.
Prioridade | Operadores |
1ª | * / DIV MOD |
2ª | + – |
Observações:
1 – Quando houver expressões com operadores de mesma prioridade segue a de maior prioridade.
2 – A utilização de parênteses indica que as expressões contidas nos mesmos tem prioridade máxima. E se houver parêntese alinhados os parênteses mais internos tem prioridade.
Exemplos:
1º
2 + 3 / 2 => 2 + 1,5 => 3,5
2º
(2 + 3) / 2 => 5 / 2 => 2,5
Funções e procedimentos aritméticos
São funções que estão prontas para cálculos específicos. Abaixo segue uma tabela contento estas funções e procedimentos aritméticos e suas características.
Função | Finalidade | Tipo do Argumento | Tipo do Resultado |
ABS (X) | Valor Absoluto | Inteiro, Real | O mesmo do argumento |
FRAC (X) | Parte Fracionária | Real | Real |
TRUNC (X) | Parte Inteira | Real | Inteiro |
ROUND (X) | Valor Arredondado | Real | Inteiro |
SQR (X) | Eleva ao quadrado | Inteiro, Real | O mesmo do argumento |
SQRT (X) | Raiz quadrada | Inteiro, Real | Real |
LN (X) | Logaritmo Natural | Real | Real |
EXP (X) | Exponencial | Real | Real |
No Pascal não existe nenhuma função que faça a Potenciação (X N), mas podemos conseguir esta informação utilizando a função LN(X) e EXP(X).
EXP (LN(X)*N);
Exemplos
Expressão | Resultado |
SQR (3) | 9 |
SQR (1,5) | 2,25 |
SQRT (2,25) | 1,5 |
TRUNC (1,97) | 1 |
ROUND (1,97) | 2 |
EXP (LN(3) * 3) | 27 |
ABS (-8,8) | 8,8 |
ABS (8) | 8 |
FRAC (2,286) | 0,286 |
Expressões Lógicas
As expressões lógicas sempre retornaram True (Verdadeiro) e False (Falso). Para se montar expressões lógicas utilizamos de operadores relacionais e operadores lógicos. Veremos o que são e como funciona cada um destes operadores e exemplificaremos cada um deles. A utilização das expressões lógicas somente serão aplicadas em termos com o mesmo tipo de dados.
Operadores Relacionais
São usados para comparar duas expressões ou variáveis e retorna se a comparação é verdadeira ou falsa (Valor Lógico).
Operador | Operação |
= | Igual |
> | Maior |
< | Menor |
>= | Maior ou Igual |
<= | Menor ou igual |
<> | Diferente |
Exemplos:
Expressão | Resultado |
1 = 2 | FALSE |
‘A’ = ‘a’ | FALSE |
5 > 2 | TRUE |
3 <= 3 | TRUE |
TRUE < FALSE | FALSE |
‘JOAO’ > ‘JOSE’ | FALSE |
2 + 3 <> 5 | FALSE |
‘comp’ <> ‘COMP’ | TRUE |
11 > 4 | TRUE |
Operadores Lógicos
São utilizados para combinar expressões lógicas.
Operador | Operação |
Not | Não (negação) |
And | E (conjunção) |
Or | Ou (disjunção) |
Prioridade
A ordem em que se obedece uma expressão lógica, segue o quadro abaixo
Prioridade | Operadores |
1ª | Not |
2ª | And |
3ª | Or |
4ª | = > < >= <= <> |
EXERCICIOS RESOLVIDOS
1- Considerando que X = 1, Y = 2 e Z = 5, desenvolva.
- Z mod Y div Y
Resp.: 5 mod 2 div 2 -> 1 div 2 -> 0
- X + Y + Z / 3
Resp.: 1 + 2 + 5 / 3 -> 3 + 1,667 -> 4,667
- FRAC (X / Z) + ROUND (Z / Y) * TRUNC (Z / Y)
Resp.: FRAC (1/5) + ROUND (5/2) * TRUNC (5/2) -> 0,2 + 3 * 2 -> 0,2 + 6 -> 6,2
- SQRT (Z div Y + X * Y)
Resp.: SQRT (5 div 2 + 1 * 2) -> SQRT (2 + 2) -> SQRT (4) -> 2
- Z – ABS (X – SQR(Y))
Resp.: 5 – ABS (1 – SQR(2)) -> 5 – ABS (1 – 4) -> 5 – ABS (-3) -> 5 – 3 -> 2
2- Dadas as comparações abaixo, escreva os resultados.
- 3 = 3.0
Resp.: TRUE
- ‘a’ <= ‘A”
Resp.: FALSE
- ‘ ‘ = ‘ ‘
Resp.: FALSE
- ‘CASA’ <> ‘casa’
Resp.: TRUE
- FALSE = FALSE
Resp.: TRUE
- ‘JOAQUIM’ < ‘JOSE’
Resp.: FALSE
- ‘22’ > ‘200’
Resp.: FALSE
3- Sendo A = TRUE e B = FALSE. Qual o resultado das expressões abaixo
- not A and B or A and not B
Resp.: FALSE
- not (not (A or B) and (A or B))
Resp.: TRUE
- A or B and not A or not B
Resp.: TRUE
- (A or B) and (not A or not B)
Resp.: FALSE