Як вже повідомлялось, тип даних Сhar упорядкований. Це означає, що дані типу Сhar можна порівнювати, як і дані числових типів, за допомогою відношень:
= , <> , > , < , >= , <= .
Порядок на множині букв латинського алфавіту погоджений з алфавітним, а на множині цифр – з числовим.
Логічний тип даних Boolean буде описаний нижче, коли ми будемо вивчати поняття умови.
4.8. Поняття виразу. Значення виразу. Тип виразу
Вирази складаються з змінних, констант, функцій, знаків операцій у відповідності з загальноприйнятими математичними правилами. Точне поняття виразу у мові може бути визначено за допомогою синтаксичних діаграм.
Вираз задає порядок обчислення його значення, оснований на загальноприйнятих правилах. Ці правила визначають семантику виразу за допомогою поняття старшинства (пріоритету) операцій. Найбільший пріоритет мають функції і логічна операція not, далі слідують мультиплікативні операції, адитивні операції і відношення. Операції, які мають більший пріоритет, виконуються раніше, ніж операції з меншим пріоритетом.
Таблиця пріоритетів.
Функції, not.
Мультиплікативні операції: * , / ,div , mod , and
Аддитивні операції: : + , - , or
Відношення: = , <> , > , < , >= , <= , in
Операції одного пріоритету обчислюються зліва направо. Це відповідає групуванню дужок у бездужковому виразі уліво.
a + b + c = (a + b) + c, a * b * c = (a * b) * c
Вирази, що стоять у дужках, обчислюються незалежно один від одного.
Важливо розуміти, що в ході обчислення значення виразу кожний проміжний результат – дане деякого типу, точно визначеного знаком операції або функції і типами операндів. Будь-яка невідповідність типу значення операнду приведе до помилки, яка виявляється компілятором при синтаксичному аналізі. Наочне уявлення про структуру виразу дає так зване дерево виразу. Наприклад, вираз sin(x+pi/2) - cos(2*y-pi) може бути представлений у виді дерева:
Обчислення значення виразу здійснюється у відповідності з рухом по гілках від листів до кореня – знизу вгору.
4.9. Розділ операторів. Оператор присвоювання
Дії, що роблять над даними, описуються у розділі операторів.
Синтаксична діаграма розділу операторів має вид:
Розділ