При виконанні програми здійснюється обробка даних, в ході якої за допомогою виразів обчислюються і використовуються різні значення. Вираз являє собою конструкцію, що визначає склад даних, операції і порядок виконання операцій над даними. Вираз складається з операндів. знаків операцій і круглих дужок. У найпростішому випадку вираз може складатися з однієї змінної або константи. Тип значення виразу визначається типом операндів і складом виконуваних операцій.
Операнди є дані, над якими виконуються дії. Як операнди можуть використовуватися константи, змінні, елементи масивів і функції.
Операції - це дії, які виконуються над операндами. Операції буваю унарними і бінарними. Унарна операція відноситься до одного операнд, і її знак записується перед операндом, наприклад, - x. Бінарна операція виражає відношення між двома операндами, і знак її записується між операндами, наприклад, x + y.
Круглі дужки використовуються для вказівки порядку виконання операцій.
Якщо в операціях використовується кілька даних, то їх типи повинні бути або ідентичними, або сумісними.
Залежно від типів операцій і операндів виразу можуть бути арифметичними, логічними і строковими.
Арифметичні вирази (АВ). Результатом виконання АВ є число, тип якого залежить від типів операндів, що становлять цей вислів. В АВ можна використовувати числові типи (цілочисельні і речові), арифметичні операції і функції, які повертають числове значення.
Тип значення АВ визначається типом операндів і операціями. Якщо в операції беруть участь цілочисельні операнди, то результат операції також буде целочисленного типу. Якщо хоча б один з операндів належить до матеріального типу, то результат також буде речовим. Винятком є операція ділення, результат якої завжди речовинний.
Унарні арифметичні операції + (Збереження знака) і - (Заперечення знака) відносяться до знаку числа і не змінюють типу числа.
Приклади. Нехай в програмі є рядки:
var a, b, c, d: integer; x, y: real;
c: = a div b; d: = a mod b; // c = 3, d = 1
y: = sin (a) + b / exp (x) - 12.5; // y = sin a + b / e x - 12,5
Над даними целочисленного типу можна виконувати також наступні побітові (порозрядні) операції:
o Shr - зсув вправо;
o And - І (арифметичне множення);
o Or - АБО (арифметичне додавання);
o Xor - арифметичне виключає АБО;
o Not - Чи не (арифметичне заперечення).
Особливістю побітових операцій є те, що вони виконуються над операндами поразрядно.
Приклади. Нехай в програмі є рядки:
var a, b, c, d: integer;
c: = Not a; // a = 0101, Not (0101) = 1010 = 10 дес.
d: = a And b; // b = 1001, 0101 And 1001 = 0001 = 1 дес.
Логічні вирази (ЛВ). Результатом виконання ЛВ є логічне значення True або False. Такі вирази найчастіше використовуються в умовних операторах і операторах циклу. Логічні вирази можуть містити:
o логічні змінні типу Boolean;
o операції порівняння (відносини);
o логічні операції;
o круглі дужки.
Для встановлення відносини між двома значеннями, заданими виразами, змінними або константами, використовуються наступні операції порівняння: =,<,>. <= ,>=,<>. Операції порівняння виконуються після обчислення відповідних виразів. Результатом операції порівняння є значення False. якщо відповідне ставлення не має місце, і значення True в іншому випадку.
Результат виконання логічних операцій при застосуванні їх до логічних виразів (операндам логічного типу) буде логічного типу (Boolean). Логічні операції And, Or, Xor є бінарними, операція Not - унарною.