[1] 15
9 Арифметичні та логічні оператори
9.1 Арифметичні оператори
R
можна використовувати як звичайни калькулятор.
Розглянемо набір звичних арифметичних операторів, що відомі з початкової школи:
- Додавання:
+
. - Віднімання:
-
. - Ділення:
/
. - Множення:
*
.
А також більш складні оператори:
- Піднесення до степеня:
^
(вводиться з клавіатури якShift+6
на ENG-розкладці клавіатури). - Остача від ділення (ще може називатися “ділення по модулю”):
%%
(вводиться з клавіатури якShift+5
). - Ділення націло:
%/%
.
Розглянемо приклад додавання чисел:
Примітка. Використання “круглих” дужок у прогрмуванні виразах має пріоритет аналогічний до загальноприйнятих у математиці.
Розглянемо приклад віднімання чисел:
Примітка. Заміна знаків до/в “дужках” тут працює так само як працювала у школі :)
Приклади множення чисел:
Приклади ділення чисел:
Піднесення до степеня за допомогю оператора ^
є досить простим. Так, наприклад, 3^2
(у математиці записується як \(3^2\)) дорівнює 9, а 2^3
- це 2*2*2
і дорівнює 8.
Остача від ділення дозволяє знайти залишок одного числа від ділення на інше число.
Наприклад, остача від ділення націло 5 на 2 дорівнює 1, бо 2 * 2 (=4) + 1 = 5
Примітка. Пробіли між цифрами та операторами можна не лишати, це робиться для зручності візуального сприйняття коду.
Ділння націло залишає лише цілу частину від ідленнядвох чисел:
9.2 Оператори відношення
Оператори відношення відповідають за порівнняння двох об’єктів між собою та повертають значення логічного типу TRUE
, якщо результат істинний та FALSE
, якщо результат хибний.
Перелік операторів відношення:
- Більше або дорівнює
>=
. - Менше
<
. - Менше або дорівнює
<=
. - Дорівнює
==
. - Не дорівнює
!=
Для демонстрації принципів роботи операторів відношення оголосимо 3 змінні a
, b
та c
.
Розгялнемо кілька прикладів використання описаних вище операторів.
Оператори, що відповідають за первірку на “більше/менше”:
Оператори, що відповідають за перевірку на “рівність/нерівність”:
9.3 Логічні оператори
До логічних операторів у R
відносяться:
-
&
- І (амперсант,Shift-7
) - виконання усіх умов одночасно. -
|
- АБО (вертикальна риска,Shift+\
) - виконання однієї із умов. -
!
- НЕ (знак оклику,Shift+1
) - заперечення.
Зверніть увагу, що у R існують також і оператори &&
та ||
. Це також логічні оператори І та АБО. Проте їх відмінність полягає у тому, що “розширені” оператори порівнюють лише перші елементи векторів, у той час як “скорочені” усі елементи:
[1] 5 8 10
[1] 3 2 5
[1] FALSE TRUE TRUE
Важливо розуміти відмінності між цими операторами вміти використовувати результи їх роботи. Для початку варто розглянути таблицю істинності:
A | B | Оператор І | Оператор АБО | Заперечення A (не A) |
---|---|---|---|---|
FALSE | FALSE | FALSE | FALSE | TRUE |
FALSE | TRUE | FALSE | TRUE | TRUE |
TRUE | FALSE | FALSE | TRUE | FALSE |
TRUE | TRUE | TRUE | TRUE | FALSE |
Приклади використання логічних операторів зображені нижче.
Оператор І (and
):
[1] TRUE
[1] FALSE
[1] FALSE
[1] FALSE
Оператор АБО (or
):
Приклади виконання завдань
Завдання 1. Ділення по модулю
Яким буде результат виконання наступних команд?
Результат:
Пояснення: \(a\) %% \(b = 2\), бо остача від ділення \(10\) на \(4\) рівна \(2\), а \(2 > 0 = true\).
Завдання 2. Ділення по модулю
Яким буде результат виконання наступних команд?
Підзавдання 1:
Результат:
Підзавдання 2:
Результат:
Підзавдання 3:
Результат: