Операції , операнди та вирази

В мові програмування Паскаль для виконання дій над даними існують операції.
Операції – це дії, що виконуються над даними (операндами).
Операції позначаються спеціальними символами чи групами символів.
Наприклад у виразі x + y змінні x, y - це операнди, а “+” – це символ, що означає операцію додавання. Якщо операція застосовується одночасно до двох операндів, то вона називається бінарною (наприклад додавання чи віднімання ), а якщо тільки до одного оператора, то вона називається унарною (наприклад символ “-“ у позначенні від’ємного числа).
Кожна операція може застосовуватись лише до операндів певних типів.
Дозволені в мові програмування Паскаль операції умовно можна розділити на кілька груп :
• арифметичні операції;
• операції відношення;
• логічні (булевські) операції ;
• інші операції.
Арифметичні операції можуть застосовуватись до операндів цілого та дійсного типу
Таблиця 1.







З таблиці  видно, що результат арифметичних операцій над даними цілого типу є цілим, а результат арифметичних операцій над даними дійсного типу є дійсним. Винятком є лише операція ділення, результат якої завжди має дійсний тип.
Зміст арифметичних операцій аналогічний відповідним операціям математики і не потребує пояснень за винятком операцій цілочисельного ділення та залишку від ділення. Результатом операції цілочисельного ділення буде ціле число, яке утворюється за рахунок відкидання дробової частини від результату звичайного ділення.
Наприклад результатом операції
(5 div 3) буде ціле число 1.
Результат операції залишку від ділення (i mod n) може бути обчислений з виразу (i-(i div n)*n). Наприклад  результатом виконання операції (5 mod 3) буде число 2.
Для всіх типів даних дозволені операції відношення.
Операції відношення – це бінарні операції, що використовуються для порівняння двох операндів однакового типу, і результат їх виконання має логічний тип :
 = - операція перевірки на рівність. Результатом є true , якщо операнди рівні між собою або false в іншому випадку;
<> - операція перевірки на не рівність операндів. Результатом є true , якщо операнди не рівні між собою або false в іншому випадку;
> - операція перевірки чи перший операнд більший за другий. Результатом є true , якщо перший операнд більший за другий, інакше результат - false;
< - операція перевірки чи перший операнд менший за другий. Результатом є true , якщо перший операнд менший за другий, інакше результат - false;
>= - операція більше або дорівнює. Результатом є true , якщо перший операнд більший за другий або дорівнює йому, інакше результат - false;
<= - операція менше або дорівнює. Результатом є true , якщо перший операнд менший за другий або рівний йому, інакше результат - false.
Для даних цілого і логічного типів можуть застосовуватись логічні операції.
Таблиця 2





Перша логічна операція в таблиці 2 – це унарна операція. Її дія полягає в тому, що вона змінює логічне значення на протилежне.
Наприклад, якщо а - логічна змінна, що має значення true, то результатом операції (not a) буде false.
Всі інші логічні операції – бінарні. Для їх використання необхідно два операнди. Результат дії бінарних логічних операцій при різних значеннях операндів наведено в таблиці 3. Логічні операції можуть застосовуватись також до даних цілого типу (таблиця 2). В цьому випадку результатом логічної операції є також ціле число, біти якого формуються із бітів операндів за правилами наведеними в таблиці 4.
Таблиця 3






Таблиця 4 Правила побітової дії логічних операцій







Результатом дії операції not на ціле число буде ціле число, біти якого зміняться на протилежні (нулі стануть одиницями, а одиниці нулями).
Розглянемо приклади:
a:= not 1; {a=254}
a:=1 or 2; {a=3}
a:=1 and 3; {a=1}
Окрім арифметичних та логічних операцій в Паскалі дозволені операції зсуву, наведені в таблиці 5.
Таблиця 5 Операції зсуву




Операції зсуву – бінарні операції.
Перший операнд визначає величину, у якій потрібно виконати побітний зсув, а другий операнд вказує величину цього зсуву . При цьому біти, що звільнюються, заповнюються нулями, а значення бітів, що вийшли за межі початкової величини втрачається.
Наприклад:
b:=5 shl 2; {b=20}
a:=1;
b:=255 shl a; {254}
b:=255 shr 1; {126}
b:=255 shr 9; {0}
Операнди і операції формують вирази. У найпростішому випадку вираз може складатися лише з однієї унарної операції. Операції у виразі виконуються у порядку їхнього пріоритету
Таблиця 6 Пріоритет операцій






Операції з однаковим пріоритетом виконуються зліва направо. Для зміни порядку виконання операцій використовують круглі дужки, оскільки операції, що містяться в дужках, виконуються в першу чергу (мають вищий пріоритет).

Немає коментарів:

Дописати коментар