Предыдущая версия справа и слева
Предыдущая версия
|
Следующая версия
Следующая версия справа и слева
|
bb:redbook:213 [2016/09/08 10:08] prospero78 [2. Ключевые слова модуля] |
bb:redbook:213 [2016/09/08 10:11] prospero78 [3. Арифметические и логические операции] |
| |
==== 3. Арифметические и логические операции ==== | ==== 3. Арифметические и логические операции ==== |
Здесь будут рассмотрены только обойдённые внимание операции. | Здесь будут рассмотрены только обойдённые вниманием операции. |
- MOD -- бывает весьма полезная операция для поиска остатка при целочисленном делении. Можно вычислить остаток и через программное решение, но оно гарантированно будет более медленней. Пример: 5 MOD 3 = 2. | - ''MOD'' -- бывает весьма полезная операция для поиска остатка при целочисленном делении. Можно вычислить остаток и через программное решение, но оно гарантированно будет более медленней. Пример: ''5 MOD 3 = 2''. |
- DIV -- также весьма полезная операция для целочисленного деления (т.е. когда оба операнда имеют целочисленный тип, и результат имеет его же). Также работает заметно быстрее, чем операции над вещественными числами. Пример: 5 DIV 3 = 1. Разумеется, точность страдает, но бывает это приемлемо. | - ''DIV'' -- также весьма полезная операция для целочисленного деления (т. е. когда оба операнда имеют целочисленный тип, и результат имеет его же). Также работает заметно быстрее, чем операции над вещественными числами. Пример: ''5 DIV 3 = 1''. Разумеется, точность страдает, но бывает это приемлемо. |
- ~[число] -- "выворачивает" число. Инвертирует все биты. | - ''~[число]'' -- //выворачивает// число. Инвертирует все биты. |
- OR -- логическое сложение чисел, бывает полезным, например, при наложении изображений. Пример: 3 OR 2 = 3. | - ''OR'' -- логическое сложение чисел, бывает полезным, например, при наложении изображений. Пример: ''3 OR 2 = 3''. |
- & -- логическое умножение (читается "амперсанд"). Бывает полезным при, например: шифровании, обработки изображений. Пример: 5 & 3 = 1. | - ''&'' -- логическое умножение (читается "амперсанд"). Бывает полезным при, например: шифровании, обработки изображений. Пример: ''5 & 3 = 1''. |
- IN -- принадлежность к множеству. Не путать с параметрами на вход в процедурах! Пример: 6 in a. Где а: ARRAY 1000 OF BYTE (или ещё чего-нибудь). Если значение 6 содержаится в массиве а, то результатом этого выражения будет TRUE, в противном случае FALSE. | - ''IN'' -- принадлежность к множеству. Не путать с параметрами на вход в процедурах! Пример: ''6 in a''. Где ''а: ARRAY 1000 OF BYTE'' (или ещё чего-нибудь). Если значение 6 содержится в массиве ''а'', то результатом этого выражения будет ''TRUE'', в противном случае ''FALSE''. |
- IS -- принадлежность к типу. Бывает полезным узнать во время выполнения программы к какому типу относится переменная. Используется вместо с оператором выбора типа WITH . Аналогично с предыдущим ключевым словом результатом вычисления является TRUE или FALSE. Оператор IS вводит в Компонентный Паскаль возможности интроспекции (исследование "системы во внутрь"). | - ''IS'' -- принадлежность к типу. Бывает полезным узнать во время выполнения программы к какому типу относится переменная. Используется вместо с оператором выбора типа ''WITH'' . Аналогично с предыдущим ключевым словом результатом вычисления является ''TRUE'' или ''FALSE''. Оператор ''IS'' вводит в **Компонентный Паскаль** возможности интроспекции (исследование "системы во внутрь"). |
- ASSERT -- оператор охраны. Вызывает системное исключение, если выражение скобках не соответствует истине. Например, ASSERT((10<i) & (i<20), 20). Системное исключение возникнет тогда, когда i будет меньше или равно 10 и больше или равно 20. | - ''ASSERT'' -- оператор охраны. Вызывает системное исключение, если выражение скобках не соответствует истине. Например, ''ASSERT((10<i) & (i<20), 20)''. Системное исключение возникнет тогда, когда ''i'' будет меньше или равно 10 и больше или равно 20. |
| |
| |