Читать «Язык программирования Euphoria. Справочное руководство» онлайн - страница 10

Автор неизвестен

8 <= 7 -- 8 меньше чем или равно 7 (0,нет)

4 >= 4 -- 4 больше чем или равно 4 (1, да)

1 = 10 -- 1 равно 10 (0, нет)

8.7 != 8.8 -- 8.7 не равно 8.8 (1, да)

Как мы скоро увидим, эти операции могут выполняться и с рядами.

2.2.2 Логические операции

Логические операции выполняются в выражениях с помощью операторов and (И), or (ИЛИ), xor (НО), и not (НЕ), результатом работы каждого из которых является "истинность" или "ложность" выражения, 1 или 0, то есть:

1 and 1 -- 1 (истина, да)

1 and 0 -- 0 (ложь, нет)

0 and 1 -- 0 (ложь, нет)

0 and 0 -- 0 (ложь, нет)

1 or 1 -- 1 (истина, да)

1 or 0 -- 1 (истина, да)

0 or 1 -- 1 (истина, да)

0 or 0 -- 0 (ложь, нет)

1 xor 1 -- 0 (ложь, нет)

1 xor 0 -- 1 (истина, да)

0 xor 1 -- 1 (истина, да)

0 xor 0 -- 0 (истина, да)

not 1 -- 0 (ложь, нет)

not 0 -- 1 (истина, да)

Вы можете применять эти операторы также к другим числам. Правило такое: нуль означает ложь (нет), не-нуль означает истину (да). Например:

5 and -4 -- 1 (истина, да)

not 6 -- 0 (ложь, нет)

Эти операции также могут применяться и к рядам. См. ниже.

В некоторых случаях выполняется так называемая укороченная проверка истинности. Укороченная проверка производится в выражениях, содержащих операторы and или or.

2.2.3 Арифметические операции

В выражениях Euphoria доступны обычные арифметические операции: сложение, вычитание, умножение, деление, унарный минус, унарный плюс.

3.5 + 3 -- 6.5

3 - 5 -- -2

6 * 2 -- 12

7 / 2 -- 3.5

-8.1 -- -8.1

+8 -- +8

Вычисление результата, который оказывается слишком большим (т.е. вне диапазона от -1e300 до +1e300), порождает один из специальных атомов +infinity (+бесконечность) или -infinity (-бесконечность). На экране эти атомы отображаются как inf или -inf, если результат выводится на печать. Возможно также получение nan или -nan. "nan" означает "not a number" - "не число", т.е. некоторая неопределенная величина (такая как inf деленная на inf). Эти специальные значения введены в Euphoria на основании стандарта IEEE по вычислениям с плавающей точкой. Если вы находите одну из этих специальных величин среди результатов счёта по вашей программе, то обычно это является признаком ошибки в логике вашей программы, хотя inf как промежуточный результат иногда и допустим. Например, 1/inf равно 0, и это может быть "правильным" ответом в вашем алгоритме.

Деление на нуль, как и недопустимые аргументы в математических подпрограммах, например, квадратный корень из отрицательного числа или логарифм неположительного числа и т.п. ошибки, вызывают немедленную аварийную остановку вашей программы с сообщением об ошибке.

Единственной причиной, по которой вам может понадобиться унарный плюс, является желание особо подчеркнуть для читателя вашей программы, что некоторая величина именно положительная, и не иначе. Интерпретатор же не выполняет никаких действий, встретив унарный плюс.

2.2.4 Операции на рядах

Все операции (сравнения, логические и арифметические), описанные выше, равно как и математические подпрограммы, описанные в документе Часть II - Библиотека подпрограмм, могут быть применены к рядам и к отдельным числам (атомам).