LibKing » Книги » comp-programming » W Cat - Язык программирования Euphoria. Справочное руководство

W Cat - Язык программирования Euphoria. Справочное руководство

Тут можно читать онлайн W Cat - Язык программирования Euphoria. Справочное руководство - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Язык программирования Euphoria. Справочное руководство
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.25/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

W Cat - Язык программирования Euphoria. Справочное руководство краткое содержание

Язык программирования Euphoria. Справочное руководство - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».


Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.

[Материал из Википедии]

Язык программирования Euphoria. Справочное руководство - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования Euphoria. Справочное руководство - читать книгу онлайн бесплатно, автор W Cat
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

Чуть позже мы приведем множество других примеров.

2.2.1 Операции сравнения

Операции сравнения выполняются в выражениях с помощью операторов <, >, <=, >=, =, !=, результатом работы каждого из которых является 1 (истина, да) или 0 (ложь, нет).

8.8 < 8.7 -- 8.8 меньше чем 8.7 (0,нет)

-4.4 > -4.3 -- -4.4 больше чем -4.3 (0,нет)

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 - Библиотека подпрограмм, могут быть применены к рядам и к отдельным числам (атомам).

Будучи применённой к ряду, унарная (для одного операнда) операция фактически применяется к каждому элементу ряда, и результирующий ряд имеет ту же самую длину. Если какой-то из элементов ряда сам по себе является рядом, это правило действует снова, рекурсивно, по отношению к каждому элементу вложенного ряда. То есть,

x = -{1, 2, 3, {4, 5}} -- x равно {-1, -2, -3, {-4, -5}}

Если бинарная (для двух операндов) операция применяется по отношению к операндам, каждый из которых является рядом, то эти два ряда должны иметь одинаковую длину. Если условие одинаковости длины рядов выполнено, бинарная операция производится над соответствующими элементами рядов, взятыми из этих двух рядов для формирования результирующего ряда. То есть,

x = {5, 6, 7, 8} + {10, 10, 20, 100}

-- x равно {15, 16, 27, 108}

Если в бинарной операции участвуют два операнда, один из которых является рядом, а второй - единственным числом (атомом), этот атом эффективно повторяется для формирования ряда с длиной, равной длине первого операнда. Затем применяются правила, действующие в отношении двух рядов. Некоторые примеры:

y = {4, 5, 6}

w = 5 * y -- w равно {20, 25, 30}

x = {1, 2, 3}

z = x + y -- z равно {5, 7, 9}

z = x < y -- z равно {1, 1, 1}

w = {{1, 2}, {3, 4}, {5}}

w = w * y -- w равно {{4, 8}, {15, 20}, {30}}

w = {1, 0, 0, 1} and {1, 1, 1, 0} -- w равно {1, 0, 0, 0}

w = not {1, 5, -2, 0, 0} -- w равно {0, 0, 0, 1, 1}

w = {1, 2, 3} = {1, 2, 4} -- w равно {1, 1, 0}

-- обратите внимание, что первый символ '=' - это команда присваивания,

-- а второй символ '=' - это оператор сравнения, проверяющий равенство

-- соответствующих элементов рядов попарно с формированием ряда результатов

-- сравнения, полученных для каждой из пар элементов

Примечание:В вопросе сравнения рядов Euphoria имеется одна не вполне и не сразу заметная тонкость. Когда вы хотите сравнить две строки (или два других ряда), здесь, в отличие от некоторых других языков, неследует использовать оператор '=':

if "APPLE" = "ORANGE" then -- ОШИБКА!

В выражении, стоящем после команды "if" (если), символ '=' трактуется как бинарный оператор (сравнения), подобно другим бинарным операторам вроде '+', '*' и т.д., следовательно, он применяется к соответствующим парам элементов рядов, и эти ряды должны иметь одинаковую длину. Когда условие равенства длин операндов соблюдено, формируется ряд результатов сравнения, состоящий из нулей и единиц, но когда длины не равны, вы получите сообщение об ошибке в вашей программе. С другой стороны, команда "if" ожидает результат вычисления выражения, подаваемого в эту команду, в виде атома, а не ряда, то есть, и при равенстве длин рядов вы получите сообщение об ошибке в вашей программе. Для получения результата сравнения рядов в виде интегральной (число), а не поэлементной (ряд), характеристики, необходимо использовать встроенную функцию equal() (равно):

if equal("APPLE", "ORANGE") then -- ПРАВИЛЬНО

В общем-то, для несколько более полного сравнения рядов имеется ещё и встроенная функция compare() (сравнить):

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования Euphoria. Справочное руководство отзывы


Отзывы читателей о книге Язык программирования Euphoria. Справочное руководство, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img