Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прості типи даних.docx
Скачиваний:
2
Добавлен:
15.11.2019
Размер:
38.93 Кб
Скачать

2.4. Операції і вирази

Операції визначають дії за допомогою яких здійснюється обробка інформації комп’ютером. Послідовність дій визначається за допомогою виразу. . Вираз – це форма запису, що вказує, які потрібно взяти операнди і які виконати над ними операції, щоб обчислити значення виразу.

За кількістю операндів розрізняють унарні і бінарні операції. Унарні операції мають один операнд, а бінарні два. Більшість операцій є бінарними.

По характеру виконуваних дій операції можна розділити на такі групи:

  • Арифметичні операції: +, -, *, /, div, mod. Операції +, - можуть унарними. Тип операндів може бути дійсним або цілим, результат буде дійсним або цілим. Результат операції / (ділення) цілих або дійсних даних буде тільки дійсним. Операнди в операціях div (ціла частина від ділення, наприклад, 5 div 2 =2) і mod (остача від ділення, наприклад, 5 mod 2 = 1) тільки цілі і результат буде цілим.

  • Операції відношення: =, <>, >, <, >=, <=. Тип операндів з цими операціями повинен бути сумісним це прості типи, символьні рядки, а в операціях =, <> і вказівний тип. Результат операцій відношення бульвого типу false або true.

  • Бульові операції: not – заперечення, and – кон’юнкція (логічне множення), or – диз’юнкція (логічне додавання), xor – додавання за модулем два. Операція not є унарною. Бульові операції виконуються за правилами бульової алгебри Табл..2.5. Операнди з бульовими операціями повинні бути бульового типу і результат також буде бульового типу.

  • Порозрядні логічні операції і зсуви not, and, or, xor, shl, shr. Операнди з порозрядними логічними операціями і зсувами тільки цілого типу. Порозрядні логічні операції виконуються над кожним розрядом за правилами бульової алгебри. Операція А shl В приводить до зсуву числа А на В розрядів вліво, а А shr В відповідно на В розрядів вправо. Результат порозрядних логічних операцій і зсувів є цілого типу.

Табл..2.5.

Операнди

Операції

A

B

Not A

A and B

A or B

A xor B

false

False

True

False

false

false

false

True

True

False

true

true

true

False

False

False

true

true

true

True

False

True

true

false

  • Операція конкатенація +. Операндами з операцією конкатенація є дані символьного типу або символьні рядки. Результатом цієї операції є символьний рядок.

  • Операції над множинами: + – об’єднання множин, - – різниця множин, * – переріз множин, = – еквівалентність множин, <> – не еквівалентність множин, >= – перевірка входження однієї множини в іншу, <= – перевірка входження однієї множини в іншу, in – перевірка належності елемента множині. Результатом операцій +, -, * є множина, а операцій =, <>, >=, <= значення бульового типу true або false.

  • Унарна операція @ взяття адреси. Операндом цієї операції може бути ідентифікатор змінної, процедури, функції, або методу. Тип результату вказівник сумісний з NIL.

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

Вирази обчислюються зліва направо з врахуванням пріоритетів операцій, порядком розміщення операцій і дужок.

Серед операцій встановлено такий пріоритет:

  • звернення до функцій;

  • унарні +, -, not, @;

  • мультиплікативні *, /, div, mod, and, shl, shr;

  • адитивні +, -, or, xor;

  • відношення =, <>, <, >, <=, >=, in.

Приклад 2.1. Визначити порядок виконання дій у виразі

,

1. ,

2. sin(x),

3. 5* sin(x),

4. +5* sin(x),

5. 6*x,sqr(x),

6. (6*x+sqr(x)),

7. 7*(6*x+sqr(x)),

8. +5* sin(x)- 7*(6*x+sqr(x)),

9. +5* sin(x)- 7*(6*x+sqr(x))-5.