07 Operatory

Operatory arytmetyczne

W kolejności priorytetów:

  1. ** potęgowanie
  2. * mnożenie
  3. / dzielenie
  4. + jednoargumentowy plus
  5. - jednoargumentowy minus
  6. + dwuargumentowy plus (dodawanie)
  7. - dwuargumentowy minus (odejmowanie)

Uwagi:

  1. Operatory 2 i 3 mają jednakowy priorytet. Podobnie 4 i 5 czy 6 i 7. W przypadku operatorów o jednakowym priorytecie działąnia wykonywane są od lewej do prawej. Wyjątkiem jest wyrażenie A**B**C, które opliczane jest od prawej do lewej, czyli A**(B**C). Można używać nawiasów do zmiany kolejności operacji.
  2. Wyrażenie A**-B*C wyliczane jest jako A**(-(B*C)) bo mnożenie ma wyższy priorytet niż jednoargumentowy minus (operator negacji)

Operatory tekstowe

Jest tylko jeden operator: konkatenacji (łączenia tekstów): //

Operatory relacji

  1. < albo .LT. — mniejszy niż
  2. <= albo .LE. — mniejszy lub równy
  3. == albo .EQ. — równy
  4. /= albo .NE. — nie równy
  5. > albo .GT. — większy
  6. >= albo .GE. — większy lub równy

Wynikiem działania operatora relacji jest wartość logiczna (prawda .TRUE. lub fałsz .FALSE.).
Wszystkie operatory porównania mają jednakowy priorytet. Operatory arytmetyczne oraz operator konkatenacji mają wyższy prirytet niż operatory porównania.

Operatory logiczne

  1. .AND. — logiczne I
  2. .OR. — logiczne LUB
  3. .NEQV. — różnica symetryczna (również .XOR.)
  4. .EQV. — logiczna równoważność
  5. .NOT. — negacja (operator jednoargumentowy)

Tabele prawdy operatorów logicznych

Iloczyn logiczny

A\B 0 1
0 0 0
1 0 1

Suma logiczna

A\B 0 1
0 0 1
1 1 1

Różnica symetryczna

A\B 0 1
0 0 1
1 1 0

Logiczna równoważność

A\B 0 1
0 1 0
1 0 1