В математиці вираженням є формула, що відбиває математичні відносини. У мовах програмування замість “формула” говорять “вираження”. У порівнянні з математичними поняттям вираження має свої особливості: воно складається з констант, змінних, функцій і операцій над ними.
Вираження визначають порядок виконання операцій. Операції визначають дії, які треба виконати над операндами.
Часто вираженням є константа, перемінна чи функція.
При складанні виражень необхідно дотримуватись наступних правил.
Вираження записуються в один рядок. Верхні і нижні індекси не допускаються. Наприклад, формула:
повинна бути записана у виді вираження:
У вираженні неможна застосовувати квадратні і фігурні дужки, тому що вони мають інше призначення. Використовуються тільки круглі дужки. Наприклад, математичне вираження:
варто записати у вигляді
Якщо вираження записане правильно, то кількість дужок, що відкриваються, дорівнює числу закриваючих дужок. Зайві правильно поставлені дужки не впливають на результат.
Неможна записувати підряд два знаки операцій. Наприклад, вираження:
a+b/-c записано невірно; його варто записати у видгляі
a+b/(-c).
Складні вираження потрібно розбивати на декілька простих, а повторювані дії обчислювати окремо. Наприклад, вираження:
(a+bx)-2(a+bx)+c(a+bx) варто записати в такий спосіб
x:=a+b*x
z:=y-2*y+c*y
Вираження може бути арифметичним і логічним. При виконанні операції у вираженнях слід дотримуватися пріоритету операцій (табл. 8.1).
Таблиця 8.1. Пріоритет операцій.
Пріоритет
| Тип дій
| Операції або елементи
|
| Обчислення в круглих дужках
Обчислення значень функції
Унарні операції
Мультимедійні операції
Аддитивні операції
Операції відношень
| ( )
Функції
@, not, унарні + та -
*, /,div, mod, and, shl, shr
+ , -, or, xor
=, <>, <, >, <=, >=, in
|
Пріоритет операторів визначаються за наступними правилами:
Операнд, що знаходиться між двома операндами з різними пріоритетами, зв'язується з оператором, що має більш високий пріоритет.
Операнд, що знаходиться між двома операторами з рівними пріоритетами, зв'язується з оператором, що знаходиться ліворуч його.
При наявності дужок спочатку виконується дії в них, при цьому, виконання варто починати з дій у самих внутрішніх дужках.
Операції, зазначені в одному рядку, мають однаковий пріоритет.
Розглянемо приклад. Дано логічне вираження:
(a > 3) and (b = a + 6) or not (c = 4)
Визначити його результат при А = 2, В=8, С=5.
Порядок виконання операцій наступний:
Виконується операція порівняння А>С у перших дужках, її результат False, тому що 2<3;
Виконується дія в других дужках з дотриманням пріоритету – спочатку обчислюється значення А+6, а потім значення В порівнюється зі значенням А+6. Результат – True тому що 8=8;
Виконується операція порівняння С = 4 у третіх дужках, її результат False, тому що 5 не дорівнює 4;
Виконується операція Not (С = 4), її результат True, тому що Not False є True;
Виконується операція And над першими і другими дужками - False And True, результат її True;
Виконується операція Or над вираженням ліворуч і праворуч від неї - False Or True, результат її True;
Отже, остаточний результат логічного вираження – True.
Приклад. Визначення значень логічних змінних У1, У2, У3.