Pascal - Operadores

Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas ou lógicas específicas. Pascal permite os seguintes tipos de operadores -

  • Operadores aritméticos
  • Operadores relacionais
  • Operadores booleanos
  • Operadores de bits
  • Operadores de conjunto
  • Operadores de string

Vamos discutir os operadores aritméticos, relacionais, booleanos e de bits um por um. Discutiremos os operadores de conjunto e as operações de string posteriormente.

Operadores aritméticos

A tabela a seguir mostra todos os operadores aritméticos suportados pelo Pascal. Assumir variávelA contém 10 e variável B contém 20, então -

Mostrar exemplos

Operador Descrição Exemplo
+ Adiciona dois operandos A + B dará 30
- Subtrai o segundo operando do primeiro A - B dará -10
* Multiplica ambos os operandos A * B dará 200
/ Divide numerador por denominador B / A dará 2
% Operador de Módulo e o restante após uma divisão inteira B% A dará 0

Operadores Relacionais

A tabela a seguir mostra todos os operadores relacionais suportados por Pascal. Assumir variávelA contém 10 e variável B contém 20, então -

Mostrar exemplos

Operador Descrição Exemplo
= Verifica se os valores dos dois operandos são iguais ou não, se sim, a condição torna-se verdadeira. (A = B) não é verdade.
<> Verifica se os valores de dois operandos são iguais ou não, se os valores não são iguais, a condição torna-se verdadeira. (A <> B) é verdade.
> Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim, a condição torna-se verdadeira. (A> B) não é verdade.
< Verifica se o valor do operando esquerdo é menor que o valor do operando direito, se sim, a condição torna-se verdadeira. (A <B) é verdade.
> = Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim, a condição torna-se verdadeira. (A> = B) não é verdade.
<= Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim, a condição torna-se verdadeira. (A <= B) é verdadeiro.

Operadores booleanos

A tabela a seguir mostra todos os operadores booleanos suportados pela linguagem Pascal. Todos esses operadores trabalham em operandos booleanos e produzem resultados booleanos. Assumir variávelA é verdadeiro e variável B é falso, então -

Mostrar exemplos

Operador Descrição Exemplo
e Operador booleano AND chamado. Se ambos os operandos forem verdadeiros, a condição se torna verdadeira. (A e B) é falso.
e depois É semelhante ao operador AND, mas garante a ordem em que o compilador avalia a expressão lógica. Os operandos da esquerda para a direita e os da direita são avaliados apenas quando necessário. (A e então B) é falso.
ou Operador Booleano OU chamado. Se qualquer um dos dois operandos for verdadeiro, a condição se torna verdadeira. (A ou B) é verdade.
se não É semelhante ao booleano OR, porém, garante a ordem em que o compilador avalia a expressão lógica. Os operandos da esquerda para a direita e os da direita são avaliados apenas quando necessário. (A ou então B) é verdadeiro.
não Operador booleano NOT chamado. Usado para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT a tornará falsa. não (A e B) é verdade.

Operadores de bits

Operadores bit a bit trabalham em bits e executam operações bit a bit. Todos esses operadores trabalham em operandos inteiros e produzem resultados inteiros. A tabela verdade para bit a bit e (&), bit a bit ou (|) e bit a bit não (~) são as seguintes -

p q p & q p | q ~ p ~ q
0 0 0 0 1 1
0 1 0 1 1 0
1 1 1 1 0 0
1 0 0 1 0 1

Suponha que A = 60; e B = 13; agora em formato binário serão os seguintes -

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A ^ B = 0011 0001

~ A = 1100 0011

Os operadores bit a bit suportados pelo Pascal estão listados na tabela a seguir. Suponha que a variável A tenha 60 e a variável B tenha 13, então:

Mostrar exemplos

Operador Descrição Exemplo
E O operador Binário AND copia um bit para o resultado se ele existir em ambos os operandos. (A e B) dará 12, que é 0000 1100
| O operador binário OR copia um bit se ele existir em qualquer operando. (A | B) dará 61, que é 0011 1101
! O operador binário OR copia um bit se ele existir em qualquer operando. É o mesmo que | operador. (A! B) dará 61, que é 0011 1101
~ O operador de complemento binários é unário e tem o efeito de 'inverter' bits. (~ A) resultará em -61, que é 1100 0011 na forma de complemento de 2 devido a um número binário com sinal.
<< Operador binário de deslocamento à esquerda. O valor dos operandos à esquerda é movido para a esquerda pelo número de bits especificado pelo operando à direita. Um << 2 dará 240, que é 1111 0000
>> Operador binário de deslocamento à direita. O valor dos operandos à esquerda é movido para a direita pelo número de bits especificado pelo operando à direita. Um >> 2 dará 15, que é 0000 1111

Observe que diferentes implementações de Pascal diferem em operadores bit a bit. Pascal livre, o compilador que usamos aqui, no entanto, suporta os seguintes operadores bit a bit -

Operadores Operações
não NÃO bit a bit
e E bit a bit
ou OR bit a bit
xor OR exclusivo bit a bit
shl Deslocamento à esquerda
Shr Deslocamento bit a bit para a direita
<< Deslocamento à esquerda
>> Deslocamento bit a bit para a direita

Precedência de operadores em Pascal

A precedência do operador determina o agrupamento de termos em uma expressão. Isso afeta como uma expressão é avaliada. Certos operadores têm precedência mais alta do que outros; por exemplo, o operador de multiplicação tem precedência mais alta do que o operador de adição.

Por exemplo, x = 7 + 3 * 2; aqui, x é atribuído a 13, não 20, porque o operador * tem precedência mais alta do que +, portanto, primeiro é multiplicado por 3 * 2 e, em seguida, soma 7.

Aqui, os operadores com a precedência mais alta aparecem na parte superior da tabela, aqueles com a mais baixa aparecem na parte inferior. Em uma expressão, os operadores de precedência mais altos serão avaliados primeiro.

Mostrar exemplos

Operador Precedência
~, não, Altíssima
*, /, div, mod e, &
|,!, +, - ou,
=, <>, <, <=,>,> =, em
ou então, e então O mais baixo